Better fidelity for Eagle thermal spokes.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15428
This commit is contained in:
Jeff Young 2023-08-16 17:02:35 +01:00
parent 556120554e
commit a58547dde5
1 changed files with 6 additions and 0 deletions

View File

@ -1967,6 +1967,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() );
@ -2458,6 +2461,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 ) );