diff --git a/pcbnew/drc/drc_test_provider_edge_clearance.cpp b/pcbnew/drc/drc_test_provider_edge_clearance.cpp index fb6762c524..fc05372e0c 100644 --- a/pcbnew/drc/drc_test_provider_edge_clearance.cpp +++ b/pcbnew/drc/drc_test_provider_edge_clearance.cpp @@ -239,8 +239,13 @@ bool DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run() { for( PAD* pad : footprint->Pads() ) { - if( pad->GetAttribute() == PAD_ATTRIB::NPTH ) - edgesTree.Insert( pad, Edge_Cuts, m_largestEdgeClearance ); + if( pad->GetAttribute() == PAD_ATTRIB::NPTH && pad->HasHole() ) + { + // edge-clearances are for milling tolerances (drilling tolerances are handled + // by hole-clearances) + if( pad->GetDrillShape() == PAD_DRILL_SHAPE_OBLONG ) + edgesTree.Insert( pad, Edge_Cuts, m_largestEdgeClearance ); + } if( pad->GetProperty() == PAD_PROP::CASTELLATED ) m_castellatedPads.push_back( pad );