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
Docs: feature the 12-part library + fusion_build_library_3d one-call orchestrator; new demo video + screenshots
3 files changed
+65−8
CREATING_BASIC_PARTS_LIBRARIES.md+15−5@@ -14,13 +14,23 @@ and how each one was shown on camera. ## ✅ THE SOLVED METHOD (2026-06-29) - programmatic, zero GUI dialogs, every part renders Getting a distinct, RENDERING 3D model onto each package in one `.lbr` is solved, and it does NOT use-the GUI Package3D generator (that path is trapped behind unbeatable CEF dialogs). Per part:+the GUI Package3D generator (that path is trapped behind unbeatable CEF dialogs). -1. `fusion_make_3d_package {modelPath:"C:/.../PART.step", projectId, folderId}` - imports the STEP into- a Design, orients it flat, saves an `.f3d`, uploads it, and returns a `wip_urn`. **One verb, no- dialogs.** (projectId/folderId come from `fusion_aps_browse`.)+**⚡ The whole library in ONE call (v1.6.0+):** `fusion_build_library_3d {lbrPath:"C:/.../Combined.lbr",+parts:[{package,lbrPath,modelPath}, ...]}` runs the entire pipeline - per-part footprint+chip `.f3d`+packages, **all** bindings injected in one pass, the finished library opened once - and returns each+part's `wip_urn` plus a BEFORE (footprint in the 3D viewer) and AFTER (chip placed) screenshot.+`projectId`/`folderId` default to the MAIN-project upload folder. This is the verb to use; the per-part+steps below are what it does internally (read them to debug).++Per part (the manual equivalent):++1. `fusion_make_3d_package {lbrPath:"C:/.../PART.lbr", modelPath:"C:/.../PART.step"}` - loads the+ package FOOTPRINT, imports the STEP onto it, orients flat, saves an `.f3d`, uploads it, and returns a+ `wip_urn`. **One verb, no dialogs.** (projectId/folderId default to the MAIN-project upload folder.) 2. Hand-write that `wip_urn` into the combined `.lbr` (a `<package3d>` in `<packages3d>` + a- `<package3dinstance>` in the device - exact markup in the skill).+ `<package3dinstance>` in the device - exact markup in the skill). `fusion_build_library_3d` does this+ for ALL parts in one deterministic pass. 3. `fusion_open_lbr` the merged library -> every chip RENDERS, flat on its footprint; save to cloud. ⛔ **Use an f3d, not a raw STEP:** a raw STEP upload binds but shows "Thumbnail download failed" (it is
README.md+16−3@@ -10,11 +10,24 @@ Real boards driven through it: TI DRV8323SR + DRV8411A motor drivers and an ST V  -## Demo - programmatic per-package 3D (zero GUI dialogs)+## Demo - a whole 12-part 3D library from ONE call (zero GUI dialogs) -<video controls width="100%" src="https://wiki.adom.inc/api/v1/pages/adom-desktop-fusion-bridge/files/library-3d-montage.mp4"></video>+<video controls width="100%" src="https://wiki.adom.inc/api/v1/pages/adom-desktop-fusion-bridge/files/library2-3d-montage.mp4"></video> -[Watch the montage](https://wiki.adom.inc/api/v1/pages/adom-desktop-fusion-bridge/files/library-3d-montage.mp4) - a 10-part Adom basic-parts library with **real, rendering 3D on every package** (footprint + chip, aligned), built entirely programmatically with `fusion_make_3d_package`. No Save dialogs, no clicking. See [`fusion-multipart-libraries`](skills/fusion-multipart-libraries/SKILL.md).+[Watch the montage](https://wiki.adom.inc/api/v1/pages/adom-desktop-fusion-bridge/files/library2-3d-montage.mp4) - a **12-part** library (10 Adom basic parts + an **ESP32-S3FN8** and an **ATSAMD51J20A** microcontroller) with **real, rendering 3D on every package** (footprint + chip, aligned), built by a single `fusion_build_library_3d` call. For each part you see the BEFORE (the footprint loaded in the 3D viewer) and the AFTER (the real chip placed flat on it, pads landing on pads). No Save dialogs, no clicking.++++| Footprint loads (before) | Real chip placed (after) |+|---|---|+|  |  |++`fusion_build_library_3d` runs the entire pipeline - per-part footprint+chip `.f3d` packages, all+bindings injected in one pass, the finished library opened once - and returns every part's `wip_urn`+plus a before/after screenshot. See [`fusion-multipart-libraries`](skills/fusion-multipart-libraries/SKILL.md).++(The earlier 10-part montage built with the per-part `fusion_make_3d_package` verb is still+[here](https://wiki.adom.inc/api/v1/pages/adom-desktop-fusion-bridge/files/library-3d-montage.mp4).) ## Install (via Adom Desktop)
skills/fusion-multipart-libraries/SKILL.md+34@@ -12,6 +12,40 @@ and the solution is fully programmatic, with **zero GUI dialogs**. Built on Proven 2026-06-29: a 10-part Adom basic-parts library (R/C/L/LED/MCU), every package rendering its real chip, flat on its footprint, built entirely this way. +## ⚡ FASTEST PATH - one call: `fusion_build_library_3d` (v1.6.0+)++For a whole many-part library, you no longer loop `make_3d_package` + hand-write bindings. ONE verb+does the entire pipeline - per-part footprint+chip f3d packages, **all** bindings injected in one+pass, the finished library opened once, plus a BEFORE/AFTER screenshot per part:++```jsonc+fusion_build_library_3d {+ "lbrPath": "C:/Users/<user>/lib/Combined.lbr", // the merged 2D library to bind + open+ "parts": [ // one entry per part+ {"package":"R_4k7","lbrPath":"C:/.../R_4k7.lbr","modelPath":"C:/.../R_4k7.step"},+ {"package":"ESP32-S3FN8","lbrPath":"C:/.../ESP32-S3FN8.lbr","modelPath":"C:/.../ESP32-S3FN8-named.step"}+ // ...+ ],+ "outLbrPath": "C:/Users/<user>/lib/Combined_bound.lbr", // optional (default: overwrite lbrPath)+ "capture": true // before/after PNGs per part (default true)+}+```++- Each part's `lbrPath` is its OWN per-part `.lbr` (whose FIRST package is that footprint - what+ Create3DPackage loads); `modelPath` is its STEP. `package` is the package name in BOTH the per-part+ and the combined `.lbr` (they match - that's how the binding lands).+- `projectId`/`folderId` are **optional** - they default to the MAIN-project upload folder, so you do+ not have to `fusion_aps_browse` for them.+- Returns `{partsBound, partsTotal, parts:[{package,success,wip_urn,dims_mm,error}], screenshots:+ [{package,stage,path}], boundLbr, opened}`. The before/after PNGs land on the box+ (`C:/tmp/conduit-screenshots`) - `desktop_pull_file` them for a demo video.+- **Each part is independent.** If Fusion resets mid-run, the parts already done kept their f3d+ uploads; just re-run the whole `parts[]` (re-making a few f3ds is cheap) - the injection rewrites+ all bindings in one pass, so a single final call always yields a complete library.++Everything below is the MANUAL equivalent (what the verb does internally) - read it to understand or+debug, but reach for `fusion_build_library_3d` first.+ ## ✅ THE RECIPE - per part, then merge (no Create3DPackage, no dialogs) A proper component 3D package contains the **FOOTPRINT (pads + courtyard) AND the chip**, merged and