APP

Reference bridge: Fusion 360

Reference implementation of the Fusion 360 bridge โ€” thin Python HTTP server that passes commands through to a Fusion add-in via local socket. The pattern for any host app that exposes a plugin API.

Reference bridge: Fusion 360
๐Ÿ’ฌ Sample prompts Paste any of these into Claude Code to use this app
Read fusion bridge source Download the fusion360-bridge zip from the wiki and walk me through server.py + addin/
Export STEP from Fusion adom-desktop fusion_export_step from a cloud design
Add a new fusion verb Help me add a new fusion_export_glb verb โ€” bridge side AND add-in side
Walk cloud tree adom-desktop fusion_walk_cloud_tree to find a design
Understand the passthrough pattern Explain how Fusion bridge talks to the in-process add-in
โšก Open this app

Paste this into Claude Code (VS Code panel, Adom editor, or terminal) to install:

Open the Adom Wiki page for the "Reference bridge: Fusion 360" app at https://wiki-ufypy5dpx93o.adom.cloud/wiki/apps/adom-desktop-fusion-bridge and tell me how to use it.

Reference bridge: Fusion 360

Source code + contributing (2026-05)

The Fusion 360 bridge moved out of adom-inc/adom-desktop's monorepo into its own dedicated repo so the community can extend it without coordinating with Adom Desktop's release cycle.

Where the source lives

The canonical repo is adom-inc/adom-bridge-fusion on GitHub. It's private today and will go public after a review pass.

In the meantime, the full source โ€” code, history, contributing guide, license โ€” is mirrored on this wiki page:

DownloadWhat it isHow to use
adom-bridge-fusion-source.tar.gzClean source tree, no .git directory. ~115 KB.tar xzf adom-bridge-fusion-source.tar.gz && cd adom-bridge-fusion/
adom-bridge-fusion.bundleGit bundle with full commit history. ~222 KB.git clone https://wiki-ufypy5dpx93o.adom.cloud/static/apps/adom-desktop-fusion-bridge/adom-bridge-fusion.bundle adom-bridge-fusion && cd adom-bridge-fusion && git log

No GitHub account needed to download either โ€” both URLs are public.

How to contribute

