Formatting.

This commit is contained in:
Jeff Young 2024-02-02 17:54:12 +00:00
parent c3496e4af6
commit 3282e4bb66
2 changed files with 90 additions and 120 deletions

View File

@ -104,28 +104,26 @@ void EESCHEMA_JOBS_HANDLER::InitRenderSettings( KIGFX::SCH_RENDER_SETTINGS* aRen
// Load the drawing sheet from the filename stored in BASE_SCREEN::m_DrawingSheetFileName. // Load the drawing sheet from the filename stored in BASE_SCREEN::m_DrawingSheetFileName.
// If empty, or not existing, the default drawing sheet is loaded. // If empty, or not existing, the default drawing sheet is loaded.
auto loadSheet = [&]( const wxString& path ) -> bool auto loadSheet =
{ [&]( const wxString& path ) -> bool
wxString resolvedSheetPath = {
DS_DATA_MODEL::ResolvePath( path, aSch->Prj().GetProjectPath() ); wxString absolutePath = DS_DATA_MODEL::ResolvePath( path,
aSch->Prj().GetProjectPath() );
if( !DS_DATA_MODEL::GetTheInstance().LoadDrawingSheet( resolvedSheetPath ) ) if( !DS_DATA_MODEL::GetTheInstance().LoadDrawingSheet( absolutePath ) )
{ {
m_reporter->Report( m_reporter->Report( wxString::Format( _( "Error loading drawing sheet '%s'." ),
wxString::Format( _( "Error loading drawing sheet '%s'." ) + wxS( "\n" ), path ),
path ), RPT_SEVERITY_ERROR );
RPT_SEVERITY_ERROR ); return false;
return false; }
}
return true; return true;
}; };
// try to load the override first // try to load the override first
if( !aDrawingSheetOverride.IsEmpty() && loadSheet( aDrawingSheetOverride ) ) if( !aDrawingSheetOverride.IsEmpty() && loadSheet( aDrawingSheetOverride ) )
{
return; return;
}
// no override or failed override continues here // no override or failed override continues here
loadSheet( aSch->Settings().m_SchDrawingSheetFileName ); loadSheet( aSch->Settings().m_SchDrawingSheetFileName );
@ -158,11 +156,11 @@ int EESCHEMA_JOBS_HANDLER::JobExportPlot( JOB* aJob )
PLOT_FORMAT format = PLOT_FORMAT::PDF; PLOT_FORMAT format = PLOT_FORMAT::PDF;
switch( aPlotJob->m_plotFormat ) switch( aPlotJob->m_plotFormat )
{ {
case SCH_PLOT_FORMAT::DXF: format = PLOT_FORMAT::DXF; break; case SCH_PLOT_FORMAT::DXF: format = PLOT_FORMAT::DXF; break;
case SCH_PLOT_FORMAT::PDF: format = PLOT_FORMAT::PDF; break; case SCH_PLOT_FORMAT::PDF: format = PLOT_FORMAT::PDF; break;
case SCH_PLOT_FORMAT::SVG: format = PLOT_FORMAT::SVG; break; case SCH_PLOT_FORMAT::SVG: format = PLOT_FORMAT::SVG; break;
case SCH_PLOT_FORMAT::POST: format = PLOT_FORMAT::POST; break; case SCH_PLOT_FORMAT::POST: format = PLOT_FORMAT::POST; break;
case SCH_PLOT_FORMAT::HPGL: format = PLOT_FORMAT::HPGL; break; case SCH_PLOT_FORMAT::HPGL: format = PLOT_FORMAT::HPGL; break;
case SCH_PLOT_FORMAT::GERBER: format = PLOT_FORMAT::GERBER; break; case SCH_PLOT_FORMAT::GERBER: format = PLOT_FORMAT::GERBER; break;
} }
@ -170,17 +168,17 @@ int EESCHEMA_JOBS_HANDLER::JobExportPlot( JOB* aJob )
switch( aPlotJob->m_HPGLPaperSizeSelect ) switch( aPlotJob->m_HPGLPaperSizeSelect )
{ {
case JOB_HPGL_PAGE_SIZE::DEFAULT: hpglPageSize = HPGL_PAGE_SIZE::DEFAULT; break; case JOB_HPGL_PAGE_SIZE::DEFAULT: hpglPageSize = HPGL_PAGE_SIZE::DEFAULT; break;
case JOB_HPGL_PAGE_SIZE::SIZE_A: hpglPageSize = HPGL_PAGE_SIZE::SIZE_A; break; case JOB_HPGL_PAGE_SIZE::SIZE_A: hpglPageSize = HPGL_PAGE_SIZE::SIZE_A; break;
case JOB_HPGL_PAGE_SIZE::SIZE_A0: hpglPageSize = HPGL_PAGE_SIZE::SIZE_A0; break; case JOB_HPGL_PAGE_SIZE::SIZE_A0: hpglPageSize = HPGL_PAGE_SIZE::SIZE_A0; break;
case JOB_HPGL_PAGE_SIZE::SIZE_A1: hpglPageSize = HPGL_PAGE_SIZE::SIZE_A1; break; case JOB_HPGL_PAGE_SIZE::SIZE_A1: hpglPageSize = HPGL_PAGE_SIZE::SIZE_A1; break;
case JOB_HPGL_PAGE_SIZE::SIZE_A2: hpglPageSize = HPGL_PAGE_SIZE::SIZE_A2; break; case JOB_HPGL_PAGE_SIZE::SIZE_A2: hpglPageSize = HPGL_PAGE_SIZE::SIZE_A2; break;
case JOB_HPGL_PAGE_SIZE::SIZE_A3: hpglPageSize = HPGL_PAGE_SIZE::SIZE_A3; break; case JOB_HPGL_PAGE_SIZE::SIZE_A3: hpglPageSize = HPGL_PAGE_SIZE::SIZE_A3; break;
case JOB_HPGL_PAGE_SIZE::SIZE_A4: hpglPageSize = HPGL_PAGE_SIZE::SIZE_A4; break; case JOB_HPGL_PAGE_SIZE::SIZE_A4: hpglPageSize = HPGL_PAGE_SIZE::SIZE_A4; break;
case JOB_HPGL_PAGE_SIZE::SIZE_A5: hpglPageSize = HPGL_PAGE_SIZE::SIZE_A5; break; case JOB_HPGL_PAGE_SIZE::SIZE_A5: hpglPageSize = HPGL_PAGE_SIZE::SIZE_A5; break;
case JOB_HPGL_PAGE_SIZE::SIZE_B: hpglPageSize = HPGL_PAGE_SIZE::SIZE_B; break; case JOB_HPGL_PAGE_SIZE::SIZE_B: hpglPageSize = HPGL_PAGE_SIZE::SIZE_B; break;
case JOB_HPGL_PAGE_SIZE::SIZE_C: hpglPageSize = HPGL_PAGE_SIZE::SIZE_C; break; case JOB_HPGL_PAGE_SIZE::SIZE_C: hpglPageSize = HPGL_PAGE_SIZE::SIZE_C; break;
case JOB_HPGL_PAGE_SIZE::SIZE_D: hpglPageSize = HPGL_PAGE_SIZE::SIZE_D; break; case JOB_HPGL_PAGE_SIZE::SIZE_D: hpglPageSize = HPGL_PAGE_SIZE::SIZE_D; break;
case JOB_HPGL_PAGE_SIZE::SIZE_E: hpglPageSize = HPGL_PAGE_SIZE::SIZE_E; break; case JOB_HPGL_PAGE_SIZE::SIZE_E: hpglPageSize = HPGL_PAGE_SIZE::SIZE_E; break;
} }
HPGL_PLOT_ORIGIN_AND_UNITS hpglOrigin = HPGL_PLOT_ORIGIN_AND_UNITS::USER_FIT_PAGE; HPGL_PLOT_ORIGIN_AND_UNITS hpglOrigin = HPGL_PLOT_ORIGIN_AND_UNITS::USER_FIT_PAGE;
@ -189,7 +187,6 @@ int EESCHEMA_JOBS_HANDLER::JobExportPlot( JOB* aJob )
case JOB_HPGL_PLOT_ORIGIN_AND_UNITS::PLOTTER_BOT_LEFT: case JOB_HPGL_PLOT_ORIGIN_AND_UNITS::PLOTTER_BOT_LEFT:
hpglOrigin = HPGL_PLOT_ORIGIN_AND_UNITS::PLOTTER_BOT_LEFT; hpglOrigin = HPGL_PLOT_ORIGIN_AND_UNITS::PLOTTER_BOT_LEFT;
break; break;
case JOB_HPGL_PLOT_ORIGIN_AND_UNITS::PLOTTER_CENTER: case JOB_HPGL_PLOT_ORIGIN_AND_UNITS::PLOTTER_CENTER:
hpglOrigin = HPGL_PLOT_ORIGIN_AND_UNITS::PLOTTER_CENTER; hpglOrigin = HPGL_PLOT_ORIGIN_AND_UNITS::PLOTTER_CENTER;
break; break;
@ -205,8 +202,8 @@ int EESCHEMA_JOBS_HANDLER::JobExportPlot( JOB* aJob )
switch( aPlotJob->m_pageSizeSelect ) switch( aPlotJob->m_pageSizeSelect )
{ {
case JOB_PAGE_SIZE::PAGE_SIZE_A: pageSizeSelect = PageFormatReq::PAGE_SIZE_A; break; case JOB_PAGE_SIZE::PAGE_SIZE_A: pageSizeSelect = PageFormatReq::PAGE_SIZE_A; break;
case JOB_PAGE_SIZE::PAGE_SIZE_A4: pageSizeSelect = PageFormatReq::PAGE_SIZE_A4; break; case JOB_PAGE_SIZE::PAGE_SIZE_A4: pageSizeSelect = PageFormatReq::PAGE_SIZE_A4; break;
case JOB_PAGE_SIZE::PAGE_SIZE_AUTO: pageSizeSelect = PageFormatReq::PAGE_SIZE_AUTO; break; case JOB_PAGE_SIZE::PAGE_SIZE_AUTO: pageSizeSelect = PageFormatReq::PAGE_SIZE_AUTO; break;
} }
@ -269,10 +266,7 @@ int EESCHEMA_JOBS_HANDLER::JobExportNetlist( JOB* aJob )
ERC_TESTER erc( sch ); ERC_TESTER erc( sch );
if( erc.TestDuplicateSheetNames( false ) > 0 ) if( erc.TestDuplicateSheetNames( false ) > 0 )
{
m_reporter->Report( _( "Warning: duplicate sheet names.\n" ), RPT_SEVERITY_WARNING ); m_reporter->Report( _( "Warning: duplicate sheet names.\n" ), RPT_SEVERITY_WARNING );
}
std::unique_ptr<NETLIST_EXPORTER_BASE> helper; std::unique_ptr<NETLIST_EXPORTER_BASE> helper;
unsigned netlistOption = 0; unsigned netlistOption = 0;
@ -311,6 +305,7 @@ int EESCHEMA_JOBS_HANDLER::JobExportNetlist( JOB* aJob )
fileExt = wxS( "xml" ); fileExt = wxS( "xml" );
helper = std::make_unique<NETLIST_EXPORTER_XML>( sch ); helper = std::make_unique<NETLIST_EXPORTER_XML>( sch );
break; break;
default: default:
m_reporter->Report( _( "Unknown netlist format.\n" ), RPT_SEVERITY_ERROR ); m_reporter->Report( _( "Unknown netlist format.\n" ), RPT_SEVERITY_ERROR );
return CLI::EXIT_CODES::ERR_UNKNOWN; return CLI::EXIT_CODES::ERR_UNKNOWN;
@ -328,9 +323,7 @@ int EESCHEMA_JOBS_HANDLER::JobExportNetlist( JOB* aJob )
bool res = helper->WriteNetlist( aNetJob->m_outputFile, netlistOption, *m_reporter ); bool res = helper->WriteNetlist( aNetJob->m_outputFile, netlistOption, *m_reporter );
if( !res ) if( !res )
{
return CLI::EXIT_CODES::ERR_UNKNOWN; return CLI::EXIT_CODES::ERR_UNKNOWN;
}
return CLI::EXIT_CODES::OK; return CLI::EXIT_CODES::OK;
} }
@ -380,9 +373,7 @@ int EESCHEMA_JOBS_HANDLER::JobExportBom( JOB* aJob )
ERC_TESTER erc( sch ); ERC_TESTER erc( sch );
if( erc.TestDuplicateSheetNames( false ) > 0 ) if( erc.TestDuplicateSheetNames( false ) > 0 )
{
m_reporter->Report( _( "Warning: duplicate sheet names.\n" ), RPT_SEVERITY_WARNING ); m_reporter->Report( _( "Warning: duplicate sheet names.\n" ), RPT_SEVERITY_WARNING );
}
// Build our data model // Build our data model
FIELDS_EDITOR_GRID_DATA_MODEL dataModel( referenceList ); FIELDS_EDITOR_GRID_DATA_MODEL dataModel( referenceList );
@ -411,8 +402,10 @@ int EESCHEMA_JOBS_HANDLER::JobExportBom( JOB* aJob )
sch->Settings().m_TemplateFieldNames.GetTemplateFieldNames() ) sch->Settings().m_TemplateFieldNames.GetTemplateFieldNames() )
{ {
if( userFieldNames.count( templateFieldname.m_Name ) == 0 ) if( userFieldNames.count( templateFieldname.m_Name ) == 0 )
{
dataModel.AddColumn( templateFieldname.m_Name, GetTextVars( templateFieldname.m_Name ), dataModel.AddColumn( templateFieldname.m_Name, GetTextVars( templateFieldname.m_Name ),
false ); false );
}
} }
BOM_PRESET preset; BOM_PRESET preset;
@ -500,6 +493,7 @@ int EESCHEMA_JOBS_HANDLER::JobExportBom( JOB* aJob )
field.groupBy = std::find( aBomJob->m_fieldsGroupBy.begin(), field.groupBy = std::find( aBomJob->m_fieldsGroupBy.begin(),
aBomJob->m_fieldsGroupBy.end(), field.name ) aBomJob->m_fieldsGroupBy.end(), field.name )
!= aBomJob->m_fieldsGroupBy.end(); != aBomJob->m_fieldsGroupBy.end();
if( ( aBomJob->m_fieldsLabels.size() > i ) && !aBomJob->m_fieldsLabels[i].IsEmpty() ) if( ( aBomJob->m_fieldsLabels.size() > i ) && !aBomJob->m_fieldsLabels[i].IsEmpty() )
field.label = aBomJob->m_fieldsLabels[i]; field.label = aBomJob->m_fieldsLabels[i];
else if( IsTextVar( field.name ) ) else if( IsTextVar( field.name ) )
@ -533,10 +527,9 @@ int EESCHEMA_JOBS_HANDLER::JobExportBom( JOB* aJob )
if( !f.Open( aBomJob->m_outputFile, wxFile::write ) ) if( !f.Open( aBomJob->m_outputFile, wxFile::write ) )
{ {
m_reporter->Report( wxString::Format( _( "Unable to open destination '%s'" ) + wxS( "\n" ), m_reporter->Report( wxString::Format( _( "Unable to open destination '%s'" ),
aBomJob->m_outputFile ), aBomJob->m_outputFile ),
RPT_SEVERITY_ERROR RPT_SEVERITY_ERROR );
);
return CLI::EXIT_CODES::ERR_INVALID_INPUT_FILE; return CLI::EXIT_CODES::ERR_INVALID_INPUT_FILE;
} }
@ -587,9 +580,7 @@ int EESCHEMA_JOBS_HANDLER::JobExportBom( JOB* aJob )
bool res = f.Write( dataModel.Export( fmt ) ); bool res = f.Write( dataModel.Export( fmt ) );
if( !res ) if( !res )
{
return CLI::EXIT_CODES::ERR_UNKNOWN; return CLI::EXIT_CODES::ERR_UNKNOWN;
}
return CLI::EXIT_CODES::OK; return CLI::EXIT_CODES::OK;
} }
@ -912,9 +903,7 @@ int EESCHEMA_JOBS_HANDLER::JobSymUpgrade( JOB* aJob )
try try
{ {
if( !upgradeJob->m_outputLibraryPath.IsEmpty() ) if( !upgradeJob->m_outputLibraryPath.IsEmpty() )
{
schLibrary.SetFileName( upgradeJob->m_outputLibraryPath ); schLibrary.SetFileName( upgradeJob->m_outputLibraryPath );
}
schLibrary.SetModified(); schLibrary.SetModified();
schLibrary.Save(); schLibrary.Save();
@ -969,15 +958,10 @@ int EESCHEMA_JOBS_HANDLER::JobSchErc( JOB* aJob )
switch( ercJob->m_units ) switch( ercJob->m_units )
{ {
case JOB_SCH_ERC::UNITS::INCHES: case JOB_SCH_ERC::UNITS::INCHES: units = EDA_UNITS::INCHES; break;
units = EDA_UNITS::INCHES; case JOB_SCH_ERC::UNITS::MILS: units = EDA_UNITS::MILS; break;
break; case JOB_SCH_ERC::UNITS::MILLIMETERS: units = EDA_UNITS::MILLIMETRES; break;
case JOB_SCH_ERC::UNITS::MILS: default: units = EDA_UNITS::MILLIMETRES; break;
units = EDA_UNITS::MILS;
break;
case JOB_SCH_ERC::UNITS::MILLIMETERS:
default:
units = EDA_UNITS::MILLIMETRES; break;
} }
std::shared_ptr<SHEETLIST_ERC_ITEMS_PROVIDER> markersProvider = std::shared_ptr<SHEETLIST_ERC_ITEMS_PROVIDER> markersProvider =
@ -993,9 +977,9 @@ int EESCHEMA_JOBS_HANDLER::JobSchErc( JOB* aJob )
markersProvider->SetSeverities( ercJob->m_severity ); markersProvider->SetSeverities( ercJob->m_severity );
m_reporter->Report( m_reporter->Report( wxString::Format( _( "Found %d violations\n" ),
wxString::Format( _( "Found %d violations\n" ), markersProvider->GetCount() ), markersProvider->GetCount() ),
RPT_SEVERITY_INFO ); RPT_SEVERITY_INFO );
ERC_REPORT reportWriter( sch, units ); ERC_REPORT reportWriter( sch, units );
@ -1008,9 +992,9 @@ int EESCHEMA_JOBS_HANDLER::JobSchErc( JOB* aJob )
if( !wroteReport ) if( !wroteReport )
{ {
m_reporter->Report( m_reporter->Report( wxString::Format( _( "Unable to save ERC report to %s\n" ),
wxString::Format( _( "Unable to save ERC report to %s\n" ), ercJob->m_outputFile ), ercJob->m_outputFile ),
RPT_SEVERITY_INFO ); RPT_SEVERITY_INFO );
return CLI::EXIT_CODES::ERR_INVALID_OUTPUT_CONFLICT; return CLI::EXIT_CODES::ERR_INVALID_OUTPUT_CONFLICT;
} }
@ -1020,9 +1004,7 @@ int EESCHEMA_JOBS_HANDLER::JobSchErc( JOB* aJob )
if( ercJob->m_exitCodeViolations ) if( ercJob->m_exitCodeViolations )
{ {
if( markersProvider->GetCount() > 0 ) if( markersProvider->GetCount() > 0 )
{
return CLI::EXIT_CODES::ERR_RC_VIOLATIONS; return CLI::EXIT_CODES::ERR_RC_VIOLATIONS;
}
} }
return CLI::EXIT_CODES::SUCCESS; return CLI::EXIT_CODES::SUCCESS;

View File

@ -123,7 +123,8 @@ int PCBNEW_JOBS_HANDLER::JobExportStep( JOB* aJob )
break; break;
case JOB_EXPORT_PCB_3D::FORMAT::GLB: fn.SetExt( FILEEXT::GltfBinaryFileExtension ); case JOB_EXPORT_PCB_3D::FORMAT::GLB: fn.SetExt( FILEEXT::GltfBinaryFileExtension );
break; break;
default: return CLI::EXIT_CODES::ERR_UNKNOWN; // shouldnt have gotten here default:
return CLI::EXIT_CODES::ERR_UNKNOWN; // shouldnt have gotten here
} }
aStepJob->m_outputFile = fn.GetFullName(); aStepJob->m_outputFile = fn.GetFullName();
@ -135,10 +136,10 @@ int PCBNEW_JOBS_HANDLER::JobExportStep( JOB* aJob )
double scale = 0.0; double scale = 0.0;
switch ( aStepJob->m_vrmlUnits ) switch ( aStepJob->m_vrmlUnits )
{ {
case JOB_EXPORT_PCB_3D::VRML_UNITS::MILLIMETERS: scale = 1.0; break; case JOB_EXPORT_PCB_3D::VRML_UNITS::MILLIMETERS: scale = 1.0; break;
case JOB_EXPORT_PCB_3D::VRML_UNITS::METERS: scale = 0.001; break; case JOB_EXPORT_PCB_3D::VRML_UNITS::METERS: scale = 0.001; break;
case JOB_EXPORT_PCB_3D::VRML_UNITS::TENTHS: scale = 10.0 / 25.4; break; case JOB_EXPORT_PCB_3D::VRML_UNITS::TENTHS: scale = 10.0 / 25.4; break;
case JOB_EXPORT_PCB_3D::VRML_UNITS::INCHES: scale = 1.0 / 25.4; break; case JOB_EXPORT_PCB_3D::VRML_UNITS::INCHES: scale = 1.0 / 25.4; break;
} }
EXPORTER_VRML vrmlExporter( brd ); EXPORTER_VRML vrmlExporter( brd );
@ -161,7 +162,8 @@ int PCBNEW_JOBS_HANDLER::JobExportStep( JOB* aJob )
if ( success ) if ( success )
{ {
m_reporter->Report( wxString::Format( _( "Successfully exported VRML to %s" ), aStepJob->m_outputFile ), m_reporter->Report( wxString::Format( _( "Successfully exported VRML to %s" ),
aStepJob->m_outputFile ),
RPT_SEVERITY_INFO ); RPT_SEVERITY_INFO );
} }
else else
@ -194,16 +196,15 @@ int PCBNEW_JOBS_HANDLER::JobExportStep( JOB* aJob )
case JOB_EXPORT_PCB_3D::FORMAT::GLB: case JOB_EXPORT_PCB_3D::FORMAT::GLB:
params.m_format = EXPORTER_STEP_PARAMS::FORMAT::GLB; params.m_format = EXPORTER_STEP_PARAMS::FORMAT::GLB;
break; break;
default: return CLI::EXIT_CODES::ERR_UNKNOWN; // shouldnt have gotten here default:
return CLI::EXIT_CODES::ERR_UNKNOWN; // shouldnt have gotten here
} }
EXPORTER_STEP stepExporter( brd, params ); EXPORTER_STEP stepExporter( brd, params );
stepExporter.m_outputFile = aStepJob->m_outputFile; stepExporter.m_outputFile = aStepJob->m_outputFile;
if( !stepExporter.Export() ) if( !stepExporter.Export() )
{
return CLI::EXIT_CODES::ERR_UNKNOWN; return CLI::EXIT_CODES::ERR_UNKNOWN;
}
} }
return CLI::EXIT_CODES::OK; return CLI::EXIT_CODES::OK;
@ -276,13 +277,9 @@ int PCBNEW_JOBS_HANDLER::JobExportDxf( JOB* aJob )
plotOpts.SetDXFPlotPolygonMode( aDxfJob->m_plotGraphicItemsUsingContours ); plotOpts.SetDXFPlotPolygonMode( aDxfJob->m_plotGraphicItemsUsingContours );
if( aDxfJob->m_dxfUnits == JOB_EXPORT_PCB_DXF::DXF_UNITS::MILLIMETERS ) if( aDxfJob->m_dxfUnits == JOB_EXPORT_PCB_DXF::DXF_UNITS::MILLIMETERS )
{
plotOpts.SetDXFPlotUnits( DXF_UNITS::MILLIMETERS ); plotOpts.SetDXFPlotUnits( DXF_UNITS::MILLIMETERS );
}
else else
{
plotOpts.SetDXFPlotUnits( DXF_UNITS::INCHES ); plotOpts.SetDXFPlotUnits( DXF_UNITS::INCHES );
}
plotOpts.SetPlotFrameRef( aDxfJob->m_plotBorderTitleBlocks ); plotOpts.SetPlotFrameRef( aDxfJob->m_plotBorderTitleBlocks );
plotOpts.SetPlotValue( aDxfJob->m_plotFootprintValues ); plotOpts.SetPlotValue( aDxfJob->m_plotFootprintValues );
@ -345,17 +342,9 @@ int PCBNEW_JOBS_HANDLER::JobExportPdf( JOB* aJob )
switch( aPdfJob->m_drillShapeOption ) switch( aPdfJob->m_drillShapeOption )
{ {
default: default:
case 0: case 0: plotOpts.SetDrillMarksType( DRILL_MARKS::NO_DRILL_SHAPE ); break;
plotOpts.SetDrillMarksType( DRILL_MARKS::NO_DRILL_SHAPE ); case 1: plotOpts.SetDrillMarksType( DRILL_MARKS::SMALL_DRILL_SHAPE ); break;
break; case 2: plotOpts.SetDrillMarksType( DRILL_MARKS::FULL_DRILL_SHAPE ); break;
case 1:
plotOpts.SetDrillMarksType( DRILL_MARKS::SMALL_DRILL_SHAPE );
break;
case 2:
plotOpts.SetDrillMarksType( DRILL_MARKS::FULL_DRILL_SHAPE );
break;
} }
PDF_PLOTTER* plotter = (PDF_PLOTTER*) StartPlotBoard( PDF_PLOTTER* plotter = (PDF_PLOTTER*) StartPlotBoard(
@ -485,7 +474,7 @@ int PCBNEW_JOBS_HANDLER::JobExportGerbers( JOB* aJob )
} }
void PCBNEW_JOBS_HANDLER::populateGerberPlotOptionsFromJob( PCB_PLOT_PARAMS& aPlotOpts, void PCBNEW_JOBS_HANDLER::populateGerberPlotOptionsFromJob( PCB_PLOT_PARAMS& aPlotOpts,
JOB_EXPORT_PCB_GERBER* aJob ) JOB_EXPORT_PCB_GERBER* aJob )
{ {
aPlotOpts.SetFormat( PLOT_FORMAT::GERBER ); aPlotOpts.SetFormat( PLOT_FORMAT::GERBER );
@ -576,6 +565,7 @@ int PCBNEW_JOBS_HANDLER::JobExportDrill( JOB* aJob )
// ensure output dir exists // ensure output dir exists
wxFileName fn( aDrillJob->m_outputDir + wxT( "/" ) ); wxFileName fn( aDrillJob->m_outputDir + wxT( "/" ) );
if( !fn.Mkdir( wxS_DIR_DEFAULT, wxPATH_MKDIR_FULL ) ) if( !fn.Mkdir( wxS_DIR_DEFAULT, wxPATH_MKDIR_FULL ) )
{ {
m_reporter->Report( _( "Failed to create output directory\n" ), RPT_SEVERITY_ERROR ); m_reporter->Report( _( "Failed to create output directory\n" ), RPT_SEVERITY_ERROR );
@ -585,13 +575,9 @@ int PCBNEW_JOBS_HANDLER::JobExportDrill( JOB* aJob )
std::unique_ptr<GENDRILL_WRITER_BASE> drillWriter; std::unique_ptr<GENDRILL_WRITER_BASE> drillWriter;
if( aDrillJob->m_format == JOB_EXPORT_PCB_DRILL::DRILL_FORMAT::EXCELLON ) if( aDrillJob->m_format == JOB_EXPORT_PCB_DRILL::DRILL_FORMAT::EXCELLON )
{
drillWriter = std::make_unique<EXCELLON_WRITER>( brd ); drillWriter = std::make_unique<EXCELLON_WRITER>( brd );
}
else else
{
drillWriter = std::make_unique<GERBER_WRITER>( brd ); drillWriter = std::make_unique<GERBER_WRITER>( brd );
}
VECTOR2I offset; VECTOR2I offset;
@ -604,12 +590,12 @@ int PCBNEW_JOBS_HANDLER::JobExportDrill( JOB* aJob )
switch( aDrillJob->m_mapFormat ) switch( aDrillJob->m_mapFormat )
{ {
case JOB_EXPORT_PCB_DRILL::MAP_FORMAT::POSTSCRIPT: mapFormat = PLOT_FORMAT::POST; break; case JOB_EXPORT_PCB_DRILL::MAP_FORMAT::POSTSCRIPT: mapFormat = PLOT_FORMAT::POST; break;
case JOB_EXPORT_PCB_DRILL::MAP_FORMAT::GERBER_X2: mapFormat = PLOT_FORMAT::GERBER; break; case JOB_EXPORT_PCB_DRILL::MAP_FORMAT::GERBER_X2: mapFormat = PLOT_FORMAT::GERBER; break;
case JOB_EXPORT_PCB_DRILL::MAP_FORMAT::DXF: mapFormat = PLOT_FORMAT::DXF; break; case JOB_EXPORT_PCB_DRILL::MAP_FORMAT::DXF: mapFormat = PLOT_FORMAT::DXF; break;
case JOB_EXPORT_PCB_DRILL::MAP_FORMAT::SVG: mapFormat = PLOT_FORMAT::SVG; break; case JOB_EXPORT_PCB_DRILL::MAP_FORMAT::SVG: mapFormat = PLOT_FORMAT::SVG; break;
default: default:
case JOB_EXPORT_PCB_DRILL::MAP_FORMAT::PDF: mapFormat = PLOT_FORMAT::PDF; break; case JOB_EXPORT_PCB_DRILL::MAP_FORMAT::PDF: mapFormat = PLOT_FORMAT::PDF; break;
} }
if( aDrillJob->m_format == JOB_EXPORT_PCB_DRILL::DRILL_FORMAT::EXCELLON ) if( aDrillJob->m_format == JOB_EXPORT_PCB_DRILL::DRILL_FORMAT::EXCELLON )
@ -981,17 +967,13 @@ int PCBNEW_JOBS_HANDLER::JobExportDrc( JOB* aJob )
} }
EDA_UNITS units; EDA_UNITS units;
switch( drcJob->m_units ) switch( drcJob->m_units )
{ {
case JOB_PCB_DRC::UNITS::INCHES: case JOB_PCB_DRC::UNITS::INCHES: units = EDA_UNITS::INCHES; break;
units = EDA_UNITS::INCHES; case JOB_PCB_DRC::UNITS::MILS: units = EDA_UNITS::MILS; break;
break; case JOB_PCB_DRC::UNITS::MILLIMETERS: units = EDA_UNITS::MILLIMETRES; break;
case JOB_PCB_DRC::UNITS::MILS: default: units = EDA_UNITS::MILLIMETRES; break;
units = EDA_UNITS::MILS;
break;
case JOB_PCB_DRC::UNITS::MILLIMETERS:
default:
units = EDA_UNITS::MILLIMETRES; break;
} }
std::shared_ptr<DRC_ENGINE> drcEngine = brd->GetDesignSettings().m_DRCEngine; std::shared_ptr<DRC_ENGINE> drcEngine = brd->GetDesignSettings().m_DRCEngine;
@ -1096,6 +1078,7 @@ int PCBNEW_JOBS_HANDLER::JobExportDrc( JOB* aJob )
DRC_REPORT reportWriter( brd, units, markersProvider, ratsnestProvider, fpWarningsProvider ); DRC_REPORT reportWriter( brd, units, markersProvider, ratsnestProvider, fpWarningsProvider );
bool wroteReport = false; bool wroteReport = false;
if( drcJob->m_format == JOB_PCB_DRC::OUTPUT_FORMAT::JSON ) if( drcJob->m_format == JOB_PCB_DRC::OUTPUT_FORMAT::JSON )
wroteReport = reportWriter.WriteJsonReport( drcJob->m_outputFile ); wroteReport = reportWriter.WriteJsonReport( drcJob->m_outputFile );
else else
@ -1103,12 +1086,14 @@ int PCBNEW_JOBS_HANDLER::JobExportDrc( JOB* aJob )
if( !wroteReport ) if( !wroteReport )
{ {
m_reporter->Report( wxString::Format( _( "Unable to save DRC report to %s\n" ), drcJob->m_outputFile ), m_reporter->Report( wxString::Format( _( "Unable to save DRC report to %s\n" ),
drcJob->m_outputFile ),
RPT_SEVERITY_INFO ); RPT_SEVERITY_INFO );
return CLI::EXIT_CODES::ERR_INVALID_OUTPUT_CONFLICT; return CLI::EXIT_CODES::ERR_INVALID_OUTPUT_CONFLICT;
} }
m_reporter->Report( wxString::Format( _( "Saved DRC Report to %s\n" ), drcJob->m_outputFile ), m_reporter->Report( wxString::Format( _( "Saved DRC Report to %s\n" ),
drcJob->m_outputFile ),
RPT_SEVERITY_INFO ); RPT_SEVERITY_INFO );
if( drcJob->m_exitCodeViolations ) if( drcJob->m_exitCodeViolations )
@ -1146,8 +1131,8 @@ int PCBNEW_JOBS_HANDLER::JobExportIpc2581( JOB* aJob )
} }
STRING_UTF8_MAP props; STRING_UTF8_MAP props;
props["units"] = props["units"] = job->m_units == JOB_EXPORT_PCB_IPC2581::IPC2581_UNITS::MILLIMETERS ? "mm"
job->m_units == JOB_EXPORT_PCB_IPC2581::IPC2581_UNITS::MILLIMETERS ? "mm" : "inch"; : "inch";
props["sigfig"] = wxString::Format( "%d", job->m_units ); props["sigfig"] = wxString::Format( "%d", job->m_units );
props["version"] = job->m_version == JOB_EXPORT_PCB_IPC2581::IPC2581_VERSION::C ? "C" : "B"; props["version"] = job->m_version == JOB_EXPORT_PCB_IPC2581::IPC2581_VERSION::C ? "C" : "B";
props["OEMRef"] = job->m_colInternalId; props["OEMRef"] = job->m_colInternalId;
@ -1232,20 +1217,23 @@ void PCBNEW_JOBS_HANDLER::loadOverrideDrawingSheet( BOARD* aBrd, const wxString&
if( aSheetPath.IsEmpty() ) if( aSheetPath.IsEmpty() )
return; return;
auto loadSheet = [&]( const wxString& path ) -> bool auto loadSheet =
{ [&]( const wxString& path ) -> bool
BASE_SCREEN::m_DrawingSheetFileName = path; {
wxString filename = DS_DATA_MODEL::ResolvePath( BASE_SCREEN::m_DrawingSheetFileName, BASE_SCREEN::m_DrawingSheetFileName = path;
aBrd->GetProject()->GetProjectPath() ); wxString filename = DS_DATA_MODEL::ResolvePath( BASE_SCREEN::m_DrawingSheetFileName,
if( !DS_DATA_MODEL::GetTheInstance().LoadDrawingSheet( filename ) ) aBrd->GetProject()->GetProjectPath() );
{
m_reporter->Report( wxString::Format( _( "Error loading drawing sheet '%s'." )+ wxS( "\n" ), path ),
RPT_SEVERITY_ERROR );
return false;
}
return true; if( !DS_DATA_MODEL::GetTheInstance().LoadDrawingSheet( filename ) )
}; {
m_reporter->Report( wxString::Format( _( "Error loading drawing sheet '%s'." ) + wxS( "\n" ),
path ),
RPT_SEVERITY_ERROR );
return false;
}
return true;
};
if( loadSheet( aSheetPath ) ) if( loadSheet( aSheetPath ) )
return; return;