Skip to content

fix: preserve KiCad project design-rule limits during project export - #4816

Open
iprasen wants to merge 1 commit into
tscircuit:mainfrom
iprasen:fix-kicad-project-rules
Open

iprasen wants to merge 1 commit into
tscircuit:mainfrom
iprasen:fix-kicad-project-rules

Conversation

@iprasen

@iprasen iprasen commented Sep 18, 2026

Copy link
Copy Markdown

Summary

When building with tsci build --kicad-project or --kicad-project-zip, the generated index.kicad_pro previously used a minimal stub scaffold that omitted board.design_settings.rules and net_settings. Explicit board design limits such as min_trace_width and min_board_edge_clearance were dropped, causing native KiCad DRC to evaluate clearances against KiCad fallback defaults instead of the declared project limits.

Changes

  • Replaced createKicadProContent in cli/build/generate-kicad-project.ts with CircuitJsonToKicadProConverter (matching the pattern used in snippet export).
  • Explicitly mapped pcbBoard.min_board_edge_clearance into board.design_settings.rules.min_copper_edge_clearance in both generate-kicad-project.ts and export-snippet.ts.
  • Added unit and integration tests in tests/cli/build/build-kicad-project-rules.test.ts verifying that min_track_width, min_copper_edge_clearance, and net class rules are preserved during export.

Fixes #4716
/claim #4716

Use CircuitJsonToKicadProConverter in generateKicadProject instead of
a minimal stub scaffold so that board design-rule limits and net classes
are preserved in index.kicad_pro. Also explicitly map min_board_edge_clearance
to min_copper_edge_clearance in both build and snippet export paths.

Fixes tscircuit#4716
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

KiCad project export drops explicit board design-rule limits

1 participant