app
Adom Library
Public Made by Adomby adom
adom-lbr — the EDA library translator. Bring a component in from any supported EDA tool and convert it to any other (KiCad ⇄ Altium ⇄ EAGLE/Fusion) through one canonical adom-lbr JSON — symbol + footprint + 3D + pin↔pad map. Altium is written natively (no Altium needed). Includes the adom-lbr Manager: browse wiki components and view symbol/footprint/3D + the per-EDA layer stackup.
← Commit history
2.45.1: SchLib RECORD=1 ComponentDescription from the Description property (Altium Properties > General > Description was empty; John, 2026-09-19)
5 files changed
+19−5
Cargo.toml+1−1@@ -1,6 +1,6 @@ [package] name = "adom-lbr"-version = "2.45.0"+version = "2.45.1" edition = "2021" description = "adom-lbr generator / EDA translator: the canonical adom-lbr JSON is the hub, with native converters to Altium (.SchLib/.PcbLib/.IntLib), EAGLE/Fusion (.lbr), and KiCad. Altium output is written natively — no Altium needed at conversion time."
SKILL.md+5@@ -67,6 +67,11 @@ read from `distributor_links.<dist>` as a string or an object with `pn` / `part_ are built from these fields, and the wiki link is how the next EE finds the reviewed data. One lookup fills the numbers: `adom-parts-search search <MPN>`. +**Altium component Description (2.45.1).** The SchLib header's `ComponentDescription` (what+Altium shows in Properties > General > Description and in the SCH Library panel list) is+filled from the symbol's Description property; it is a different field from the Description+parameter, and an empty one reads as an unfinished part.+ **Fusion/EAGLE symbols, same rule (2.44.0).** `generate` carries each `.kicad_sym` polyline's stroke width into the `.lbr`: a stroke at or under 0.2 mm (the chip-thumbnailer outline is 0.167 mm) becomes a 0.0254 mm hairline wire, which Fusion draws one pixel wide at any zoom;
VERSION+1−1@@ -1 +1 @@-2.45.0+2.45.1
crates/altium-codec/src/schlib.rs+11−2@@ -328,12 +328,21 @@ fn build_component_data(sym: &Symbol, lib_ref: &str) -> Result<Vec<u8>> { let prefix = sym.designator_prefix.clone().unwrap_or_else(|| "U".into()); let uid = pseudo_uid(&sym.name, 0); - // RECORD=1 — component header.+ // RECORD=1 — component header. ComponentDescription is the Description field+ // Altium shows in Properties > General (and in the SCH Library panel's list); it+ // is separate from the Description PARAMETER, so fill it from that parameter+ // (John, 2026-09-19: "can u get description into that field?"). '|' cannot+ // appear inside a record value.+ let comp_desc = sym.parameters.iter()+ .find(|p| p.name == "Description")+ .map(|p| p.value.replace('|', "/").trim().to_string())+ .filter(|v| !v.is_empty()); out.extend(u16_text_record(&format!( "|RECORD=1|LibReference={lib_ref}|PartCount=1|DisplayModeCount=1|IndexInSheet=-1\ |OwnerPartId=-1|CurrentPartId=1|LibraryPath=*|SourceLibraryName=*|SheetPartFileName=*\ |TargetFileName=*|UniqueID={uid}|AreaColor=11599871|Color=128|PartIDLocked=T\-|AllPinCount={pin_count}",+|AllPinCount={pin_count}{desc}",+ desc = comp_desc.map(|d| format!("|ComponentDescription={d}")).unwrap_or_default(), ))?); // Body: emit the symbol's own graphics if it has any; otherwise a default
package.json+1−1@@ -1,6 +1,6 @@ { "slug": "adom-lbr",- "version": "2.45.0",+ "version": "2.45.1", "type": "app", "description": "adom-lbr \u2014 the EDA library translator. Bring a component in from any supported EDA tool and convert it to any other (KiCad \u21c4 Altium \u21c4 EAGLE/Fusion) through one canonical adom-lbr JSON \u2014 symbol + footprint + 3D + pin\u2194pad map. Altium is written natively (no Altium needed). Includes the adom-lbr Manager: browse wiki components and view symbol/footprint/3D + the per-EDA layer stackup.", "dependencies": {},