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
v1.9.25: cloud-direct saveAs recognized
4 files changed
+18−6
BRIDGE_VERSION+1−1@@ -1 +1 @@-1.9.24+1.9.25
adom-bridge-fusion-manifest.json+4−4@@ -1,10 +1,10 @@ { "manifest_version": 1, "name": "fusion360",- "version": "1.9.24",- "url": "https://wiki.adom.inc/download/adom/fusion-bridge/1.9.24/adom-bridge-fusion-v1.9.24.zip",- "sha256": "d9ea4cf800bcecb1a0f112d3da96918ca83cf105c87fa7cf356ec8f8f8673461",- "size": 366388,+ "version": "1.9.25",+ "url": "https://wiki.adom.inc/download/adom/fusion-bridge/1.9.25/adom-bridge-fusion-v1.9.25.zip",+ "sha256": "7f9a6353408401cdfaed6a7175501c02e4370e8f7884e1a573c1b287c5de4f4a",+ "size": 366673, "verbPrefixes": [ "fusion_" ],
bridge.json+1−1@@ -2,7 +2,7 @@ "manifest_version": 1, "name": "fusion360", "displayName": "Autodesk Fusion 360",- "version": "1.9.24",+ "version": "1.9.25", "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.",
server.py+12@@ -2916,6 +2916,18 @@ def _orchestrate_make_3d_package(args: dict) -> dict: dims = res.get("dims") if isinstance(res, dict) else None # AFTER shot: the chip placed flat on its footprint (pads landing on pads) in the 3D viewer. after_shot = _capture_labeled(f"{cap_label}_after") if cap_label else None+ # doc.saveAs into a DataFolder IS a cloud save: dataFile.id returns the LINEAGE urn+ # (urn:adsk.wipprod:dm.lineage:<id>), and the binding's wip form is fs.file:vf.<same id>.+ # The old check demanded a local .f3d and treated this success as failure (caught live+ # 2026-08-15 on IN-S42ATA), then would have double-uploaded. Recognize it.+ if isinstance(f3d_path, str) and "dm.lineage:" in f3d_path:+ lineage_id = f3d_path.rsplit("dm.lineage:", 1)[-1]+ wip = "urn:adsk.wipprod:fs.file:vf.%s?version=1" % lineage_id+ return {"success": True, "wip_urn": wip, "lineageUrn": f3d_path, "dims": dims,+ "fileName": f3d_name, "savedTo": "cloud (Adom AI Workspace)",+ "before": before_shot, "after": after_shot,+ "_hint": "Saved DIRECTLY to the cloud workspace - no upload step needed. "+ "Bind this wip_urn into the library's <packages3d>."} if not f3d_path or not str(f3d_path).endswith(".f3d"): return {"success": False, "error": "f3d saveAs did not produce a .f3d path: " + str(res), "before": before_shot, "after": after_shot,