mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-09-14 02:03:12 +02:00
JOB_EXPORT_PCB_3D: store export origin option without rely to coord origin value
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20752
This commit is contained in:
parent
4f08810c33
commit
481d282607
@ -88,6 +88,10 @@ JOB_EXPORT_PCB_3D::JOB_EXPORT_PCB_3D() :
|
||||
m_3dparams.m_UseGridOrigin ) );
|
||||
m_params.emplace_back( new JOB_PARAM<bool>( "use_drill_origin", &m_3dparams.m_UseDrillOrigin,
|
||||
m_3dparams.m_UseDrillOrigin ) );
|
||||
m_params.emplace_back( new JOB_PARAM<bool>( "use_defined_origin", &m_3dparams.m_UseDefinedOrigin,
|
||||
m_3dparams.m_UseDefinedOrigin ) );
|
||||
m_params.emplace_back( new JOB_PARAM<bool>( "use_pcb_center_origin", &m_3dparams.m_UsePcbCenterOrigin,
|
||||
m_3dparams.m_UsePcbCenterOrigin ) );
|
||||
m_params.emplace_back(
|
||||
new JOB_PARAM<bool>( "board_only", &m_3dparams.m_BoardOnly, m_3dparams.m_BoardOnly ) );
|
||||
m_params.emplace_back( new JOB_PARAM<bool>( "include_unspecified",
|
||||
|
@ -38,6 +38,8 @@ public:
|
||||
m_Overwrite( false ),
|
||||
m_UseGridOrigin( false ),
|
||||
m_UseDrillOrigin( false ),
|
||||
m_UseDefinedOrigin( false ),
|
||||
m_UsePcbCenterOrigin( false ),
|
||||
m_IncludeUnspecified( true ),
|
||||
m_IncludeDNP( true ),
|
||||
m_SubstModels( true ),
|
||||
@ -77,6 +79,8 @@ public:
|
||||
bool m_Overwrite;
|
||||
bool m_UseGridOrigin;
|
||||
bool m_UseDrillOrigin;
|
||||
bool m_UseDefinedOrigin;
|
||||
bool m_UsePcbCenterOrigin;
|
||||
bool m_IncludeUnspecified;
|
||||
bool m_IncludeDNP;
|
||||
bool m_SubstModels;
|
||||
|
@ -203,14 +203,16 @@ DIALOG_EXPORT_STEP::DIALOG_EXPORT_STEP( PCB_EDIT_FRAME* aEditFrame, wxWindow* aP
|
||||
}
|
||||
else
|
||||
{
|
||||
m_rbBoardCenterOrigin->SetValue( true ); // Default
|
||||
|
||||
if( m_job->m_3dparams.m_UseDrillOrigin )
|
||||
m_rbDrillAndPlotOrigin->SetValue( true );
|
||||
else if( m_job->m_3dparams.m_UseGridOrigin )
|
||||
m_rbGridOrigin->SetValue( true );
|
||||
else if( m_job->m_3dparams.m_Origin.x == 0.0 && m_job->m_3dparams.m_Origin.y == 0.0 )
|
||||
m_rbBoardCenterOrigin->SetValue( true );
|
||||
else
|
||||
else if( m_job->m_3dparams.m_UseDefinedOrigin )
|
||||
m_rbUserDefinedOrigin->SetValue( true );
|
||||
else if( m_job->m_3dparams.m_UsePcbCenterOrigin )
|
||||
m_rbBoardCenterOrigin->SetValue( true );
|
||||
|
||||
m_userOriginX = m_job->m_3dparams.m_Origin.x;
|
||||
m_userOriginY = m_job->m_3dparams.m_Origin.y;
|
||||
@ -834,6 +836,11 @@ void DIALOG_EXPORT_STEP::onExportButton( wxCommandEvent& aEvent )
|
||||
break;
|
||||
}
|
||||
|
||||
m_job->m_3dparams.m_UseDrillOrigin = false;
|
||||
m_job->m_3dparams.m_UseGridOrigin = false;
|
||||
m_job->m_3dparams.m_UseDefinedOrigin = false;
|
||||
m_job->m_3dparams.m_UsePcbCenterOrigin = false;
|
||||
|
||||
switch( GetOriginOption() )
|
||||
{
|
||||
case STEP_ORIGIN_0:
|
||||
@ -856,6 +863,7 @@ void DIALOG_EXPORT_STEP::onExportButton( wxCommandEvent& aEvent )
|
||||
yOrg *= 25.4;
|
||||
}
|
||||
|
||||
m_job->m_3dparams.m_UseDefinedOrigin = true;
|
||||
m_job->m_3dparams.m_Origin = VECTOR2D( xOrg, yOrg );
|
||||
break;
|
||||
}
|
||||
@ -867,6 +875,7 @@ void DIALOG_EXPORT_STEP::onExportButton( wxCommandEvent& aEvent )
|
||||
double yOrg = pcbIUScale.IUTomm( bbox.GetCenter().y );
|
||||
LOCALE_IO dummy;
|
||||
|
||||
m_job->m_3dparams.m_UsePcbCenterOrigin = true;
|
||||
m_job->m_3dparams.m_Origin = VECTOR2D( xOrg, yOrg );
|
||||
break;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user