We accept community improvements. Most useful targets right now:

  • Newer Fusion versions โ€” when Autodesk ships a major Fusion update, the add-in manifest + API call shapes may need tweaking. Fork-friendly.
  • Additional export formats โ€” Fusion supports more than what the bridge currently wraps.
  • Linux support โ€” Fusion 360 runs on macOS; Linux is a non-starter (Autodesk doesn't ship for Linux), but macOS coverage could expand.

Two contribution paths, depending on your access:

With a GitHub account (preferred): wait until we make the repo public, then fork on GitHub and open a PR. We're aiming to flip the repo public in the next maintenance pass.

Without GitHub access (patch-by-email-style, available right now): Clone the bundle, make your changes, generate a patch with git format-patch origin/main..HEAD --stdout > my-changes.patch, and email it to [email protected]. Adom maintainers will review and apply.

See CONTRIBUTING.md inside the tarball/bundle for the full PR + ship workflow.

How shipping works after merge

  1. Maintainer merges your PR into main
  2. Maintainer tags v<X.Y.Z> + runs bash scripts/release-bridge.sh fusion360 on their box
  3. New zip + manifest published to this wiki page (replaces current version)
  4. Every Adom Desktop install running v1.7.19+ auto-picks up your change within 4 hours OR immediately via adom-desktop refresh_bridges

No NSIS installer rebuild required. Your code reaches real users in ~30s after merge.

License

MIT โ€” see the LICENSE file in the tarball.


The Fusion 360 bridge is one of three reference implementations bundled with Adom Desktop. It's the simplest of the three โ€” a Python HTTP server that passes commands through to a Fusion 360 add-in via a local socket. The add-in does the actual Fusion API work in-process.

If you're authoring a new third-party bridge, see the bridge SDK guide first. Use this page if you're building a bridge to any app that exposes a plugin API the bridge can talk to (Altium, Eagle, SolidWorks add-ins all fit this pattern).

Quick facts

Namefusion360
DisplayAutodesk Fusion 360
Spawn kindPython (server.py)
Port8773
Verb prefixfusion_* (16 verbs)
Source zipfusion360-bridge-v1.0.0.zip
Manifestfusion360-bridge-manifest.json
User-facing skillfusion-SKILL.md

What it does

  • Launch + window control โ€” fusion_start (handles the webdeploy glob + waits for the add-in handshake + dismisses the startup picker), fusion_close_window, fusion_dismiss_blocking_dialogs.
  • Design rules + parameters โ€” fusion_apply_instapcb_rules, fusion_load_design_rules.
  • Exports โ€” fusion_export_step / iges / stl / 3mf / usdz / obj / dxf / dwg / gerbers. Each accepts a {cloudFile, output} or {localFile, output} pair.
  • Cloud tree walk โ€” fusion_walk_cloud_tree (lists hubs/projects/folders/files), fusion_search_cloud_files (text search within a hub).

bridge.json

{
  "manifest_version": 1,
  "name": "fusion360",
  "displayName": "Autodesk Fusion 360",
  "version": "1.0.0",
  "description": "Fusion 360 add-in bridge: design rules, exports (STEP/IGES/STL/3MF/USDZ/OBJ/DXF/DWG/Gerbers), cloud tree walk, search.",
  "homepage": "https://github.com/adom-inc/adom-desktop",
  "author": "Adom Inc.",
  "license": "MIT",
  "spawn": {
    "kind": "python",
    "entrypoint": "server.py",
    "port": 8773,
    "healthEndpoint": "http://127.0.0.1:8773/status",
    "stopMethod": "kill",
    "killImageName": "python.exe"
  },
  "verbPrefixes": ["fusion_"],
  "verbs": [
    "fusion_start", "fusion_close_window",
    "fusion_apply_instapcb_rules", "fusion_load_design_rules",
    "fusion_export_step", "fusion_export_iges", "fusion_export_stl", "fusion_export_3mf",
    "fusion_export_usdz", "fusion_export_obj", "fusion_export_dxf", "fusion_export_dwg",
    "fusion_export_gerbers",
    "fusion_walk_cloud_tree", "fusion_search_cloud_files",
    "fusion_dismiss_blocking_dialogs"
  ],
  "dependencies": { "python": ">=3.11", "fusion360": ">=2.0.0" },
  "category": "CAD",
  "tags": ["fusion360", "autodesk", "cad", "exports"]
}

Architecture: passthrough-to-add-in

This is the cleanest pattern for any host app that runs Python (or any other language) in-process via a plugin API:

Docker Claude โ”€โ”€HTTPโ”€โ”€โ†’ adom-desktop CLI โ”€โ”€WSโ”€โ”€โ†’ Adom Desktop GUI
                                                       โ”‚
                                                       โ”‚ spawn fusion bridge process
                                                       โ–ผ
                                            fusion360/server.py (port 8773)
                                                       โ”‚
                                                       โ”‚ socket to add-in
                                                       โ–ผ
                                  Fusion 360 GUI exe + adom-fusion-addin (loaded)
                                                       โ”‚
                                                       โ–ผ
                                            Fusion 360 Python API
                                                  (in-process)

The bridge is thin โ€” it accepts JSON commands over HTTP, validates args, forwards to the add-in via a local socket, awaits the response, returns to the caller. The add-in (running inside Fusion's own Python interpreter) does the actual adsk.fusion.* API work and serializes the result back.

This decoupling means:

  • The bridge has zero Fusion-SDK dependencies โ€” it's stdlib Python.
  • The add-in can be updated independently of the bridge (different version cadences).
  • A Fusion crash takes down the add-in only; the bridge stays up and reports "add-in disconnected" until Fusion restarts.

Directory layout

fusion360/
โ”œโ”€โ”€ server.py           โ† HTTP entry + JSON dispatch
โ”œโ”€โ”€ bridge.json
โ”œโ”€โ”€ BRIDGE_VERSION
โ”œโ”€โ”€ fusion_detect.py    โ† Find FusionLauncher.exe via webdeploy glob
โ”œโ”€โ”€ fusion_helper.py    โ† Win32 helpers: launch, wait, dismiss-startup-picker
โ”œโ”€โ”€ eagle_lbr.py        โ† .lbr file format support for the Eagle import verbs
โ”œโ”€โ”€ handlers/           โ† One module per verb group
โ”‚   โ”œโ”€โ”€ exports.py      โ† All fusion_export_* โ€” POSTs to the add-in
โ”‚   โ”œโ”€โ”€ cloud_tree.py
โ”‚   โ”œโ”€โ”€ design_rules.py
โ”‚   โ””โ”€โ”€ โ€ฆ
โ”œโ”€โ”€ addin/              โ† The Fusion add-in itself (loaded into Fusion's Python)
โ”‚   โ”œโ”€โ”€ AdomFusionAddin.py
โ”‚   โ”œโ”€โ”€ AdomFusionAddin.manifest
โ”‚   โ””โ”€โ”€ commands/       โ† One file per command the add-in implements
โ”œโ”€โ”€ install_addin.py    โ† Copies addin/ to %APPDATA%\Autodesk\... where Fusion finds it
โ”œโ”€โ”€ start.bat           โ† Local dev launcher
โ””โ”€โ”€ README.md

install_addin.py is the deployment glue โ€” Fusion only loads add-ins from %APPDATA%\Autodesk\Autodesk Fusion 360\API\AddIns\<name>\. After the bridge is installed (or updated), the next fusion_start re-runs install_addin.py to keep the add-in in sync with whatever version of the bridge shipped.

Example: export a Fusion design as STEP

# Open Fusion (handles webdeploy + login + startup picker)
adom-desktop fusion_start

# Walk the cloud tree to find the design
adom-desktop fusion_walk_cloud_tree '{"hub":"YourHub","project":"YourProject"}'

# Export โ€” bridge โ†’ add-in โ†’ adsk.fusion.ExportManager โ†’ file on disk
adom-desktop fusion_export_step '{"cloudFile":"/YourHub/YourProject/MyDesign.f3d","output":"C:/tmp/MyDesign.step"}'

# Pull the file back to Docker
adom-desktop pull_file '{"filePaths":["C:/tmp/MyDesign.step"],"saveTo":"/tmp"}'

Reference: install the source locally to read

curl -L https://wiki-ufypy5dpx93o.adom.cloud/static/apps/adom-desktop/fusion360-bridge-v1.0.0.zip -o /tmp/fusion-bridge.zip
mkdir -p /tmp/fusion-bridge && cd /tmp/fusion-bridge && python3 -c "import zipfile; zipfile.ZipFile('/tmp/fusion-bridge.zip').extractall()"
ls -la

Read server.py for the dispatch pattern (similar to hello sample but with handler dirs), then handlers/exports.py for an example of how a bridge passes a request through to a separate process. The addin/ dir is the OTHER half โ€” what the add-in does in-process inside Fusion.

Related

GZ
adom-bridge-fusion-source.tar.gz 5 days ago
Source tarball โ€” git archive of adom-inc/adom-bridge-fusion@main (working tree, no .git)
v1.8.31: source archive of the now-independent bridge repo, for community fork + contribution. No GitHub account required to read.John Lauer ยท 5 days ago
114.8 KB
BUND
adom-bridge-fusion.bundle 5 days ago
Git bundle โ€” full history of adom-inc/adom-bridge-fusion (use: git clone <bundle> <dir>)
v1.8.31: git bundle of the bridge repo with full commit history. Clone via: git clone https://wiki-ufypy5dpx93o.adom.cloud/static/apps/adom-desktop-fusion-bridge/adom-bridge-fusion.bundle <dir>John Lauer ยท 5 days ago
221.3 KB

Sub-Skills
?
What are Sub-Skills?

Sub-skills are community-contributed AI skill extensions for this component. They teach AI assistants about specific tools, configurators, or workflows.

Examples:

  • A manufacturer’s configuration tool for a motor controller
  • A community-written design guide for an amplifier circuit
  • An automated test/validation script for a sensor module

How to add one: Click Add Sub-Skill, provide the URL to your skill and a brief description. Submissions are reviewed by the Adom team before going live.

No sub-skills yet. Be the first to contribute one!

๐Ÿ”Ž How Claude finds this page (discovery snippet)

This page opts into Adom Wiki auto-discovery. When a user working in Claude Code mentions any of the trigger phrases below, Claude can proactively suggest this page. The pitch is exactly what Claude will say.

Pitch
"Reference implementation of the Fusion 360 bridge โ€” thin Python server that passes commands through to a Fusion add-in via local socket. The canonical pattern for any host app that exposes a plugin API (Altium, SolidWorks, Eagle, etc.)."
Triggers
"fusion bridge", "fusion 360 bridge", "fusion bridge source", "fusion addin bridge", "adom-fusion-addin", "fusion_export_step", "fusion_walk_cloud_tree", "passthrough bridge", "add-in bridge pattern", "altium bridge pattern", "solidworks bridge", "fork the fusion bridge", "fusion bridge architecture"

Recent activity

7 commits