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.15: restore-before-capture
4 files changed
+17−6
BRIDGE_VERSION+1−1@@ -1 +1 @@-1.9.17+1.9.15
adom-bridge-fusion-manifest.json+4−4@@ -1,10 +1,10 @@ { "manifest_version": 1, "name": "fusion360",- "version": "1.9.17",- "url": "https://wiki.adom.inc/download/adom/fusion-bridge/1.9.17/adom-bridge-fusion-v1.9.17.zip",- "sha256": "6d258b25de5958700f179e1c7efcc3184b781c7962387084ccb9da35677e7eda",- "size": 359915,+ "version": "1.9.15",+ "url": "https://wiki.adom.inc/download/adom/fusion-bridge/1.9.15/adom-bridge-fusion-v1.9.15.zip",+ "sha256": "dc52de09c7277e17ee595100112e0defc9796cc0c348c534d7575820a54ee7cd",+ "size": 360197, "verbPrefixes": [ "fusion_" ],
bridge.json+1−1@@ -2,7 +2,7 @@ "manifest_version": 1, "name": "fusion360", "displayName": "Autodesk Fusion 360",- "version": "1.9.17",+ "version": "1.9.15", "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.",
handlers/fusion_ui.py+11@@ -304,6 +304,17 @@ PW_RENDERFULLCONTENT = 0x00000002 def screenshot_hwnd(hwnd: int, label: str = "") -> dict: """Capture any window by HWND. Returns {success, savedTo, sizeKB}."""+ # A MINIMIZED window has a degenerate rect and PrintWindow hands back a blank frame -+ # the 870-byte gallery bug (2026-08-15): the launch envelope minimizes Fusion, and every+ # later capture stayed blank. Restore WITHOUT activation, pinned to the BOTTOM of the+ # z-order, so the capture renders while the user's foreground stays untouched.+ try:+ if user32.IsIconic(hwnd):+ user32.ShowWindow(hwnd, 4) # SW_SHOWNOACTIVATE+ user32.SetWindowPos(hwnd, 1, 0, 0, 0, 0, 0x0001 | 0x0002 | 0x0010) # HWND_BOTTOM, NOSIZE|NOMOVE|NOACTIVATE+ time.sleep(0.6) # give Qt a repaint+ except Exception:+ pass left, top, right, bottom = _get_window_rect(hwnd) width = right - left height = bottom - top