app
Fusion - the Fusion 360 Bridge
Public Made by Adomby adom
Drive Autodesk Fusion 360 from the cloud via Adom Bridge: component libraries, IPC package generation, board layout, exports (STEP/Gerbers/BOM/CPL), fast APS cloud search, and parametric modeling.
← Commit history
Update 10 file(s)
10 files changed
+27−9
BRIDGE_VERSION+1−1@@ -1 +1 @@-1.12.5+1.12.6
CHANGELOG.md+6@@ -3,6 +3,12 @@ All notable changes to the Adom Bridge Fusion 360 bridge, newest first. Canonical: https://wiki.adom.inc/adom/fusion-bridge ยท GitHub backup: `adom-inc/fusion-bridge` +## 1.12.6 (2026-10-27, insiders)++- The board verbs bring the named design's board forward when its schematic, 3D PCB or another document is in front,+ instead of refusing with "Activate a PCB board" (an error the bridge can fix itself). Found by running the checks+ right after the daily suite, which leaves the 3D PCB in front.+ ## 1.12.5 (2026-10-27, insiders) The checks tier through the EDA Bridge Standard's shared engine. 256 verbs.
bridge.json+1−1@@ -2,7 +2,7 @@ "manifest_version": 1, "name": "fusion360", "displayName": "Autodesk Fusion 360",- "version": "1.12.5",+ "version": "1.12.6", "description": "Drive Autodesk Fusion 360 from the cloud: launch Fusion, electronics board layout, design rules, exports (STEP/IGES/STL/3MF/USDZ/OBJ/DXF/DWG/Gerbers/BOM/CPL), fast APS server-indexed cloud search plus browse/recent/file-info/versions, cloud file download/upload and folder creation, and in-app parametric modeling (fusion_run_modeling_script). Never-charge: APS calls are capped to the free tier.", "homepage": "https://wiki.adom.inc/adom/fusion-bridge", "author": "Adom Inc.",
dashboard/Cargo.lock+1−1@@ -4,7 +4,7 @@ version = 4 [[package]] name = "fusion-dashboard"-version = "1.12.5"+version = "1.12.6" dependencies = [ "serde_json", ]
dashboard/Cargo.toml+1−1@@ -1,6 +1,6 @@ [package] name = "fusion-dashboard"-version = "1.12.5"+version = "1.12.6" edition = "2021" [dependencies]
install.sh+1−1@@ -21,7 +21,7 @@ echo "Installed fusion-bridge skills: $(ls "$PKG_DIR/skills" 2>/dev/null | tr '\ # binary (the three-artifact pattern: bridge zip -> ab, THIS pkg -> container skills + # this download, page media -> wiki). Per the wiki's PKG_VS_RELEASE policy, binaries are # platform-tagged RELEASE assets, never tarball content - the installer fetches them.-DASH_VERSION="1.12.5"+DASH_VERSION="1.12.6" DASH_URL="https://wiki.adom.inc/download/adom/fusion-bridge/${DASH_VERSION}/fusion-dashboard" DEST="" if [ -w /usr/local/bin ]; then DEST=/usr/local/bin
package.json+1−1@@ -1,6 +1,6 @@ { "slug": "fusion-bridge",- "version": "1.12.5",+ "version": "1.12.6", "type": "app", "description": "This package installs the bridge's SKILLS into your container so your AI knows how to drive it; Adom Bridge loads the bridge runtime itself from the release zip.", "dependencies": {
page.json+2−2@@ -1,6 +1,6 @@ { "slug": "fusion-bridge",- "version": "1.12.5",+ "version": "1.12.6", "type": "app", "description": "This package installs the bridge's SKILLS into your container so your AI knows how to drive it; Adom Bridge loads the bridge runtime itself from the release zip.", "dependencies": {@@ -143,4 +143,4 @@ "name": "John Lauer", "email": "[email protected]" }-}+}
rust/Cargo.toml+1−1@@ -4,7 +4,7 @@ members = ["core", "lbr", "os-win", "os-mac", "bridge"] # One version for the whole bridge, in lockstep with BRIDGE_VERSION (tools/release.sh bumps both). [workspace.package]-version = "1.12.5"+version = "1.12.6" edition = "2021" license = "MIT"
rust/bridge/src/routing_script.py+12@@ -66,6 +66,18 @@ def show_tab_of(app, doc): def snapshot(app, args): doc = app.activeDocument+ if (not doc or app.activeProduct.productType != 'BoardProductType') and args.get('expectDocument'):+ # the named design's board, when its schematic, 3D PCB or another document is in front:+ # bring the board's tab forward rather than refuse (an error the bridge can fix itself)+ docs = [app.documents.item(i) for i in range(app.documents.count)]+ def pt(d):+ try: return d.products.item(0).productType if d.products.count else ''+ except Exception: return ''+ boards = [i for i, d in enumerate(docs) if d.name == args['expectDocument'] and pt(d) == 'BoardProductType']+ if len(boards) == 1:+ docs[boards[0]].activate()+ app.executeTextCommand('UI.SwitchToTab %d' % boards[0])+ doc = app.activeDocument if not doc or app.activeProduct.productType != 'BoardProductType': fail('wrong_document', 'Activate a PCB board before reading or routing it') show_tab_of(app, doc)