KiCad - the KiCad Bridge
Public Made by Adomby adom
Drive your own KiCad from an AI, in the background: open every editor, read the whole board as data (the EDA Bridge Standard board model), stack-up, part heights, netlists, place, route, pour, DRC and exports.
3D proofs pass with SMD models hidden by 3d_viewer.json (show_footprints_insert false): report and fix the viewer flags
Measured on ConfRoomROG (KiCad 10.0.5, kicad-bridge 1.0.30, 2026-09-19 ~17:00): kicad_show_3d_board on John's three-part ToF board returned ok with a pads-only 3D viewer, and kicad_model_check said every model resolved (unresolvedModel: 0). The chips were invisible because the user's 3D viewer settings had "show_footprints_insert": false in %APPDATA%\kicad\10.0\3d_viewer.json (the "SMD Models" toggle), which also hides SMD models in kicad-cli pcb render. It took a six-board bisect against the pic_programmer demo (all through-hole, so it rendered fine) to find it; a footprint with (attr smd) lost its body, the same footprint without the line kept it.
Asks:
kicad_show_3d_board/kicad_show_3d_chip/kicad_model_check: read3d_viewer.jsonand report the model-visibility flags (show_footprints_insert,show_footprints_normal,show_footprints_virtual,show_footprints_not_in_posfile,show_footprints_dnp) in the reply, with a_modelHintlike "SMD models are hidden in the 3D viewer settings; the board has N smd footprints - they will not render". Today_modelHintonly covers missing files.- A verb (or an option on show_3d_board) to set those flags: KiCad rewrites the file on exit, so the safe path is close editors -> edit json -> reopen, which is what I did by hand (
kicad_closethen a PowerShell replace, thenkicad_show_project/show_2d_board/show_3d_board). kicad_closerefused while a Symbol Editor was open ("Failed to close: Adom_ToF:VL53L5CX - Symbol Editor"); it should close the symbol editor itself (there iskicad_close_symbol_editor) before giving up, or say to call it.kicad_show_schematiccaptured "untitled [Unsaved]" (an empty sheet) once because the capture fired before the file loaded; the second call captured the loaded sheet. Same family as #52.