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 12 file(s)
12 files changed
+24−23
BRIDGE_VERSION+1−1@@ -1 +1 @@-1.13.80+1.13.81
CHANGELOG.md+5−1@@ -3,9 +3,13 @@ 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.13.81 (2026-11-05)++`drawing_export` with `close:true` closes the drawing again: 1.13.80's review change left it open, because ending Edit Auto Dimensions marks the drawing modified. Only the command-name check from that review stays.+ ## 1.13.80 (2026-11-05) -2D drawings (PR #43 by Drew Owens). `drawing_create` makes Fusion's automatic drawing of a saved design (sheets, base, projected and isometric views, title block, automatic dimensions), with standard, units, sheet size, views, style and folder options, and refuses an unsaved or still-uploading design before any cloud write. `drawing_export` writes PDF, DWG and DXF (with the scale the layout chose, read from the DXF) over several calls: it opens the drawing visibly, ends Fusion's Edit Auto Dimensions command, and exports only when the drawing engine is idle, because an export sent too early blocks Fusion for 10 minutes. `drawing_status` reads readiness, sheets and views. It uses Fusion's preview drawing API and refuses with `unsupported_capability` on a Fusion without it. In review: only Fusion's own Edit Auto Dimensions command is ever ended, and `close:true` leaves a drawing someone edited open. Add-in 1.0.39: Fusion needs one restart.+2D drawings (PR #43 by Drew Owens). `drawing_create` makes Fusion's automatic drawing of a saved design (sheets, base, projected and isometric views, title block, automatic dimensions), with standard, units, sheet size, views, style and folder options, and refuses an unsaved or still-uploading design before any cloud write. `drawing_export` writes PDF, DWG and DXF (with the scale the layout chose, read from the DXF) over several calls: it opens the drawing visibly, ends Fusion's Edit Auto Dimensions command, and exports only when the drawing engine is idle, because an export sent too early blocks Fusion for 10 minutes. `drawing_status` reads readiness, sheets and views. It uses Fusion's preview drawing API and refuses with `unsupported_capability` on a Fusion without it. In review: only Fusion's own Edit Auto Dimensions command is ever ended. Add-in 1.0.39: Fusion needs one restart. ## 1.13.79 (2026-11-05)
addin/AdomBridge/commands/mechanical/drawings.py+2−5@@ -425,11 +425,8 @@ def close_drawing(app, doc, file_id): references = {refs.item(i).dataFile.id for i in range(refs.count) if refs.item(i).dataFile is not None} except Exception: pass- if doc.isModified:- # someone changed the drawing since this session opened it: leave it (and its design) open for them- if record.get("previous") is not None and record["previous"].isValid:- record["previous"].activate()- return []+ # the drawing reads as modified once its Edit Auto Dimensions command ends (live, 2026-11-05), so+ # isModified cannot tell a person's edits from that; it is closed unsaved as Drew wrote it doc.close(False) closed = [file_id] before = record.get("before") or set()
bridge.json+1−1@@ -2,7 +2,7 @@ "manifest_version": 1, "name": "fusion360", "displayName": "Autodesk Fusion 360",- "version": "1.13.80",+ "version": "1.13.81", "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.13.80"+version = "1.13.81" dependencies = [ "serde_json", ]
dashboard/Cargo.toml+1−1@@ -1,6 +1,6 @@ [package] name = "fusion-dashboard"-version = "1.13.80"+version = "1.13.81" 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.13.80"+DASH_VERSION="1.13.81" 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.13.80",+ "version": "1.13.81", "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.13.80",+ "version": "1.13.81", "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": {@@ -152,4 +152,4 @@ "confirmed_user_skills": [ "fusion-design-efficiency" ]-}+}
rust/Cargo.lock+5−5@@ -19,7 +19,7 @@ dependencies = [ [[package]] name = "adom-fusion-bridge"-version = "1.13.80"+version = "1.13.81" dependencies = [ "adom-eda-checks", "base64",@@ -299,7 +299,7 @@ dependencies = [ [[package]] name = "fusion-core"-version = "1.13.80"+version = "1.13.81" dependencies = [ "serde", "serde_json",@@ -310,7 +310,7 @@ dependencies = [ [[package]] name = "fusion-lbr"-version = "1.13.80"+version = "1.13.81" dependencies = [ "regex", "roxmltree",@@ -322,14 +322,14 @@ dependencies = [ [[package]] name = "fusion-os-mac"-version = "1.13.80"+version = "1.13.81" dependencies = [ "fusion-core", ] [[package]] name = "fusion-os-win"-version = "1.13.80"+version = "1.13.81" dependencies = [ "fusion-core", "windows-sys 0.59.0",
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.13.80"+version = "1.13.81" edition = "2021" license = "MIT"
tests/test_mechanical_drawings.py+3−3@@ -369,12 +369,12 @@ class Export(unittest.TestCase): self.assertEqual((self.ui.terminated, self.manager.calls), ([], [])) self.assertNotIn("terminated", e.details) - def test_close_leaves_a_drawing_someone_edited_open(self):+ def test_close_still_closes_after_edit_auto_dimensions_marked_the_drawing_modified(self):+ # live on Colby-ROG2: ending Edit Auto Dimensions leaves the drawing isModified, and close:true must still close it self.open_here() self.doc.isModified = True out = self.call(close=True)- self.assertEqual(self.manager.calls, ["pdf", "dwg", "dxf"])- self.assertEqual((out["closed"], self.closed, self.activated), ([], [], ["previous"]))+ self.assertEqual((out["closed"], self.closed, self.activated), (["lineage:drawing"], [False], ["previous"])) def test_an_engine_that_just_logged_or_never_loaded_is_not_ready(self): self.open_here()