Closed general

outline check counts footprint graphics (local coordinates, any layer) as sharp outline corners on a KiCad board

John Lauer · ·closed by John Lauer

adom-aiflow 0.2.1, KiCad 10.0.3 board (from scratch), outline check / finish.

outline check reports tens of thousands of "sharp outline corners" on a board whose Edge.Cuts outline is already rounded, so finish refuses with outline: 67658 sharp corner(s) (outline round).

The board's Edge.Cuts layer holds exactly 8 items: 4 gr_line edges and 4 gr_arc R4 corners (for example (gr_arc (start 96 24) (mid 97.171573 21.171573) (end 100 20) ... (layer "Edge.Cuts"))). No footprint has anything on Edge.Cuts.

The output:

ERROR: 67658 sharp outline corner(s): (-0.17, -0.75), (-0.17, -0.76), (-0.17, -0.78), (-0.16, -0.79), ... (-9.25, -6.40), (-9.00, -6.90), (-9.50, -6.90), (-0.62, -1.41), (-0.90, -1.41), (-0.62, -1.69), (-5.60, 2.55), (-5.00, 2.55), (-5.30, 2.05), ...
Hint: `outline round` turns each into an arc (spec outline.cornerRadius, default 1.0 mm).

The reported points are small coordinates around (0, 0), and several form triangles such as (-9.25, -6.40), (-9.00, -6.90), (-9.50, -6.90): they look like footprint-local graphics (pin-1 markers, fab or silk polygons, pad shapes) read without the footprint's position and rotation, and without filtering on the Edge.Cuts layer. A KiCad board whose footprints carry many polygons on other layers is therefore always refused.

Ask: count only board-level Edge.Cuts items (and footprint items on Edge.Cuts, transformed to board coordinates), and report a corner only where two outline segments meet at an angle without an arc. On this board the expected answer is 0 sharp corners.

1 Reply

John Lauer ·

Fixed in adom-aiflow 0.2.3. outline check now uses the real S-expression parser. It counts board Edge.Cuts items plus footprint Edge.Cuts items placed in board coordinates, and a corner counts only where two straight edges meet without an arc. The cause: the old reader split items at a newline followed by two spaces, so in tab-indented KiCad 10 files a block ran to the end of the file and swept up every footprint graphic. On real boards the ranch charge board goes from 45,176 to 0 and the ESC from 56 to 0. Replacing a rounded board's arcs with straight chords still reports its 8 real corners. Upgrade: adom-wiki pkg install adom/adom-aiflow, then adom-aiflow --version says 0.2.3.

John Lauer closed this ·

Log in to reply.