Better fidelity for Eagle thermal spokes.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15428

(cherry picked from commit a58547dde5)
This commit is contained in:
Jeff Young 2023-08-16 17:02:35 +01:00
parent db526e581c
commit 8120e47bfd
1 changed files with 6 additions and 0 deletions

View File

@ -1939,6 +1939,9 @@ void EAGLE_PLUGIN::packagePad( FOOTPRINT* aFootprint, wxXmlNode* aTree )
if( e.rot ) if( e.rot )
pad->SetOrientation( EDA_ANGLE( e.rot->degrees, DEGREES_T ) ); pad->SetOrientation( EDA_ANGLE( e.rot->degrees, DEGREES_T ) );
// Eagle spokes are always NSEW in board coordinates
pad->SetThermalSpokeAngle( - ( aFootprint->GetOrientation() + pad->GetOrientation() ) );
if( pad->GetSizeX() > 0 && pad->GetSizeY() > 0 ) if( pad->GetSizeX() > 0 && pad->GetSizeY() > 0 )
{ {
aFootprint->Add( pad.release() ); aFootprint->Add( pad.release() );
@ -2430,6 +2433,9 @@ void EAGLE_PLUGIN::packageSMD( FOOTPRINT* aFootprint, wxXmlNode* aTree ) const
if( e.rot ) if( e.rot )
pad->SetOrientation( EDA_ANGLE( e.rot->degrees, DEGREES_T ) ); pad->SetOrientation( EDA_ANGLE( e.rot->degrees, DEGREES_T ) );
// Eagle spokes are always NSEW in board coordinates
pad->SetThermalSpokeAngle( - ( aFootprint->GetOrientation() + pad->GetOrientation() ) );
pad->SetLocalSolderPasteMargin( -eagleClamp( m_rules->mlMinCreamFrame, pad->SetLocalSolderPasteMargin( -eagleClamp( m_rules->mlMinCreamFrame,
(int) ( m_rules->mvCreamFrame * minPadSize ), (int) ( m_rules->mvCreamFrame * minPadSize ),
m_rules->mlMaxCreamFrame ) ); m_rules->mlMaxCreamFrame ) );