← Commit history

v1.6.44 (add-in 1.0.4): fix get_parameters crash on non-numeric params

John Lauer ·bc6a562990 ·3mo ago ·parent 3163f64
6 files changed +35−18
BRIDGE_VERSION+1−1
@@ -1 +1 @@-1.6.43\ No newline at end of file+1.6.44\ No newline at end of file
CHANGELOG.md+7
@@ -3,6 +3,13 @@ All notable changes to the Adom Desktop Fusion 360 bridge, newest first. Canonical: https://wiki.adom.inc/adom/adom-desktop-fusion-bridge ยท GitHub backup: `adom-inc/adom-desktop-fusion-bridge` +## 1.6.44 - 2026-07-06 (add-in 1.0.4)++- **Fixed `fusion_get_parameters` crashing on non-numeric parameters** (found during the laptop verb+  battery). `Parameter.value` throws "Parameter is not numeric type" for string/text params, which+  blew up the entire enumeration. Every field is now read defensively so one odd parameter never kills+  the call. Add-in bumped to 1.0.4.+ ## 1.6.43 - 2026-07-06  - **Docs + hints caught up to the real (UIA) seat-dialog handling.** The `fusion-bridge-dev` skill now
addin/AdomBridge/AdomBridge.manifest+2−2
@@ -6,7 +6,7 @@     "description": {         "": "Adom Desktop Conduit bridge add-in. Exposes a localhost HTTP API for external automation of Fusion 360."     },-    "version": "1.0.3",+    "version": "1.0.4",     "runOnStartup": true,     "supportedOS": "windows"-}+}\ No newline at end of file
addin/AdomBridge/commands/parameters.py+19−9
@@ -24,16 +24,26 @@ def handle_get_parameters(app: adsk.core.Application, args: dict) -> dict:      result = [] +    def _safe(fn):+        # Parameter.value THROWS "Parameter is not numeric type" for string/text+        # parameters (caught live 2026-07-06: get_parameters blew up the whole call on+        # one non-numeric param). Read every field defensively so one odd parameter+        # never kills the enumeration.+        try:+            return fn()+        except Exception:+            return None+     if param_type in ("user", "all"):         for i in range(design.userParameters.count):             p = design.userParameters.item(i)             result.append({-                "name": p.name,+                "name": _safe(lambda: p.name),                 "type": "user",-                "expression": p.expression,-                "value": p.value,-                "unit": p.unit,-                "comment": p.comment,+                "expression": _safe(lambda: p.expression),+                "value": _safe(lambda: p.value),+                "unit": _safe(lambda: p.unit),+                "comment": _safe(lambda: p.comment),             })      if param_type in ("model", "all"):@@ -43,11 +53,11 @@ def handle_get_parameters(app: adsk.core.Application, args: dict) -> dict:             if param_type == "all" and _is_user_param(design, p.name):                 continue             result.append({-                "name": p.name,+                "name": _safe(lambda: p.name),                 "type": "model",-                "expression": p.expression,-                "value": p.value,-                "unit": p.unit,+                "expression": _safe(lambda: p.expression),+                "value": _safe(lambda: p.value),+                "unit": _safe(lambda: p.unit),             })      return {
adom-bridge-fusion-manifest.json+5−5
@@ -1,13 +1,13 @@ {   "manifest_version": 1,   "name": "fusion360",-  "version": "1.6.43",-  "url": "https://wiki.adom.inc/download/adom/adom-desktop-fusion-bridge/1.6.43/adom-bridge-fusion-v1.6.43.zip",-  "sha256": "0920a84b437d82db0ec91496439369ccad20e745e2af32692d35f0e7322221a7",-  "size": 341813,+  "version": "1.6.44",+  "url": "https://wiki.adom.inc/download/adom/adom-desktop-fusion-bridge/1.6.44/adom-bridge-fusion-v1.6.44.zip",+  "sha256": "95f0356833e8e9aa1a48f0c8969a17657233fec2e123a2db82820cc973cb2063",+  "size": 342151,   "verbPrefixes": [     "fusion_"   ],   "healthEndpoint": "/status",-  "released_at": "2026-07-06T13:52:37Z"+  "released_at": "2026-07-06T13:57:09Z" }
bridge.json+1−1
@@ -2,7 +2,7 @@   "manifest_version": 1,   "name": "fusion360",   "displayName": "Autodesk Fusion 360",-  "version": "1.6.43",+  "version": "1.6.44",   "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/adom-desktop-fusion-bridge",   "author": "Adom Inc.",