Don't apply electrical clearance to shapes on Edge.Cuts.
Also don't apply them to NPTH holes.
This commit is contained in:
parent
c64ea07d0b
commit
604a148f40
|
@ -769,18 +769,20 @@ void ZONE_FILLER::buildCopperItemClearances( const ZONE* aZone, PCB_LAYER_ID aLa
|
||||||
if( aItem->GetBoundingBox().Intersects( zone_boundingbox ) )
|
if( aItem->GetBoundingBox().Intersects( zone_boundingbox ) )
|
||||||
{
|
{
|
||||||
bool ignoreLineWidths = false;
|
bool ignoreLineWidths = false;
|
||||||
int gap = evalRulesForItems( CLEARANCE_CONSTRAINT, aZone, aItem, aLayer );
|
int gap = bds.GetDRCEpsilon();
|
||||||
|
|
||||||
if( aItem->IsOnLayer( Edge_Cuts ) )
|
if( aItem->IsOnLayer( aLayer ) )
|
||||||
|
{
|
||||||
|
gap = std::max( gap, evalRulesForItems( CLEARANCE_CONSTRAINT,
|
||||||
|
aZone, aItem, aLayer ) );
|
||||||
|
}
|
||||||
|
else if( aItem->IsOnLayer( Edge_Cuts ) )
|
||||||
{
|
{
|
||||||
gap = std::max( gap, evalRulesForItems( EDGE_CLEARANCE_CONSTRAINT,
|
gap = std::max( gap, evalRulesForItems( EDGE_CLEARANCE_CONSTRAINT,
|
||||||
aZone, aItem, Edge_Cuts ) );
|
aZone, aItem, Edge_Cuts ) );
|
||||||
|
|
||||||
ignoreLineWidths = true;
|
ignoreLineWidths = true;
|
||||||
gap = std::max( gap, bds.GetDRCEpsilon() );
|
|
||||||
}
|
}
|
||||||
|
else if( aItem->IsOnLayer( Margin ) )
|
||||||
if( aItem->IsOnLayer( Margin ) )
|
|
||||||
{
|
{
|
||||||
gap = std::max( gap, evalRulesForItems( EDGE_CLEARANCE_CONSTRAINT,
|
gap = std::max( gap, evalRulesForItems( EDGE_CLEARANCE_CONSTRAINT,
|
||||||
aZone, aItem, Margin ) );
|
aZone, aItem, Margin ) );
|
||||||
|
|
Loading…
Reference in New Issue