app
Altium - the Altium Bridge
Public Made by Adomby adom
Adom Bridge for Altium Designer: a resident DelphiScript agent gives the AI eval, the 1,100-command process launcher, all 8 EDA surfaces with screenshots, compile/ERC, DRC, OutJob outputs, native SchLib/PcbLib authoring with STEP 3D bodies, and dialog handling by PID.
← Commit history
page.json+14−3@@ -4,7 +4,7 @@ "type": "app", "title": "Altium - the Altium Bridge", "brief": "Adom Bridge for Altium Designer: a resident DelphiScript agent gives the AI eval, the 1,100-command process launcher, all 8 EDA surfaces with screenshots, compile/ERC, DRC, OutJob outputs, native SchLib/PcbLib authoring with STEP 3D bodies, and dialog handling by PID.",- "version": "0.1.4",+ "version": "0.1.5", "hero": { "type": "image", "path": "screenshots/hero.png"@@ -83,7 +83,16 @@ "altium screenshot", "what is open in altium", "altium dialog",- "altium not responding"+ "altium not responding",+ "add a part to my altium library",+ "import a component into altium",+ "altium part with lcsc number",+ "altium part with mouser number",+ "add a resistor to altium",+ "import kicad symbol into altium",+ "kicad to altium",+ "convert kicad library to altium",+ "altium intlib import" ], "discovery_pitch": "Drive the user's real Altium Designer from an AI: open any design surface, author native libraries with 3D bodies, run DRC and OutJobs, and screenshot everything back.", "metadata": {},@@ -117,6 +126,8 @@ "dashboard/ui/index.html", "dashboard/ui/newbie-panel.js", "dashboard/ui/altium-logo.png",- "dashboard/ui/dock-altium.svg"+ "dashboard/ui/dock-altium.svg",+ "skills/altium-part-import/SKILL.md",+ "skills/altium-kicad-import/SKILL.md" ] }
skills/altium-bridge-plan/SKILL.md+3@@ -307,6 +307,9 @@ Long-job progress goes on the Windows taskbar icon ONLY (`desktop_taskbar` progr ### Ralph rule for generated CAD (John, 2026-08-30) Frame-check EVERY generated look/variant, not a sample — the shipped symbol had colliding 4-side names, visible param texts (SetSchParam defaulted IsHidden False; now True), and std==2col, all invisible in a 3-of-10 spot check. symbol_modes.py now sizes bodies from measured name lengths (55 mil/char); ralph the full matrix before reporting. +### Barrett parity ledger (updated 2026-08-30, bridge 0.1.4)+CORE PARITY reached: clone_symbol (per-primitive, all display modes), rename_symbol, remove_symbol, read_symbol (pins/params/modes), copy_footprint (pads+bodies+drawing), rename_footprint, remove_footprint — all smoke-tested on LAN7800 with zero dialogs. Still open before deprecating barrett-land/adom-desktop-altium-bridge: import_part (composite; drive with existing verbs), cleanup_libs, set_text_style, set_visibility, create_resistor, cross-lib copy; repoint altium-part-importer; swap the adom/altium hub row. Clones deliberately do NOT copy parameters (a reused symbol must not inherit the source MPN).+ ## 6k. LAN7800 creative import (2026-08-30) — variants, display modes, footprint models, board proof New verbs (all agent-lane, all measured): `altium_build_footprint {libraryPath, spec}` (spec from `tools/kicad2altium.py`: pads incl. duplicate-designator through-hole vias, roundrect %, tracks/arcs/filled discs on named mech layers), `altium_build_symbol_modes {libraryPath, spec}` (ONE component, N display modes from `tools/symbol_modes.py`), `altium_symbol_mode {mode}` (editor-driven: `Sch:ToggleComponentDisplayMode Action=Mode0/Next` — `Comp.DisplayMode` changes data only), `altium_add_models {models[], params, comment, description}` (N PCBLIB implementations = Altium footprint variants; the user picks the current footprint on the placed part), `altium_normalize_bodies`, `altium_test_board {footprintName, wMm, hMm, assigns, stubs}`, `altium_board_shape {x0Mm,y0Mm,wMm,hMm}` (process `PCB:PlaceBoardOutline Mode=BOARDOUTLINE_FROM_SEL_PRIMS` on 4 temp selected tracks — `BoardOutline.PointCount/Segments` is a silent no-op, `.Clear` halts), `altium_swap_footprint {footprintName, libraryPath, assigns}` (remove + per-primitive re-place at the same x/y, nets re-assigned by designator — tracks untouched, so wiring survives), `altium_pcb_report` gained `padsBboxMil`, `nets`, `tracks`.