CADSTAR PCB: Be more specific with "allow thermal pads" DRC hack

Only tag the footprint as such when we know it has overlaping copper
over the pads with different pad numbers
This commit is contained in:
Roberto Fernandez Bautista 2021-04-10 20:24:40 +01:00
parent b5edd5f6a5
commit a3196a11a7
1 changed files with 10 additions and 0 deletions

View File

@ -759,6 +759,7 @@ void CADSTAR_PCB_ARCHIVE_LOADER::loadLibraryCoppers( const SYMDEF_PCB& aComponen
totalCopperPads++;
// Now renumber all the associated pads if they are PCB Only
int numRenames = 0;
COMPONENT_PAD associatedPad;
for( PAD_ID padID : compCopper.AssociatedPadIDs )
@ -769,8 +770,17 @@ void CADSTAR_PCB_ARCHIVE_LOADER::loadLibraryCoppers( const SYMDEF_PCB& aComponen
{
PAD* assocPad = getPadReference( aFootprint, padID );
assocPad->SetName( pad->GetName() );
++numRenames;
}
}
if( numRenames < compCopper.AssociatedPadIDs.size() - 1 )
{
// This is an older design of thermal pad. The schematic will
// have multiple pins for the same pad, so lets use the
// "allow thermal pads" hack
aFootprint->SetKeywords( wxT( "allow thermal pads" ) );
}
}
else
{