Download

name: adom-lbr-fusion-export description: > Export a KiCad part to a Fusion 360 library (.lbr) with a REAL footprint and a 3D body — and avoid the four traps that bite. Companion to the adom-lbr app. Use when generating/importing an EAGLE .lbr for Fusion 360 (or Altium/OrCAD), attaching a 3D model to a Fusion package, or debugging a wrong footprint / a gray 3D placeholder / a rejected URN. Trigger words: fusion library export, fusion 360 library, lbr for fusion, eagle lbr, .lbr footprint, lbr 3d model, package3d, package3dinstance, wip_urn, fusion cloud urn, adsk.wipprod fs.file, bind 3d, create3dpackage, lbr placeholder footprint, lbr footprint wrong, fusion gray placeholder, fusion no components, altium lbr, orcad lbr.

adom-lbr — Fusion 360 library export

How to turn a KiCad part into a Fusion 360 library that places correctly — with the real footprint and a 3D body. The same .lbr also imports into Altium and OrCAD. This skill is the focused field guide; the adom-lbr app is the tool. Read this before exporting an .lbr you'll fabricate or hand to Fusion.

The one-liner

adom-lbr generate --sym part.kicad_sym --fp part.kicad_mod --model part.step -o part.lbr
#                                        ^^^^ real footprint   ^^^^^^^ 3D handoff sidecar

Then the Fusion bridge attaches the 3D (it can't be baked into the file).

The four traps (this is why the skill exists)

  1. No --fp → a 2-column PLACEHOLDER, not the real footprint. Without the .kicad_mod, every pad is dumped into two columns. A 4-sided LQFP comes out as a domino. Always pass --fp for anything you'll fabricate. The tool now prints a HINT when you forget — heed it.

  2. 3D is a Fusion-side ATTACH, not a flat-file write. A 3D body only renders once Fusion brings the model into a session. So the .lbr stays 2D and the bridge does: open .lbr (library active) → Electron.Create3DPackage → import model.path → orient → Package3DStop (FINISH) → Save. That step both binds and renders. --model just emits the sidecar that points the bridge at the model + package.

  3. Self-hosted models use wip_urn, NOT urn:adsk.eagle:package. That eagle form is for MANAGED (library.io) parts only. A model you upload yourself links by the versioned file URN with an empty urn:

    <package3d name="P" urn="" wip_urn="urn:adsk.wipprod:fs.file:vf.<id>?version=N"
               locally_modified="yes" type="model">…</package3d>
    <!-- device: --> <package3dinstance package3d_urn="urn:adsk.wipprod:fs.file:vf.<id>?version=N"/>
    
  4. Never put a dm.lineage URN in the .lbr. Fusion pins the versioned fs.file:vf …?version=N. dm.lineage is the stable cross-version id — keep it only as sidecar provenance. adom-lbr bind-3d refuses a dm.lineage URN.

Bonus: a pre-written wip_urn shows a gray placeholder on a cold open until the model is brought into a session — so bind-3d is a fast-path for known-synced models, never a substitute for the bridge attach.

The flow (who does what)

Step Who Command / action
Generate 2D .lbr + sidecar adom-lbr generate --sym … --fp … --model part.step
Attach 3D (binds and renders) Fusion bridge Create3DPackage → import → orient → FINISH → Save
Report the minted URN Fusion bridge fusion_aps_file_info {query:"<package>"}fs.file:vf…?version=N
Record URN back (provenance) adom-lbr bind-3d --record-only --sidecar part.fusion3d.json --wip-urn <that>
(Optional) bake binding into .lbr adom-lbr bind-3d --lbr part.lbr --wip-urn <that>

The in-Fusion library is the runtime source of truth; the sidecar is adom-lbr-owned bookkeeping (idempotency + provenance).

Footprint mapping facts

  • KiCad is Y-down, EAGLE is Y-up → Y is negated.
  • The KiCad pad angle maps directly to EAGLE rot= (KiCad 90 → R90), matching Fusion's own export — top/bottom QFP/SOIC pads get rot="R90".
  • Silkscreen outline comes from the footprint body (F.SilkSF.Fab → pad extents), matched per-layer.

Drawing the chip outline on the symbol — --symbol-art

If adom-symbol gave a 3D outline (<mpn>-3d-outline-*.svg), draw it on the symbol:

adom-lbr generate --sym P.kicad_sym --fp P.kicad_mod --symbol-art P-3d-outline-bold.svg -o P.lbr
  • Transcribes the outline's polylines → EAGLE <wire>s on layer 94, Y negated, centred + scaled to ~0.38× the body (matches adom-symbol). Tune with --symbol-art-scale. One .lbr carries it into Fusion/Altium/OrCAD.
  • Pitfall — heavy art: -blueprint ≈ 3000 wires / ~300 KB; the tool prints a WARN telling you to use a lighter -bold/-thin outline. Heed it.
  • Standing rule: match adom-symbol's outline as closely as possible on every export. .lbr done; KiCad .kicad_sym + future native exporters are TODO (../../docs/ROADMAP.md).

Quick triage

Symptom Fix
Footprint is two columns / a domino regenerate with --fp part.kicad_mod
Fusion: "No Components" adom-lbr lint part.lbr → fix the reported code
3D body is a gray placeholder let the bridge attach it (Create3DPackage → FINISH)
bind-3d rejected the URN self-uploaded → --wip-urn (fs.file:vf…?version=N); managed → --urn
3D offset / wrong pin 1 run chipfit; set placement in the sidecar before FINISH
Chip drawing on symbol too big/small --symbol-art-scale <frac> (default 0.38)
.lbr huge / symbol editor laggy use a lighter outline (-bold/-thin) or drop --symbol-art

Human walkthrough + screenshots: README.md next to this skill (and the deeper dive in docs/fusion-export.md). This is a sub-skill of the adom-lbr app — it installs and surfaces with it.