app
adom-desktop-altium-bridge
Public Unreviewedby barrett-land
Adom Desktop bridge for Altium Designer — build and edit file-based symbol/footprint/Integrated libraries with LCSC/JLCPCB part numbers attached, and generate batch outputs (STEP, PDF, Gerber, BOM, CPL) from an OutJob, by driving Altium via DelphiScript.
← Commit history
Publish 0.0.50
11 files changed
+31−17
README.md+1−1@@ -11,7 +11,7 @@ verbs. ```bash adom-wiki pkg install barrett-land/adom-desktop-altium-bridge # the skill, in the container-adom-desktop bridge_install '{"manifestUrl":"https://wiki.adom.inc/download/barrett-land/adom-desktop-altium-bridge/0.0.49/altium-bridge-manifest.json"}'+adom-desktop bridge_install '{"manifestUrl":"https://wiki.adom.inc/download/barrett-land/adom-desktop-altium-bridge/0.0.50/altium-bridge-manifest.json"}' adom-desktop --ai-thread "<your thread>" altium_ping '{}' ```
SKILL.md+1−1@@ -12,7 +12,7 @@ forwards work into the running GUI as DelphiScript via `X2.EXE`. ## Install ```bash-adom-desktop bridge_install '{"manifestUrl":"https://wiki.adom.inc/download/barrett-land/adom-desktop-altium-bridge/0.0.49/altium-bridge-manifest.json"}'+adom-desktop bridge_install '{"manifestUrl":"https://wiki.adom.inc/download/barrett-land/adom-desktop-altium-bridge/0.0.50/altium-bridge-manifest.json"}' adom-desktop --ai-thread "<your thread>" altium_ping '{}' # -> {"altiumInstalled": true, "version": "..."} ```
altium-bridge-manifest.json+3−3@@ -1,3 +1,3 @@-{ "manifest_version": 1, "name": "altium", "version": "0.0.49",- "url": "https://wiki.adom.inc/download/barrett-land/adom-desktop-altium-bridge/0.0.49/altium-bridge-v0.0.49.zip",- "sha256": "309bc3d30a134c6bdba5422a71cf3eca61ea6ec7ed3da0f0e985cad741f3f221", "size": 42499, "released_at": "2026-08-12T17:39:08Z" }+{ "manifest_version": 1, "name": "altium", "version": "0.0.50",+ "url": "https://wiki.adom.inc/download/barrett-land/adom-desktop-altium-bridge/0.0.50/altium-bridge-v0.0.50.zip",+ "sha256": "529217a4b61861ca2ba4ff5d825f78d639d68b93ff426951e935ce3d79a1cf64", "size": 42781, "released_at": "2026-08-12T17:45:50Z" }
altium-bridge-v0.0.50.zipadded⋯ 1 unchanged line ⋯
bridge-src/BRIDGE_VERSION+1−1@@ -1 +1 @@-0.0.49+0.0.50
bridge-src/__pycache__/server.cpython-312.pyc⋯ 1 unchanged line ⋯
bridge-src/addin/AdomAltium/AdomAltium.pas+11−1@@ -1465,7 +1465,7 @@ end; procedure CmdSetTextStyle; var SchPath, CompRef, SavedStr, BodyStr : String;- FontId, Colr, PinColr, BodyColr, UseBody, cPins, nTxt, nCmp, nPin, nBody : Integer;+ FontId, Colr, PinColr, BodyColr, FillColr, UseBody, cPins, nTxt, nCmp, nPin, nBody : Integer; Lib : ISch_Lib; Cmp : ISch_Component; It : ISch_Iterator;@@ -1487,6 +1487,8 @@ begin { 'auto' (the default) picks per component: blue for a 2-pin passive, black for an IC. } AutoBody := (BodyStr = '') or (BodyStr = 'auto') or (BodyStr = 'AUTO'); BodyColr := StrToIntDef(BodyStr, 16711680);+ { Body FILL: Altium's pale yellow. KiCad bodies import with a maroon fill. -1 = skip. }+ FillColr := StrToIntDef(Req.Values['bodyfill'], 11599871); if SchPath = '' then begin RespErr('missing schlib'); Exit; end; GStage := 'open schlib';@@ -1611,6 +1613,13 @@ begin while G <> nil do begin G.Color := UseBody;+ { The FILL is a separate colour again, and easy to miss because+ Altium omits Color= when it is 0 but always writes AreaColor.+ An imported body can arrive with AreaColor=132 (KiCad maroon)+ and IsSolid=T, rendering as a solid maroon block behind a+ correctly-coloured outline. Altium's own fill is 11599871 =+ RGB(255,255,176), pale yellow. -1 leaves the fill alone. }+ if FillColr >= 0 then G.AreaColor := FillColr; Inc(nBody); G := It.NextSchObject; end;@@ -1635,6 +1644,7 @@ begin ', "pinColor": ' + IntToStr(PinColr) + ', "bodyPrimitives": ' + IntToStr(nBody) + ', "bodyColor": ' + IntToStr(UseBody) ++ ', "bodyFill": ' + IntToStr(FillColr) + ', "saved": ' + SavedStr); end;
bridge-src/bridge.json+1−1@@ -2,7 +2,7 @@ "manifest_version": 1, "name": "altium", "displayName": "Altium Bridge",- "version": "0.0.49",+ "version": "0.0.50", "description": "Drives Altium Designer from a container: build, clone and edit file-based symbol/footprint/Integrated libraries with LCSC/JLCPCB part numbers attached, and generate batch outputs (STEP, PDF, Gerber, BOM, CPL) from an OutJob. Pairs with the container-side altium-jlc orchestrator (adom-jlcpcb + chip-fetcher).", "homepage": "https://wiki.adom.inc/adom/adom-desktop-altium-bridge", "author": "Adom Inc.",
bridge-src/server.py+1−1@@ -186,7 +186,7 @@ def handle_set_text_style(args: dict) -> dict: Pin name/number fonts follow the document default and pins are set BLACK (pincolor=0), which is Altium's own pin colour rather than the navy used for parameter text. component='' or '*' restyles every component in the library."""- keys = ("schlib", "component", "fontid", "color", "pincolor", "bodycolor")+ keys = ("schlib", "component", "fontid", "color", "pincolor", "bodycolor", "bodyfill") return addin_call("set_text_style", {k: args.get(k) for k in keys}, timeout=args.get("timeout", 180))
package.json+1−1@@ -1,6 +1,6 @@ { "slug": "adom-desktop-altium-bridge",- "version": "0.0.49",+ "version": "0.0.50", "type": "app", "description": "Adom Desktop bridge for Altium Designer: file-based symbol/footprint/IntLib authoring with LCSC/JLCPCB part numbers, Gerber/BOM/CPL batch output, and an in-process .NET extension adding parameterized headless verbs - STEP export with hole and copper options, and KiCad import with no wizard.", "tags": [
page.json+11−7@@ -1,8 +1,8 @@ { "slug": "adom-desktop-altium-bridge",- "version": "0.0.49",+ "version": "0.0.50", "type": "app",- "description": "Adom Desktop bridge for Altium Designer \u2014 build and edit file-based symbol/footprint/Integrated libraries with LCSC/JLCPCB part numbers attached, and generate batch outputs (STEP, PDF, Gerber, BOM, CPL) from an OutJob, by driving Altium via DelphiScript.",+ "description": "Adom Desktop bridge for Altium Designer: file-based symbol/footprint/IntLib authoring with LCSC/JLCPCB part numbers, Gerber/BOM/CPL batch output, and an in-process .NET extension adding parameterized headless verbs - STEP export with hole and copper options, and KiCad import with no wizard.", "tags": [ "app", "adom-desktop",@@ -18,6 +18,7 @@ }, "needs_sudo": false, "hero": {+ "type": "image", "path": "docs/hero.png" }, "author": {@@ -25,13 +26,16 @@ "email": "[email protected]" }, "discovery_triggers": [- "add a part to my altium library", "drive altium from claude", "altium bridge",- "export step from altium",+ "export step from altium headless",+ "add a part to my altium library",+ "altium extension",+ "install altium extension",+ "altium step export", "run an altium outjob",- "build an altium footprint",- "altium symbol library"+ "import kicad into altium",+ "altium kicad importer" ], "discovery_pitch": "Use when the user wants Claude to author or edit Altium libraries, or to generate STEP/PDF/Gerber/BOM/CPL from an Altium board on their Windows machine.", "sample_prompts": [@@ -48,4 +52,4 @@ "prompt": "Is the Altium bridge connected and what version is it?" } ]-}+}