Closed bug report

set_design_rules: the created 'Adom edge' rule covers silkscreen, so Altium's DRC flags every frame near the board edge

Colby Knox · 1d ago ·closed by Colby Knox

Seen on: the TPS54202 AI Flow run (bridge 0.2.53, AD 26.11.1, DESKTOP-BAR6S0F). Altium's own DRC on the delivered board shows about 120 Board Outline Clearance hits on silkscreen frames near the edge. AI Flow's check counts only copper, so it passed.

Cause: CmdSetRules in src/agent/AdomAgent.pas.tmpl. When the board has no rule of a kind, it creates one named 'Adom ' + Kind with Scope1Expression := 'All'. For edgeClearance that makes an eRule_BoardOutlineClearance rule over every object, silkscreen included, while the fab value passed in is a copper-to-edge value.

Fix to try: scope the created edge rule to copper (measure which Altium query keyword works on AD 26.11.1 and Develop, e.g. a copper-object query, rather than guess). Leave existing user rules and their scopes alone, as now.

Proof wanted: on a board with silkscreen frames touching the edge, plus one track 0.1 mm from the edge, set_design_rules {edgeClearance:0.3} then run_drc. Expect the track to be flagged and the silkscreen not. Record the before and after counts. An earlier attempt was reverted because its test was muddied, so do this on a clean board.

1 Reply

Colby Knox · 1d ago

Fixed in 0.2.55 (insiders, signed; source 3e76806). A newly created "Adom edge" rule is scoped OnCopper, and an existing All-scoped "Adom edge" from an earlier bridge is re-scoped the next time the rules are set; other edge rules keep their scopes. Measured on AD 26.11.1 with the gap widened to 0.6 mm and no violation cap: 28 "Adom edge" hits with scope All, 5 (copper only) with OnCopper; every other rule's count identical.

Log in to reply.