From 8f96009fe52fd41ba10059193c901ce58bed3df6 Mon Sep 17 00:00:00 2001 From: Jeff Young Date: Fri, 20 Oct 2023 12:12:58 +0100 Subject: [PATCH] Hints and fixes for separate checking of milling cutter size and drill size. Fixes https://gitlab.com/kicad/code/kicad/-/issues/15886 --- pcbnew/dialogs/panel_setup_rules_help.md | 9 +++++++++ pcbnew/drc/drc_item.cpp | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/pcbnew/dialogs/panel_setup_rules_help.md b/pcbnew/dialogs/panel_setup_rules_help.md index e482117dce..68f6147150 100644 --- a/pcbnew/dialogs/panel_setup_rules_help.md +++ b/pcbnew/dialogs/panel_setup_rules_help.md @@ -296,6 +296,15 @@ Deprecated; use `intersectsArea()` instead. (constraint connection_width (min 0.8mm)) (condition "A.NetClass == 'Power'")) + # Separate drill bit and milling cutter size constraints + (rule "Plated through-hole size" + (constraint hole_size (min 0.2mm) (max 6.35mm)) + (condition "A.isPlated() && A.Hole_Size_X == A.Hole_Size_Y")) + (rule "Plated slot size" + (constraint hole_size (min 0.5mm)) + (condition "A.isPlated() && A.Hole_Size_X != A.Hole_Size_Y")) + + ### Documentation For the full documentation see [https://docs.kicad.org](https://docs.kicad.org/GetMajorMinorVersion/en/pcbnew/pcbnew.html#custom_design_rules). \ No newline at end of file diff --git a/pcbnew/drc/drc_item.cpp b/pcbnew/drc/drc_item.cpp index 54dd6a7fa6..9114b43f0e 100644 --- a/pcbnew/drc/drc_item.cpp +++ b/pcbnew/drc/drc_item.cpp @@ -122,7 +122,7 @@ DRC_ITEM DRC_ITEM::annularWidth( DRCE_ANNULAR_WIDTH, wxT( "annular_width" ) ); DRC_ITEM DRC_ITEM::drillTooSmall( DRCE_DRILL_OUT_OF_RANGE, - _( "Drill out of range" ), + _( "Hole size out of range" ), wxT( "drill_out_of_range" ) ); DRC_ITEM DRC_ITEM::viaDiameter( DRCE_VIA_DIAMETER, @@ -134,7 +134,7 @@ DRC_ITEM DRC_ITEM::padstack( DRCE_PADSTACK, wxT( "padstack" ) ); DRC_ITEM DRC_ITEM::microviaDrillTooSmall( DRCE_MICROVIA_DRILL_OUT_OF_RANGE, - _( "Micro via drill out of range" ), + _( "Micro via hole size out of range" ), wxT( "microvia_drill_out_of_range" ) ); DRC_ITEM DRC_ITEM::courtyardsOverlap( DRCE_OVERLAPPING_FOOTPRINTS,