Eagle PCB import: handle {smd,pad}.thermals property

This commit is contained in:
Maciej Suminski 2018-03-14 10:16:51 +01:00
parent d432a985ab
commit f7ad77004d
1 changed files with 5 additions and 4 deletions

View File

@ -1367,8 +1367,6 @@ void EAGLE_PLUGIN::packagePad( MODULE* aModule, wxXmlNode* aTree ) const
{
pad->SetOrientation( e.rot->degrees * 10 );
}
// @todo: handle stop and thermal
}
@ -1697,8 +1695,6 @@ void EAGLE_PLUGIN::packageSMD( MODULE* aModule, wxXmlNode* aTree ) const
(int)( m_rules->mvCreamFrame * minPadSize ),
m_rules->mlMaxCreamFrame ) );
}
// @todo: handle thermal
}
@ -1721,6 +1717,10 @@ void EAGLE_PLUGIN::transferPad( const EPAD_COMMON& aEaglePad, D_PAD* aPad ) cons
m_rules->mlMaxStopFrame ) );
}
// Solid connection to copper zones
if( aEaglePad.thermals && !*aEaglePad.thermals )
aPad->SetZoneConnection( PAD_ZONE_CONN_FULL );
MODULE* module = aPad->GetParent();
wxCHECK( module, /* void */ );
RotatePoint( &padPos, module->GetOrientation() );
@ -2001,6 +2001,7 @@ void EAGLE_PLUGIN::loadSignals( wxXmlNode* aSignals )
// missing == yes per DTD.
bool thermals = !p.thermals || *p.thermals;
zone->SetPadConnection( thermals ? PAD_ZONE_CONN_THERMAL : PAD_ZONE_CONN_FULL );
if( thermals )
{
// FIXME: eagle calculates dimensions for thermal spokes