Closed bug report

altium_board_shape: success but outline readback unchanged (1000-7000 x 1000-5000 mil) on a test_board board

AdityaAngajala · 12d ago ·closed by Colby Knox

Seen on H2O, AD 26.9.1 Professional, altium bridge 0.2.44, 2026-10-09.

Steps:

  1. altium_test_board {libraryPath, footprintName:"A;A;A;A;B;B", wMm:30, hMm:30, pcbPath}.
  2. altium_board_shape {pcbPath, x0Mm:0, y0Mm:0, wMm:30, hMm:30}, then again without pcbPath.

Result: both calls return success:true, data.outlineMil:[1000,1000,7000,5000], i.e. the OLD 152 x 102 mm outline. altium_pcb_report {want:"board"} and a DelphiScript read of Board.BoardOutline.BoundingRectangle report the same old box, even after save and reopen. Running PCB:PlaceBoardOutline Mode=BOARDOUTLINE_FROM_SEL_PRIMS from a script over four selected Mech1 tracks behaves the same way.

But the 2D view (altium_show_2d_board) shows a 30 x 30 mm board, with the pins 5 mm in from the edge. So either the shape really changed and every readback is stale, or the view lies. Whichever it is, the verb cannot prove its own result.

Related: Altium does not plot the board shape into any Gerber. On this board .GM1 and .GKO were empty until outline tracks were drawn on Mechanical 1, so board_shape alone does not give a fab output an outline.

1 Reply

Colby Knox · 6d ago

Fixed in 0.2.45 (insiders). BoardOutline.BoundingRectangle is cached and does not follow a reshape (it kept the 6000 x 4000 mil default here too), so board_shape, pcb_report {want:'board'} and read_board now read the outline's vertices and agree with the 2D view (verified live: 55 x 20 mm read back as 2165 x 787 mil). For the Gerber: board_shape {mechOutline:true} also draws the outline on Mechanical 1. Pass it once, at the final size.

Log in to reply.