PnS router: NPTH can be on copper layers, depending of the pad size and the hole size.
Now: round NPTH with a round hole bigger than the pad are not on a copper layer. Other pas shapes are seen on copper layers (far from ideal, but reasonable) Fixes #13214 https://gitlab.com/kicad/code/kicad/issues/13214
This commit is contained in:
parent
8c324f1fc8
commit
161a1e21f5
|
@ -252,7 +252,23 @@ bool isCopper( const PNS::ITEM* aItem )
|
|||
if( parent && parent->Type() == PCB_PAD_T )
|
||||
{
|
||||
PAD* pad = static_cast<PAD*>( parent );
|
||||
return pad->IsOnCopperLayer() && pad->GetAttribute() != PAD_ATTRIB::NPTH;
|
||||
|
||||
if( !pad->IsOnCopperLayer() )
|
||||
return false;
|
||||
|
||||
if( pad->GetAttribute() != PAD_ATTRIB::NPTH )
|
||||
return true;
|
||||
|
||||
// round NPTH with a hole size >= pad size are not on a copper layer
|
||||
// All other NPTH are seen on copper layers
|
||||
// This is a basic criteria, but probably enough for a NPTH
|
||||
if( pad->GetShape() == PAD_SHAPE::CIRCLE )
|
||||
{
|
||||
if( pad->GetSize().x <= pad->GetDrillSize().x )
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
Loading…
Reference in New Issue