Don't run clearance tests on unflashed NPTH pad layers.
This commit is contained in:
parent
d0b82ea26e
commit
33aa6edb01
|
@ -162,9 +162,6 @@ bool DRC_TEST_PROVIDER_COPPER_CLEARANCE::Run()
|
||||||
if( !reportProgress( ii++, count, delta ) )
|
if( !reportProgress( ii++, count, delta ) )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if( item->Type() == PCB_FP_TEXT_T && !static_cast<FP_TEXT*>( item )->IsVisible() )
|
|
||||||
return true;
|
|
||||||
|
|
||||||
m_copperTree.Insert( item, m_largestClearance );
|
m_copperTree.Insert( item, m_largestClearance );
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
@ -271,6 +268,14 @@ bool DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackAgainstItem( TRACK* track, SHA
|
||||||
int actual;
|
int actual;
|
||||||
VECTOR2I pos;
|
VECTOR2I pos;
|
||||||
|
|
||||||
|
if( other->Type() == PCB_PAD_T )
|
||||||
|
{
|
||||||
|
PAD* pad = static_cast<PAD*>( other );
|
||||||
|
|
||||||
|
if( pad->GetAttribute() == PAD_ATTRIB_NPTH && !pad->FlashLayer( layer ) )
|
||||||
|
testClearance = false;
|
||||||
|
}
|
||||||
|
|
||||||
if( testClearance )
|
if( testClearance )
|
||||||
{
|
{
|
||||||
constraint = m_drcEngine->EvalRulesForItems( CLEARANCE_CONSTRAINT, track, other, layer );
|
constraint = m_drcEngine->EvalRulesForItems( CLEARANCE_CONSTRAINT, track, other, layer );
|
||||||
|
@ -520,6 +525,12 @@ bool DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem( PAD* pad, SHAPE* pa
|
||||||
testClearance = false;
|
testClearance = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( pad->GetAttribute() == PAD_ATTRIB_NPTH && !pad->FlashLayer( layer ) )
|
||||||
|
testClearance = false;
|
||||||
|
|
||||||
|
if( !IsCopperLayer( layer ) )
|
||||||
|
testClearance = false;
|
||||||
|
|
||||||
// Track clearances are tested in testTrackClearances()
|
// Track clearances are tested in testTrackClearances()
|
||||||
if( dynamic_cast<TRACK*>( other) )
|
if( dynamic_cast<TRACK*>( other) )
|
||||||
testClearance = false;
|
testClearance = false;
|
||||||
|
@ -615,6 +626,9 @@ bool DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem( PAD* pad, SHAPE* pa
|
||||||
// Pads of the same (defined) net get a waiver on clearance tests
|
// Pads of the same (defined) net get a waiver on clearance tests
|
||||||
if( pad->GetNetCode() && otherPad->GetNetCode() == pad->GetNetCode() )
|
if( pad->GetNetCode() && otherPad->GetNetCode() == pad->GetNetCode() )
|
||||||
testClearance = false;
|
testClearance = false;
|
||||||
|
|
||||||
|
if( otherPad->GetAttribute() == PAD_ATTRIB_NPTH && !otherPad->FlashLayer( layer ) )
|
||||||
|
testClearance = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( testClearance )
|
if( testClearance )
|
||||||
|
|
Loading…
Reference in New Issue