Skip to content
Snippets Groups Projects
Commit 0c817288 authored by Seth Hillbrand's avatar Seth Hillbrand :flag_il:
Browse files

Prevent soldermask bridge DRC error with mask pad

We checked logical pad matching when looking at pad-based mask but we
should also do the same for aperture masks
parent 45559cb8
No related branches found
No related tags found
No related merge requests found
Pipeline #1502908379 passed
......@@ -395,7 +395,7 @@ bool DRC_TEST_PROVIDER_SOLDER_MASK::checkMaskAperture( BOARD_ITEM* aMaskItem, BO
return false;
}
if( fp && fp->IsNetTie() && aTestItem->GetParentFootprint() == fp )
if( fp && aTestItem->GetParentFootprint() == fp )
{
std::map<wxString, int> padToNetTieGroupMap = fp->MapPadNumbersToNetTieGroups();
PAD* padA = nullptr;
......@@ -407,13 +407,9 @@ bool DRC_TEST_PROVIDER_SOLDER_MASK::checkMaskAperture( BOARD_ITEM* aMaskItem, BO
if( aTestItem->Type() == PCB_PAD_T )
padB = static_cast<PAD*>( aTestItem );
if( padA && padB )
if( padA && padB && ( padA->SameLogicalPadAs( padB ) || padA->SharesNetTieGroup( padB ) ) )
{
int netTieGroupA = padToNetTieGroupMap[padA->GetNumber()];
int netTieGroupB = padToNetTieGroupMap[padB->GetNumber()];
if( netTieGroupA >= 0 && netTieGroupA == netTieGroupB )
return false;
return false;
}
else if( padA && aTestItem->Type() == PCB_SHAPE_T )
{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment