Pcbnew add SMD only option to component placement export
Add option to only use footprints flagged as SMD when creating a componenet placement files. Signed-off-by: Dominik Sliwa <dominik@sliwa.io>
This commit is contained in:
parent
db5ce824af
commit
d9c7fdc28e
|
@ -71,6 +71,9 @@ DIALOG_GEN_FOOTPRINT_POSITION_BASE::DIALOG_GEN_FOOTPRINT_POSITION_BASE( wxWindow
|
||||||
wxBoxSizer* bSizerLower;
|
wxBoxSizer* bSizerLower;
|
||||||
bSizerLower = new wxBoxSizer( wxVERTICAL );
|
bSizerLower = new wxBoxSizer( wxVERTICAL );
|
||||||
|
|
||||||
|
m_onlySMD = new wxCheckBox( this, wxID_ANY, _("Include only SMD footprints"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
bSizerLower->Add( m_onlySMD, 0, wxALL, 5 );
|
||||||
|
|
||||||
m_excludeTH = new wxCheckBox( this, wxID_ANY, _("Exclude all footprints with through hole pads"), wxDefaultPosition, wxDefaultSize, 0 );
|
m_excludeTH = new wxCheckBox( this, wxID_ANY, _("Exclude all footprints with through hole pads"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
bSizerLower->Add( m_excludeTH, 0, wxALL, 5 );
|
bSizerLower->Add( m_excludeTH, 0, wxALL, 5 );
|
||||||
|
|
||||||
|
@ -112,6 +115,7 @@ DIALOG_GEN_FOOTPRINT_POSITION_BASE::DIALOG_GEN_FOOTPRINT_POSITION_BASE( wxWindow
|
||||||
m_rbFormat->Connect( wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onSelectFormat ), NULL, this );
|
m_rbFormat->Connect( wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onSelectFormat ), NULL, this );
|
||||||
m_radioBoxUnits->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIUnits ), NULL, this );
|
m_radioBoxUnits->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIUnits ), NULL, this );
|
||||||
m_radioBoxFilesCount->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIFileOpt ), NULL, this );
|
m_radioBoxFilesCount->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIFileOpt ), NULL, this );
|
||||||
|
m_onlySMD->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIOnlySMD ), NULL, this );
|
||||||
m_excludeTH->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIExcludeTH ), NULL, this );
|
m_excludeTH->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIExcludeTH ), NULL, this );
|
||||||
m_cbIncludeBoardEdge->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIincludeBoardEdge ), NULL, this );
|
m_cbIncludeBoardEdge->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIincludeBoardEdge ), NULL, this );
|
||||||
m_sdbSizerOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::OnGenerate ), NULL, this );
|
m_sdbSizerOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::OnGenerate ), NULL, this );
|
||||||
|
@ -124,6 +128,7 @@ DIALOG_GEN_FOOTPRINT_POSITION_BASE::~DIALOG_GEN_FOOTPRINT_POSITION_BASE()
|
||||||
m_rbFormat->Disconnect( wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onSelectFormat ), NULL, this );
|
m_rbFormat->Disconnect( wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onSelectFormat ), NULL, this );
|
||||||
m_radioBoxUnits->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIUnits ), NULL, this );
|
m_radioBoxUnits->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIUnits ), NULL, this );
|
||||||
m_radioBoxFilesCount->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIFileOpt ), NULL, this );
|
m_radioBoxFilesCount->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIFileOpt ), NULL, this );
|
||||||
|
m_onlySMD->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIOnlySMD ), NULL, this );
|
||||||
m_excludeTH->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIExcludeTH ), NULL, this );
|
m_excludeTH->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIExcludeTH ), NULL, this );
|
||||||
m_cbIncludeBoardEdge->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIincludeBoardEdge ), NULL, this );
|
m_cbIncludeBoardEdge->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIincludeBoardEdge ), NULL, this );
|
||||||
m_sdbSizerOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::OnGenerate ), NULL, this );
|
m_sdbSizerOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::OnGenerate ), NULL, this );
|
||||||
|
|
|
@ -499,6 +499,71 @@
|
||||||
<property name="name">bSizerLower</property>
|
<property name="name">bSizerLower</property>
|
||||||
<property name="orient">wxVERTICAL</property>
|
<property name="orient">wxVERTICAL</property>
|
||||||
<property name="permission">none</property>
|
<property name="permission">none</property>
|
||||||
|
<object class="sizeritem" expanded="1">
|
||||||
|
<property name="border">5</property>
|
||||||
|
<property name="flag">wxALL</property>
|
||||||
|
<property name="proportion">0</property>
|
||||||
|
<object class="wxCheckBox" expanded="1">
|
||||||
|
<property name="BottomDockable">1</property>
|
||||||
|
<property name="LeftDockable">1</property>
|
||||||
|
<property name="RightDockable">1</property>
|
||||||
|
<property name="TopDockable">1</property>
|
||||||
|
<property name="aui_layer"></property>
|
||||||
|
<property name="aui_name"></property>
|
||||||
|
<property name="aui_position"></property>
|
||||||
|
<property name="aui_row"></property>
|
||||||
|
<property name="best_size"></property>
|
||||||
|
<property name="bg"></property>
|
||||||
|
<property name="caption"></property>
|
||||||
|
<property name="caption_visible">1</property>
|
||||||
|
<property name="center_pane">0</property>
|
||||||
|
<property name="checked">0</property>
|
||||||
|
<property name="close_button">1</property>
|
||||||
|
<property name="context_help"></property>
|
||||||
|
<property name="context_menu">1</property>
|
||||||
|
<property name="default_pane">0</property>
|
||||||
|
<property name="dock">Dock</property>
|
||||||
|
<property name="dock_fixed">0</property>
|
||||||
|
<property name="docking">Left</property>
|
||||||
|
<property name="enabled">1</property>
|
||||||
|
<property name="fg"></property>
|
||||||
|
<property name="floatable">1</property>
|
||||||
|
<property name="font"></property>
|
||||||
|
<property name="gripper">0</property>
|
||||||
|
<property name="hidden">0</property>
|
||||||
|
<property name="id">wxID_ANY</property>
|
||||||
|
<property name="label">Include only SMD footprints</property>
|
||||||
|
<property name="max_size"></property>
|
||||||
|
<property name="maximize_button">0</property>
|
||||||
|
<property name="maximum_size"></property>
|
||||||
|
<property name="min_size"></property>
|
||||||
|
<property name="minimize_button">0</property>
|
||||||
|
<property name="minimum_size"></property>
|
||||||
|
<property name="moveable">1</property>
|
||||||
|
<property name="name">m_onlySMD</property>
|
||||||
|
<property name="pane_border">1</property>
|
||||||
|
<property name="pane_position"></property>
|
||||||
|
<property name="pane_size"></property>
|
||||||
|
<property name="permission">protected</property>
|
||||||
|
<property name="pin_button">1</property>
|
||||||
|
<property name="pos"></property>
|
||||||
|
<property name="resize">Resizable</property>
|
||||||
|
<property name="show">1</property>
|
||||||
|
<property name="size"></property>
|
||||||
|
<property name="style"></property>
|
||||||
|
<property name="subclass">; forward_declare</property>
|
||||||
|
<property name="toolbar_pane">0</property>
|
||||||
|
<property name="tooltip"></property>
|
||||||
|
<property name="validator_data_type"></property>
|
||||||
|
<property name="validator_style">wxFILTER_NONE</property>
|
||||||
|
<property name="validator_type">wxDefaultValidator</property>
|
||||||
|
<property name="validator_variable"></property>
|
||||||
|
<property name="window_extra_style"></property>
|
||||||
|
<property name="window_name"></property>
|
||||||
|
<property name="window_style"></property>
|
||||||
|
<event name="OnUpdateUI">onUpdateUIOnlySMD</event>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
<object class="sizeritem" expanded="1">
|
<object class="sizeritem" expanded="1">
|
||||||
<property name="border">5</property>
|
<property name="border">5</property>
|
||||||
<property name="flag">wxALL</property>
|
<property name="flag">wxALL</property>
|
||||||
|
|
|
@ -49,6 +49,7 @@ class DIALOG_GEN_FOOTPRINT_POSITION_BASE : public DIALOG_SHIM
|
||||||
wxRadioBox* m_rbFormat;
|
wxRadioBox* m_rbFormat;
|
||||||
wxRadioBox* m_radioBoxUnits;
|
wxRadioBox* m_radioBoxUnits;
|
||||||
wxRadioBox* m_radioBoxFilesCount;
|
wxRadioBox* m_radioBoxFilesCount;
|
||||||
|
wxCheckBox* m_onlySMD;
|
||||||
wxCheckBox* m_excludeTH;
|
wxCheckBox* m_excludeTH;
|
||||||
wxCheckBox* m_cbIncludeBoardEdge;
|
wxCheckBox* m_cbIncludeBoardEdge;
|
||||||
wxCheckBox* m_useDrillPlaceOrigin;
|
wxCheckBox* m_useDrillPlaceOrigin;
|
||||||
|
@ -63,6 +64,7 @@ class DIALOG_GEN_FOOTPRINT_POSITION_BASE : public DIALOG_SHIM
|
||||||
virtual void onSelectFormat( wxCommandEvent& event ) { event.Skip(); }
|
virtual void onSelectFormat( wxCommandEvent& event ) { event.Skip(); }
|
||||||
virtual void onUpdateUIUnits( wxUpdateUIEvent& event ) { event.Skip(); }
|
virtual void onUpdateUIUnits( wxUpdateUIEvent& event ) { event.Skip(); }
|
||||||
virtual void onUpdateUIFileOpt( wxUpdateUIEvent& event ) { event.Skip(); }
|
virtual void onUpdateUIFileOpt( wxUpdateUIEvent& event ) { event.Skip(); }
|
||||||
|
virtual void onUpdateUIOnlySMD( wxUpdateUIEvent& event ) { event.Skip(); }
|
||||||
virtual void onUpdateUIExcludeTH( wxUpdateUIEvent& event ) { event.Skip(); }
|
virtual void onUpdateUIExcludeTH( wxUpdateUIEvent& event ) { event.Skip(); }
|
||||||
virtual void onUpdateUIincludeBoardEdge( wxUpdateUIEvent& event ) { event.Skip(); }
|
virtual void onUpdateUIincludeBoardEdge( wxUpdateUIEvent& event ) { event.Skip(); }
|
||||||
virtual void OnGenerate( wxCommandEvent& event ) { event.Skip(); }
|
virtual void OnGenerate( wxCommandEvent& event ) { event.Skip(); }
|
||||||
|
|
|
@ -73,12 +73,13 @@ enum SELECT_SIDE
|
||||||
PCB_BOTH_SIDES
|
PCB_BOTH_SIDES
|
||||||
};
|
};
|
||||||
|
|
||||||
PLACE_FILE_EXPORTER::PLACE_FILE_EXPORTER( BOARD* aBoard, bool aUnitsMM, bool aExcludeAllTH,
|
PLACE_FILE_EXPORTER::PLACE_FILE_EXPORTER( BOARD* aBoard, bool aUnitsMM, bool aOnlySMD,
|
||||||
bool aTopSide, bool aBottomSide, bool aFormatCSV,
|
bool aExcludeAllTH, bool aTopSide, bool aBottomSide,
|
||||||
bool aUseAuxOrigin )
|
bool aFormatCSV, bool aUseAuxOrigin )
|
||||||
{
|
{
|
||||||
m_board = aBoard;
|
m_board = aBoard;
|
||||||
m_unitsMM = aUnitsMM;
|
m_unitsMM = aUnitsMM;
|
||||||
|
m_onlySMD = aOnlySMD;
|
||||||
m_excludeAllTH = aExcludeAllTH;
|
m_excludeAllTH = aExcludeAllTH;
|
||||||
m_fpCount = 0;
|
m_fpCount = 0;
|
||||||
|
|
||||||
|
@ -134,6 +135,9 @@ std::string PLACE_FILE_EXPORTER::GenPositionData()
|
||||||
if( footprint->GetAttributes() & FP_EXCLUDE_FROM_POS_FILES )
|
if( footprint->GetAttributes() & FP_EXCLUDE_FROM_POS_FILES )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if( m_onlySMD && !( footprint->GetAttributes() & FP_SMD ) )
|
||||||
|
continue;
|
||||||
|
|
||||||
if( m_excludeAllTH && footprint->HasThroughHolePads() )
|
if( m_excludeAllTH && footprint->HasThroughHolePads() )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
|
|
@ -55,14 +55,16 @@ public:
|
||||||
/** Create a PLACE_FILE_EXPORTER
|
/** Create a PLACE_FILE_EXPORTER
|
||||||
* @param aBoard is the board
|
* @param aBoard is the board
|
||||||
* @param aUnitsMM is the unit option: true foo mm, false for inches
|
* @param aUnitsMM is the unit option: true foo mm, false for inches
|
||||||
* @param aForceSmdItems true to force not virtual and not flagged smd footprints
|
* @param aOnlySMD true to force only footprints flagged smd to be in the list
|
||||||
* but having only smd pads to be in list
|
* @param aExcludeAllTH true to include only footprints with no TH pads no matter
|
||||||
|
* the footprint flag
|
||||||
* @param aTopSide true to generate top side info
|
* @param aTopSide true to generate top side info
|
||||||
* @param aBottomSide true to generate bottom side info
|
* @param aBottomSide true to generate bottom side info
|
||||||
* @param aFormatCSV true to generate a csv format info, false to generate a ascii info
|
* @param aFormatCSV true to generate a csv format info, false to generate a ascii info
|
||||||
|
* @param aUseAuxOrigin true to use auxiliary axis as an origin for the position data
|
||||||
*/
|
*/
|
||||||
PLACE_FILE_EXPORTER( BOARD* aBoard, bool aUnitsMM, bool aForceSmdItems, bool aTopSide,
|
PLACE_FILE_EXPORTER( BOARD* aBoard, bool aUnitsMM, bool aOnlySMD, bool aExcludeAllTH,
|
||||||
bool aBottomSide, bool aFormatCSV, bool useAuxOrigin );
|
bool aTopSide, bool aBottomSide, bool aFormatCSV, bool aUseAuxOrigin );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* build a string filled with the position data
|
* build a string filled with the position data
|
||||||
|
@ -90,6 +92,7 @@ public:
|
||||||
private:
|
private:
|
||||||
BOARD* m_board;
|
BOARD* m_board;
|
||||||
bool m_unitsMM; // true for mm, false for inches
|
bool m_unitsMM; // true for mm, false for inches
|
||||||
|
bool m_onlySMD; // Include only SMD components
|
||||||
bool m_excludeAllTH; // Exclude any footprints with through-hole pads
|
bool m_excludeAllTH; // Exclude any footprints with through-hole pads
|
||||||
int m_side; // PCB_BACK_SIDE, PCB_FRONT_SIDE, PCB_BOTH_SIDES
|
int m_side; // PCB_BACK_SIDE, PCB_FRONT_SIDE, PCB_BOTH_SIDES
|
||||||
bool m_formatCSV; // true for csv format, false for ascii (utf8) format
|
bool m_formatCSV; // true for csv format, false for ascii (utf8) format
|
||||||
|
|
|
@ -89,6 +89,19 @@ private:
|
||||||
m_radioBoxFilesCount->Enable( m_rbFormat->GetSelection() != 2 );
|
m_radioBoxFilesCount->Enable( m_rbFormat->GetSelection() != 2 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void onUpdateUIOnlySMD( wxUpdateUIEvent& event ) override
|
||||||
|
{
|
||||||
|
if( m_rbFormat->GetSelection() == 2 )
|
||||||
|
{
|
||||||
|
m_onlySMD->SetValue( false );
|
||||||
|
m_onlySMD->Enable( false );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_onlySMD->Enable( true );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void onUpdateUIExcludeTH( wxUpdateUIEvent& event ) override
|
void onUpdateUIExcludeTH( wxUpdateUIEvent& event ) override
|
||||||
{
|
{
|
||||||
if( m_rbFormat->GetSelection() == 2 )
|
if( m_rbFormat->GetSelection() == 2 )
|
||||||
|
@ -128,6 +141,11 @@ private:
|
||||||
return m_radioBoxFilesCount->GetSelection() == 1;
|
return m_radioBoxFilesCount->GetSelection() == 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool OnlySMD()
|
||||||
|
{
|
||||||
|
return m_onlySMD->GetValue();
|
||||||
|
}
|
||||||
|
|
||||||
bool ExcludeAllTH()
|
bool ExcludeAllTH()
|
||||||
{
|
{
|
||||||
return m_excludeTH->GetValue();
|
return m_excludeTH->GetValue();
|
||||||
|
@ -331,8 +349,8 @@ bool DIALOG_GEN_FOOTPRINT_POSITION::CreateAsciiFiles()
|
||||||
|
|
||||||
// Test for any footprint candidate in list.
|
// Test for any footprint candidate in list.
|
||||||
{
|
{
|
||||||
PLACE_FILE_EXPORTER exporter( brd, UnitsMM(), ExcludeAllTH(), topSide, bottomSide,
|
PLACE_FILE_EXPORTER exporter( brd, UnitsMM(), OnlySMD(), ExcludeAllTH(), topSide,
|
||||||
useCSVfmt, useAuxOrigin );
|
bottomSide, useCSVfmt, useAuxOrigin );
|
||||||
exporter.GenPositionData();
|
exporter.GenPositionData();
|
||||||
|
|
||||||
if( exporter.GetFootprintCount() == 0 )
|
if( exporter.GetFootprintCount() == 0 )
|
||||||
|
@ -386,7 +404,7 @@ bool DIALOG_GEN_FOOTPRINT_POSITION::CreateAsciiFiles()
|
||||||
fn.SetExt( FootprintPlaceFileExtension );
|
fn.SetExt( FootprintPlaceFileExtension );
|
||||||
}
|
}
|
||||||
|
|
||||||
int fpcount = m_parent->DoGenFootprintsPositionFile( fn.GetFullPath(), UnitsMM(),
|
int fpcount = m_parent->DoGenFootprintsPositionFile( fn.GetFullPath(), UnitsMM(), OnlySMD(),
|
||||||
ExcludeAllTH(), topSide, bottomSide,
|
ExcludeAllTH(), topSide, bottomSide,
|
||||||
useCSVfmt, useAuxOrigin );
|
useCSVfmt, useAuxOrigin );
|
||||||
if( fpcount < 0 )
|
if( fpcount < 0 )
|
||||||
|
@ -431,8 +449,9 @@ bool DIALOG_GEN_FOOTPRINT_POSITION::CreateAsciiFiles()
|
||||||
fn.SetExt( FootprintPlaceFileExtension );
|
fn.SetExt( FootprintPlaceFileExtension );
|
||||||
}
|
}
|
||||||
|
|
||||||
fpcount = m_parent->DoGenFootprintsPositionFile( fn.GetFullPath(), UnitsMM(), ExcludeAllTH(),
|
fpcount = m_parent->DoGenFootprintsPositionFile( fn.GetFullPath(), UnitsMM(), OnlySMD(),
|
||||||
topSide, bottomSide, useCSVfmt, useAuxOrigin );
|
ExcludeAllTH(), topSide, bottomSide, useCSVfmt,
|
||||||
|
useAuxOrigin );
|
||||||
|
|
||||||
if( fpcount < 0 )
|
if( fpcount < 0 )
|
||||||
{
|
{
|
||||||
|
@ -476,7 +495,7 @@ int BOARD_EDITOR_CONTROL::GeneratePosFile( const TOOL_EVENT& aEvent )
|
||||||
|
|
||||||
|
|
||||||
int PCB_EDIT_FRAME::DoGenFootprintsPositionFile( const wxString& aFullFileName, bool aUnitsMM,
|
int PCB_EDIT_FRAME::DoGenFootprintsPositionFile( const wxString& aFullFileName, bool aUnitsMM,
|
||||||
bool aForceSmdItems, bool aTopSide,
|
bool aOnlySMD, bool aNoTHItems, bool aTopSide,
|
||||||
bool aBottomSide, bool aFormatCSV,
|
bool aBottomSide, bool aFormatCSV,
|
||||||
bool aUseAuxOrigin )
|
bool aUseAuxOrigin )
|
||||||
{
|
{
|
||||||
|
@ -491,7 +510,7 @@ int PCB_EDIT_FRAME::DoGenFootprintsPositionFile( const wxString& aFullFileName,
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string data;
|
std::string data;
|
||||||
PLACE_FILE_EXPORTER exporter( GetBoard(), aUnitsMM, aForceSmdItems, aTopSide, aBottomSide,
|
PLACE_FILE_EXPORTER exporter( GetBoard(), aUnitsMM, aOnlySMD, aNoTHItems, aTopSide, aBottomSide,
|
||||||
aFormatCSV, aUseAuxOrigin );
|
aFormatCSV, aUseAuxOrigin );
|
||||||
data = exporter.GenPositionData();
|
data = exporter.GenPositionData();
|
||||||
|
|
||||||
|
@ -552,7 +571,7 @@ bool PCB_EDIT_FRAME::DoGenFootprintsReport( const wxString& aFullFilename, bool
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
std::string data;
|
std::string data;
|
||||||
PLACE_FILE_EXPORTER exporter( GetBoard(), aUnitsMM, false, true, true, false, true );
|
PLACE_FILE_EXPORTER exporter( GetBoard(), aUnitsMM, false, false, true, true, false, true );
|
||||||
data = exporter.GenReportData();
|
data = exporter.GenReportData();
|
||||||
|
|
||||||
fputs( data.c_str(), rptfile );
|
fputs( data.c_str(), rptfile );
|
||||||
|
|
|
@ -282,16 +282,18 @@ public:
|
||||||
*
|
*
|
||||||
* @param aFullFileName the full file name of the file to create.
|
* @param aFullFileName the full file name of the file to create.
|
||||||
* @param aUnitsMM false to use inches, true to use mm in coordinates.
|
* @param aUnitsMM false to use inches, true to use mm in coordinates.
|
||||||
* @param aForceSmdItems true to force all footprints with smd pads in list,
|
* @param aOnlySMD true to force only footprints flagged smd to be in the list
|
||||||
* false to put only footprints with option "INSERT" in list
|
* @param aNoTHItems true to include only footprints with no TH pads no matter
|
||||||
|
* the footprint flag
|
||||||
* @param aTopSide true to list footprints on front (top) side.
|
* @param aTopSide true to list footprints on front (top) side.
|
||||||
* @param aBottomSide true to list footprints on back (bottom) side, if \a aTopSide and
|
* @param aBottomSide true to list footprints on back (bottom) side, if \a aTopSide and
|
||||||
* \a aTopSide are true, list footprints on both sides.
|
* \a aTopSide are true, list footprints on both sides.
|
||||||
* @param aFormatCSV true to use a comma separated file (CSV) format; default = false
|
* @param aFormatCSV true to use a comma separated file (CSV) format; default = false
|
||||||
|
* @param aUseAuxOrigin true to use auxiliary axis as an origin for the position data
|
||||||
* @return the number of footprints found on aSide side or -1 if the file could not be created.
|
* @return the number of footprints found on aSide side or -1 if the file could not be created.
|
||||||
*/
|
*/
|
||||||
int DoGenFootprintsPositionFile( const wxString& aFullFileName, bool aUnitsMM,
|
int DoGenFootprintsPositionFile( const wxString& aFullFileName, bool aUnitsMM, bool aOnlySMD,
|
||||||
bool aForceSmdItems, bool aTopSide, bool aBottomSide,
|
bool aNoTHItems, bool aTopSide, bool aBottomSide,
|
||||||
bool aFormatCSV, bool aUseAuxOrigin );
|
bool aFormatCSV, bool aUseAuxOrigin );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue