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.5.3: document electronics workflow (README + hints + fusion-electronics skill)
7 files changed
+71−159
BRIDGE_VERSION+1−1@@ -1 +1 @@-1.5.2+1.5.3
README.md+64−152@@ -1,193 +1,105 @@ # Adom Desktop - Fusion 360 Bridge -Drive Autodesk Fusion 360 from the cloud, just by talking to your AI. Find and open any-team design, render boards in 3D, lay out electronics, export production gerbers and CAD-models, set fab design rules, and even generate parametric parts. You ask in plain-language; the bridge drives Fusion for you.+Drive **Autodesk Fusion 360** from the cloud through [Adom Desktop](https://wiki.adom.inc/adom/adom-desktop). A small local HTTP server that Adom Desktop spawns and proxies `fusion_*` verbs to — it launches Fusion, talks to the bundled **AdomBridge** add-in, and exposes Fusion Electronics + design automation: open an EAGLE board, lay out copper, render the populated 3D PCB, export Gerbers / BOM / STEP, walk the cloud tree, and **search your Fusion cloud files fast via APS**. -Every section below is a **real screenshot of the bridge in action**, with the kind of-prompt you would actually type to your AI.+Real boards driven through it: TI DRV8323SR + DRV8411A motor drivers and an ST VL53L8 time-of-flight sensor. -Looking for the full API? See the **[complete verb reference](README_VERBS.md)**: all 68 verbs-by category, with descriptions, arguments, and example input/output.+ + -## Find any design and open it, just by asking+ -> **You:** "Find the BME690 molecule in our cloud and open it"----The bridge's **APS cloud search** (`fusion_aps_search` + `fusion_aps_open`) finds the file-across your entire Autodesk team hub in seconds. The old way walked folder by folder and-took 30+ minutes; this hits Autodesk's server-side index instead. The design opens straight-into Fusion's package view, where the **schematic, the board, and the 3D model** are all-visible at once, along with every version in the tree. This is the everyday entry point:-stop hunting through folders, just name the board and it appears.---## Read the schematic--> **You:** "Open the schematic for the VL53 time-of-flight board"----Search resolves the right design and brings up its **schematic** (top left), wired to the-same project as the board and 3D views. Because search is hub-wide, you can pull up any-teammate's design by name without knowing which folder it lives in. The bridge proved this-on real Adom parts: VL53 time-of-flight molecules, BME690 gas sensors, WS2812 / SK6812 LED-boards, and more.---## See your board in 3D--> **You:** "Show me the 3D view of this board"----The AI opens the **3D PCB window** for you (`fusion_show_3d_board`), no workspace navigation-required. Here is a populated WS2812B LED strip: the green board, all eight addressable LEDs-placed, and the mounting standoffs, rendered exactly as it will be manufactured. Perfect for-a quick design review or a client-ready shot, opened with a single sentence.---## Lay out the 2D board--> **You:** "Open the board layout"----This is Fusion's **Electronics editor** (`fusion_show_2d_board`): copper traces, the layer-stack (top and bottom copper, silkscreen, soldermask), the live footprints panel, and the-MANUFACTURING and RULES tabs. Everything you need to route a board and prep it for-fabrication, all reachable through the AI.---## Export the full manufacturing package: gerbers + BOM + CPL ("the kitchen sink")--> **You:** "Export the gerbers, BOM, and pick-and-place for this board"----One ask runs `fusion_export_gerbers` + `fusion_export_bom` + `fusion_export_cpl` and hands you-the complete, fab-ready set, no CAM dialogs and no manual partlists:--- **Gerbers + drill (11 files):** top/bottom copper (GTL/GBL), soldermask (GTS/GBS), silkscreen- (GTO/GBO), paste (GTP/GBP), board outline (GKO), Excellon drill (XLN), and the `.gbrjob`.-- **BOM** (Bill of Materials CSV): every part grouped by value and footprint, with designators- and quantities, in the column layout JLCPCB / PCBWay / Mouser / Digi-Key expect. The BOM is- built to carry the orderable **manufacturer / distributor part numbers** (MPN, Mouser PN,- Digi-Key PN, LCSC PN) per line, so it drops straight into a cart. (Part-number enrichment from- the Adom parts tools is the active next step; see Status.)-- **CPL** (pick-and-place CSV): designator, X, Y, rotation, and side for every component, ready- for an assembler.--Zip the three and the board is ready to order.-+## Install (via Adom Desktop) -## Export the 3D model (STEP / 3MF / OBJ / USDZ / IGES / STL)+```+adom-desktop bridge_install '{"manifestUrl":"https://wiki.adom.inc/api/v1/pages/adom-desktop-fusion-bridge/files/adom-bridge-fusion-manifest.json"}'+``` -> **You:** "Export this board as a STEP file"+AD downloads the manifest + zip, sha256-verifies, and caches it; the cached version supersedes the copy bundled in the AD installer. Manage with `bridge_list` / `bridge_kill` / `bridge_log_read`. -+## What it does -From the 3D view, `fusion_export_step` wrote a **9.1 MB STEP** of the populated board (full-component geometry). The bridge exports the whole family of CAD and mesh formats too: 3MF,-OBJ, USDZ, IGES, STL, plus DXF/DWG for 2D. Drop the result into a renderer, a mechanical-assembly, a web viewer, or a slicer.+- **Launch + drive Fusion** — `fusion_start`, dialog/recovery handling, window screenshots, key/click.+- **Electronics + exports** — open schematic/board, STEP / IGES / STL / 3MF / USDZ / OBJ / DXF / DWG / Gerbers, BOM / CPL, `.lbr` import/export, silkscreen capture, InstaPCB design rules.+- **Cloud files** — `fusion_walk_cloud_tree`, `fusion_search_cloud_files`, and **fast indexed search** via `fusion_aps_search` (Autodesk Platform Services Data Management index — seconds, not the multi-minute folder walk).+- **Self-reporting health** — serves `/status` (the manifest `healthEndpoint`) with a `{led, summary, tooltip}` GUI chip; every spawn logs to `~/.adom/bridge-logs/fusion360.log`. +`fusion_aps_*` (status / set_client_id / signin / search / get) run the bridge's own PKCE OAuth against APS — see the `fusion-aps-search` and `fusion-aps-signin` skills for the setup. -## Set manufacturing design rules+## Electronics workflow: open the PROJECT, not the pieces -> **You:** "Apply JLCPCB 2-layer design rules to this board"+A Fusion electronics design is a **parent/child chain of separate files**, each a distinct `productType`. **Open the PROJECT, never the schematic / .brd / 3D directly:** -`fusion_set_design_rules` loads industry-tested, **fab-grade DRC** into the open board so-your layout matches what the manufacturer can actually build (trace/space, drill, annular-ring, board thickness 1.6 mm, 1 oz copper, and so on), then you re-run DRC clean. JLCPCB-2-layer and 4-layer profiles ship today. More fab profiles (PCBWay, OSHPark, custom board-houses) are on the roadmap; see Status below.+```+PROJECT EcadDesignProductType <- open THIS (fusion_open_cloud_file / fusion_open_by_urn)+ |- schematic SchematicProductType+ |- board/.brd BoardProductType+ |- 3D PCB DesignProductType (generated FROM the .brd, the leaf - no editable board)+``` +Open the project, then switch views with `fusion_show_2d_board` / `fusion_show_3d_board` (and the schematic). Opening a CHILD directly gives an isolated/empty view, so `fusion_open_cloud_file` and `fusion_open_by_urn` **reprimand you in the response `_hint`** when the opened file is not `EcadDesignProductType`. Same-named copies in OTHER projects are usually 3D-model derivatives, not the project. -## Generate a part with the modeling API+**Lifecycle:** `fusion_start` (launch) · `fusion_stop` (graceful close, no force) · `fusion_kill` (force-kill `taskkill /F`, the desperate path). `fusion_close` is a deprecated alias of the old graceful-then-force behavior. -> **You:** "Model a parametric JST-XH 6-pin connector"+**Driving the editor (for demos / screen recordings):** `fusion_electron_run` runs EAGLE commands to move the view - `WINDOW FIT`, `WINDOW <factor>` to zoom, `WINDOW (x1 y1) (x2 y2)` to frame a region, plus `DISPLAY` / `RATSNEST`. For the 3D PCB, orbit the camera smoothly via `fusion_run_modeling_script` (`app.activeViewport.camera` stepped around the target, `vp.refresh()` between frames). Low-level click/select hooks (`Electron.LeftButtonDown`, `Electron.Select`, `Electron.SelectbyName`, `Electron.ImmediateRepaint`) are reachable through `fusion_execute_text_command` for selecting parts and surfacing the properties panel. -+## ⚡ Fast cloud search (APS) — find any team design in seconds -`fusion_run_modeling_script` runs the live Fusion modeling API in your session, so the AI can-**build geometry from a prompt**: sketches, extrudes, components, parameters. Here it built a-parametric JST-XH connector (housing, shrouded cavity, lock window, and N pins) from a family-table plus pin count. This is the **free** path to programmatic CAD; Autodesk's cloud Fusion-Automation API bills per processing hour, this runs in your own session for nothing.+Searching your Fusion 360 cloud files the normal way (the in-app data API) takes **30+ minutes** on a real team hub — it has to walk folders one at a time. This bridge instead queries **Autodesk Platform Services (APS)**, Autodesk's **server-side index**, so the same search returns in **seconds**. Live-proven: searching "Molecule" across a 16-project hub returned 37 real files in ~12 seconds. +It also works with **Fusion closed** — it's pure HTTPS against the cloud. -## Bring in a part library from adom-lbr / chip-fetcher+### What you can do (verbs) -> **You:** "Load the nRF52840 library into Fusion"+| Verb | Does |+|---|---|+| `fusion_aps_search {query}` | Fast name search across every project in the team hub. Newest-first, shows which project each file is in. Scope with `{projectId}` for an even faster single-project search. |+| `fusion_aps_browse {}` / `{projectId}` / `{folderId}` | Browse hubs → projects → folders → files, no Fusion needed (a cloud file explorer). |+| `fusion_aps_open {query}` | Search by name and **open the best match in Fusion** — works for any file, however deeply nested (opens by the file's exact cloud URN). Returns immediately; the open finishes in the background (poll `fusion_get_app_state`), or pass `{wait:true}`. |+| `fusion_aps_recent {limit?}` | Most-recently-modified designs across the team hub, newest-first (great for "what changed today?"). |+| `fusion_aps_file_info {query}` | Version history for a design — how many versions, who last touched it, when, and size. |+| `fusion_aps_status {}` | Is it configured? signed in? token live? Plus the never-charge usage meter. |+| `fusion_aps_signin {}` | One-time per user — opens the Autodesk consent, captures the token. |+| `fusion_aps_set_client_id {clientId}` | Set the org's APS Client ID. | -+### 🔑 Authentication — set up ONCE per company, each teammate just signs in once -Hand the bridge an EAGLE `.lbr`, the kind `adom-lbr` and `chip-fetcher` generate from a sourced-part (KiCad symbol + footprint + 3D model), and `fusion_open_lbr` loads it straight into Fusion's-Electronics library editor, full deviceset and all. Here a real Nordic **nRF52840-CKAA** library-is open with its complete symbol and pin map, ready to drop onto a schematic. The part you sourced-in Adom shows up placeable in Fusion, no manual library wrangling.+This is the important part, and it's designed to be painless: +- **An admin sets up APS once for the whole company** — register a free APS app (the AI drives the entire setup; see the `fusion-aps-signin` skill), which produces a **Client ID**. That Client ID is a **public PKCE identifier (no secret)**, so it's safe to share across the company / bake into that org's bridge config.+- **Every teammate then just runs `fusion_aps_signin` once** — they sign in with **their own** Autodesk account (one consent click), and immediately get fast search of the team's shared files. **No plan, no credit card, no app registration, no setup for them.**+- **Per-organization, not platform-wide.** Each company that uses Adom runs this setup once for *itself* (so each org's usage rides its *own* free plan and sees its *own* data). Adom employees share Adom's Client ID; other orgs (e.g. NTX, Teaazers) each create their own. Don't ship one global Client ID for everyone. -## Fast cloud search (APS): one company setup, each teammate signs in once+### 💸 You are NEVER charged -The cloud search above runs on **Autodesk Platform Services (APS)**. Setup is once per-company, then every teammate just signs in with their own Autodesk account:+The APS Free tier requires a card **only to verify identity** — there is no charge. The bridge enforces this three ways: the PKCE app type **structurally cannot call paid APIs**; the bridge calls **only free Data Management endpoints**; and a **monthly hard cap fails closed** before any quota. `fusion_aps_status` reports the live usage meter. -| Verb | What it does |-| --- | --- |-| `fusion_aps_search {query}` | Server-indexed search across the whole team hub |-| `fusion_aps_open {query}` | Find by name and open it (any folder depth) |-| `fusion_aps_browse` / `fusion_aps_recent` | Explore hubs/projects/folders; newest designs |-| `fusion_aps_file_info` / `fusion_aps_versions` | Version history: who changed what, when |-| `fusion_aps_download` / `fusion_aps_upload` | Pull a cloud file local, or upload a new one |-| `fusion_aps_create_folder` | Make a cloud folder |+### Getting started -**You are never charged.** The bridge calls only Autodesk's always-free Data Management-endpoints and hard-caps usage to the free tier, so a card on file (for Autodesk identity) is-never billed. Adom employees: install `adom/fusion-aps-adom` and your AI wires up the shared-app and your sign-in automatically.+1. `fusion_aps_status` — it tells you exactly what's next (configure / sign in / ready).+2. First time for a company: the AI drives the one-time APS app setup (`fusion-aps-signin` skill) → Client ID.+3. Each user: `fusion_aps_signin` once → `fusion_aps_search "<part name>"`. +Full reasoning + setup procedure live in the bundled skills: **`fusion-aps-search`** (why/architecture/auth model) and **`fusion-aps-signin`** (the AI-driven setup, step by step). -## Install (via Adom Desktop)+## Source code -```-adom-desktop bridge_install '{"manifestUrl":"https://wiki.adom.inc/api/v1/pages/adom-desktop-fusion-bridge/files/adom-bridge-fusion-manifest.json"}'-```+The **canonical source is this wiki page** (`https://wiki.adom.inc/adom/adom-desktop-fusion-bridge`) — a git-backed page. A **GitHub backup mirror** is kept in lockstep at [`adom-inc/adom-desktop-fusion-bridge`](https://github.com/adom-inc/adom-desktop-fusion-bridge) (private). -Then just talk to your AI with Fusion installed. To *open* a design, Fusion needs to be-running (`fusion_start` launches it); cloud *search* works even with Fusion closed.+The full source is also published right here on the wiki page — no GitHub account needed: -## Status+| Download | What it is | How to use |+|---|---|---|+| [`adom-bridge-fusion-source.tar.gz`](https://wiki.adom.inc/api/v1/pages/adom-desktop-fusion-bridge/files/adom-bridge-fusion-source.tar.gz) | Clean source tree, no `.git`. | `tar xzf adom-bridge-fusion-source.tar.gz && cd adom-bridge-fusion/` |+| [`adom-bridge-fusion.bundle`](https://wiki.adom.inc/api/v1/pages/adom-desktop-fusion-bridge/files/adom-bridge-fusion.bundle) | Git bundle with full commit history. | `git clone adom-bridge-fusion.bundle adom-bridge-fusion && cd adom-bridge-fusion && git log` | -Proven live on real Adom designs (WS2812 / SK6812 LED boards, BME690, VL53 molecules):-cloud search + open, schematic / 2D / 3D board views, the gerbers + BOM + CPL manufacturing-package, STEP/3D export, JLCPCB design rules, `adom-lbr` library import, and the modeling API.-Active next steps: enriching the BOM with orderable distributor part numbers (Mouser /-Digi-Key / LCSC) via the Adom parts tools, and more fab design-rule profiles (PCBWay, OSHPark,-custom board houses).+> The original home in `adom-inc/adom-desktop` → `plugins/fusion360/` is now a **frozen first-run fallback only** — stale, not canonical. See `STALE_SEED_README.md` there. ## Platforms -Windows and macOS (Fusion 360 runs on both; the add-in install paths are handled-automatically). Python 3.11+.+Windows (full) and macOS (Fusion runs there; add-in paths handled). **Linux is unsupported** — Autodesk doesn't ship Fusion 360 for Linux, so there's no host app for the add-in to attach to. -## Source+## Contributing -Canonical: this wiki page. Backup mirror: `github.com/adom-inc/adom-desktop-fusion-bridge`.+Clone the bundle, make changes, and email a patch (`git format-patch origin/main..HEAD --stdout`) to **`[email protected]`**, or open a PR once the GitHub mirror is public. Useful targets: newer Fusion versions, more export formats, faster cloud search.
adom-bridge-fusion-manifest.json+5−5@@ -1,9 +1,9 @@ { "manifest_version": 1, "name": "fusion360",- "version": "1.5.2",- "url": "https://wiki.adom.inc/api/v1/pages/adom-desktop-fusion-bridge/files/adom-bridge-fusion-v1.5.2.zip",- "sha256": "e8a03e262de4d6d6a961c7e5d8a6ff082e541777079e81aef235f035863fdb15",- "size": 204596,- "released_at": "2026-06-28T02:26:28Z"+ "version": "1.5.3",+ "url": "https://wiki.adom.inc/api/v1/pages/adom-desktop-fusion-bridge/files/adom-bridge-fusion-v1.5.3.zip",+ "sha256": "17857e3580e2266dc9c7eaea812222aeac9030c89ba8e7ab012aa695d34aa8c4",+ "size": 208215,+ "released_at": "2026-06-28T02:47:40Z" }
adom-bridge-fusion-source.tar.gz⋯ 1 unchanged line ⋯
adom-bridge-fusion-v1.5.3.zipadded⋯ 1 unchanged line ⋯
adom-bridge-fusion.bundle⋯ 1 unchanged line ⋯
bridge.json+1−1@@ -2,7 +2,7 @@ "manifest_version": 1, "name": "fusion360", "displayName": "Autodesk Fusion 360",- "version": "1.5.2",+ "version": "1.5.3", "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://github.com/adom-inc/adom-desktop-fusion-bridge", "author": "Adom Inc.",