Eagle Import: Handle muli-pad pins. Adds overlapping pins in the symbol definition to ensure that electrical connections are made to each pad on the footprint.
This commit is contained in:
parent
ce145373e4
commit
82b1e3c790
|
@ -1349,19 +1349,31 @@ bool SCH_EAGLE_PLUGIN::loadSymbol( wxXmlNode* aSymbolNode,
|
||||||
{
|
{
|
||||||
if( connect.gate == aGateName and pin->GetName().ToStdString() == connect.pin )
|
if( connect.gate == aGateName and pin->GetName().ToStdString() == connect.pin )
|
||||||
{
|
{
|
||||||
wxString padname( connect.pad );
|
wxArrayString pads = wxSplit( wxString(connect.pad), ' ');
|
||||||
pin->SetNumber( padname );
|
|
||||||
pin->SetPartNumber( aGateNumber );
|
pin->SetPartNumber( aGateNumber );
|
||||||
pin->SetUnit( aGateNumber );
|
pin->SetUnit( aGateNumber );
|
||||||
|
|
||||||
|
|
||||||
wxString pinname = pin->GetName();
|
wxString pinname = pin->GetName();
|
||||||
pinname.Replace( "~", "~~" );
|
pinname.Replace( "~", "~~" );
|
||||||
pinname.Replace( "!", "~" );
|
pinname.Replace( "!", "~" );
|
||||||
pin->SetName( pinname );
|
pin->SetName( pinname );
|
||||||
|
|
||||||
aPart->AddDrawItem( pin.release() );
|
if( pads.GetCount() > 1)
|
||||||
|
{
|
||||||
|
pin->SetNumberTextSize( 0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
for( int i = 0; i < pads.GetCount(); i++)
|
||||||
|
{
|
||||||
|
LIB_PIN* apin = new LIB_PIN( *pin );
|
||||||
|
|
||||||
|
wxString padname( pads[i] );
|
||||||
|
apin->SetNumber( padname );
|
||||||
|
aPart->AddDrawItem( apin);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue