Run SILK_CLEARANCE rules on mask layer when testing silk-to-mask clearance.
This allows custom rules to be authored without firing the auto-generated rule from Board Setup > Silk Item Clearance (which should be only for silk- to-silk clearances). Fixes https://gitlab.com/kicad/code/kicad/issues/14417
This commit is contained in:
parent
2443bc6e29
commit
0266d03f79
|
@ -293,12 +293,12 @@ void DRC_TEST_PROVIDER_SOLDER_MASK::testSilkToMaskClearance()
|
||||||
PCB_LAYER_ID maskLayer = layer == F_SilkS ? F_Mask : B_Mask;
|
PCB_LAYER_ID maskLayer = layer == F_SilkS ? F_Mask : B_Mask;
|
||||||
BOX2I itemBBox = item->GetBoundingBox();
|
BOX2I itemBBox = item->GetBoundingBox();
|
||||||
DRC_CONSTRAINT constraint = m_drcEngine->EvalRules( SILK_CLEARANCE_CONSTRAINT,
|
DRC_CONSTRAINT constraint = m_drcEngine->EvalRules( SILK_CLEARANCE_CONSTRAINT,
|
||||||
item, nullptr, layer );
|
item, nullptr, maskLayer );
|
||||||
int clearance = constraint.GetValue().Min();
|
int clearance = constraint.GetValue().Min();
|
||||||
int actual;
|
int actual;
|
||||||
VECTOR2I pos;
|
VECTOR2I pos;
|
||||||
|
|
||||||
if( constraint.GetSeverity() == RPT_SEVERITY_IGNORE || clearance <= 0 )
|
if( constraint.GetSeverity() == RPT_SEVERITY_IGNORE || clearance < 0 )
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
std::shared_ptr<SHAPE> itemShape = item->GetEffectiveShape( layer );
|
std::shared_ptr<SHAPE> itemShape = item->GetEffectiveShape( layer );
|
||||||
|
|
Loading…
Reference in New Issue