Propose a change
Name Last commit message Last updated
screenshots Delete screenshots/hero.png 22d ago
skills Publish source 27d ago
src eagle.rs: place RefDes/Value clear of full footprint Y extent (match adom-footprint fp_gen); altium.rs tidy; README license section 22d ago
.gitignore Publish 1.0.3 27d ago
Cargo.lock Publish source 27d ago
Cargo.toml Publish source 27d ago
hero-build-variants.js Hero v7: name-led title (Adom SF Convert) + distinct value-prop subtitle + category chip, per adom-wiki-hero structure 22d ago
install.sh Publish source 27d ago
LICENSE Publish 1.0.1 27d ago
package.json Publish 1.0.8 22d ago
page.json Remove internal identifiers from page.json 10d ago
README.md normalize open-source: MIT LICENSE + license field + README license 25d ago
SKILL.md Publish source 27d ago
uninstall.sh Publish source 27d ago

What this is

adom-sfconvert converts foreign EDA libraries — EAGLE / Fusion 360 .lbr and Altium .SchLib / .PcbLib / .IntLib — into standard KiCad symbol + footprint, and renders each format's own geometry as a native SVG. The name echoes adom-ds2sf: sf = symbol + footprint.

Same footprint from four sources, each rendered from its own geometry

The same part's footprint from four sources — KiCad, Fusion, Altium (native), and the datasheet — each rendered from its OWN geometry so you can see what disagrees.

It is fully native — pure Rust, runs in your container, no KiCad install and no service round-trip. Each format is read by the right native reader:

EAGLE/Fusion .lbr rendered natively — symbol + footprint, no KiCad round-trip

An EAGLE/Fusion .lbr rendered straight from its own geometry by eagle.rs — symbol and footprint, never round-tripped through KiCad.

Input Read by Native?
EAGLE / Fusion .lbr (XML) built-in eagle.rs
Altium .PcbLib (footprints) altium-pcblib
Altium .SchLib (symbols) altium-schlib

Why native matters

The point of pulling a part's CAD from many sources is to compare what's right and what's wrong. If every format is normalised through KiCad's importer first, the sources converge — they all become "KiCad's interpretation," and the disagreements you wanted to catch are erased. adom-sfconvert renders each library from its own bytes, so EAGLE looks like EAGLE and Altium looks like Altium. Conversion to .kicad_sym / .kicad_mod happens only on export.

Usage

adom-sfconvert convert part.lbr     --out-dir ./out --name part   # EAGLE/Fusion
adom-sfconvert convert part.SchLib  --out-dir ./out --name part   # Altium symbol
adom-sfconvert convert part.PcbLib  --out-dir ./out --name part   # Altium footprint
adom-sfconvert version

Each convert emits, into --out-dir:

  • <name>.kicad_sym / <name>.kicad_mod — the export files.
  • <name>-symbol.svg / <name>-footprint.svg — the native thumbnails, drawn straight from the source geometry.

Where it's used

chip-fetcher calls adom-sfconvert to turn every downloaded EAGLE/Fusion and Altium library into a per-source thumbnail, shown side-by-side with the KiCad and datasheet renders so you can pick what to export to your preferred EDA app. After this tool went native, nothing foreign touches the KiCad service — only KiCad's own format is rendered remotely.

Companions

  • adom-ds2sf — extract symbol + footprint from a datasheet PDF.
  • altium-pcblib / altium-schlib — the native Altium readers this builds on.
  • chip-fetcher — the consumer that shows every source for comparison.

License

MIT — © 2026 Adom Industries Inc. Open source; see LICENSE. Modify, fork, and redistribute freely.