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
0.2.18: silkscreen part name sits clear of the courtyard (top 2.5 mm below the part centre)
2 files changed
+4−3
CHANGELOG.md+1−1@@ -1,7 +1,7 @@ # Changelog ## 0.2.18 (2026-09-20)-- `altium_test_board` writes each part's name on the Top Overlay under its footprint (35 mil stroke text, centred, 2.4 mm below the part centre) so a human reading the board knows which chip is which (John, 2026-09-20: "place onto the silkscreen the name of the chip at that spot on the board"). Same rule as the KiCad and Fusion boards the ToF demo makes. Agent template only.+- `altium_test_board` writes each part's name on the Top Overlay under its footprint (35 mil stroke text, centred, its top 2.5 mm below the part centre so it clears the courtyard) so a human reading the board knows which chip is which (John, 2026-09-20: "place onto the silkscreen the name of the chip at that spot on the board"). Same rule as the KiCad and Fusion boards the ToF demo makes. Agent template only. ## 0.2.17 (2026-09-19) - `altium_place_on_sch` sizes the sheet FROM the parts: pass 1 measures every symbol's bounding box (pins included, +250 mil a side for pin numbers), the custom sheet is the row plus 500 mil between parts and 600 mil margins (never smaller than A4 landscape, 11500 x 7600), any slack is spread evenly, designators sit above and part numbers below each body. The `SheetSizeX/Y` read-back is gone: on ADDevelop it reports the 9500 x 7500 default after a custom size is set, which is what squeezed three parts on top of each other in 0.2.16. John's two reviews in one afternoon: "no real EE would smoosh symbols together, they'd space them out", then "a bit closer together so we get a better screenshot" - the numbers above are the ones he accepted.
src/agent/AdomAgent.pas.tmpl+3−2@@ -3021,14 +3021,15 @@ Begin Inst := PlaceCopy(Board, LibFp, CX, CY); { Part name on the top overlay under each footprint so a human reading the board knows which chip is which (John, 2026-09-20). 35 mil stroke text, ~21 mil per- character, centred on the part; 2.4 mm below its centre clears a 3 mm tall part. }+ character, centred on the part; the text TOP sits 3.4 - 0.9 = 2.5 mm below the part+ centre, clear of a 3 mm tall part's courtyard (1.75 mm) and its silk (1.65 mm). } Txt := PCBServer.PCBObjectFactory(eTextObject, eNoDimension, eCreate_Default); Txt.Layer := eTopOverlay; Txt.Text := LibFp.Name; Txt.Size := MilsToCoord(35); Txt.Width := MilsToCoord(5); Txt.XLocation := CX - MilsToCoord((Length(LibFp.Name) * 21) Div 2);- Txt.YLocation := CY - MMsToCoord(2.4);+ Txt.YLocation := CY - MMsToCoord(3.4); Board.AddPCBObject(Txt); PCBServer.SendMessageToRobots(Board.I_ObjectAddress, c_Broadcast, PCBM_BoardRegisteration, Txt.I_ObjectAddress); End;