31#define ARG_MODE_SINGLE "--mode-single"
32#define ARG_MODE_MULTI "--mode-multi"
33#define ARG_TRACK_WIDTH_CORRECTION "--track-width-correction"
34#define ARG_X_SCALE_FACTOR "--x-scale-factor"
35#define ARG_Y_SCALE_FACTOR "--y-scale-factor"
36#define ARG_FORCE_A4 "--force-a4"
49 .help(
UTF8STDSTR(
_(
"Mirror the board (useful for trying to show bottom layers)" ) ) )
53 .help(
UTF8STDSTR(
_(
"Exclude the reference designator text" ) ) )
57 .help(
UTF8STDSTR(
_(
"Exclude the value text" ) ) )
61 .help(
UTF8STDSTR(
_(
"Include the border and title block" ) ) )
65 .help(
UTF8STDSTR(
_(
"Subtract soldermask from silkscreen" ) ) )
93 .default_value( std::string() )
94 .help(
UTF8STDSTR(
_(
"Color theme to use (will default to PCB Editor settings)" ) ) )
95 .metavar(
"THEME_NAME" );
104 _(
"Generates a single file with the output arg path acting as the complete "
105 "directory and filename path. COMMON_LAYER_LIST does not function in this "
106 "mode. Instead LAYER_LIST controls all layers plotted." ) ) )
110 .help(
UTF8STDSTR(
_(
"Generates one or more files with behavior similar to the KiCad "
111 "GUI plotting. The given output path specifies a directory in "
112 "which files may be output." ) ) )
116 .help(
UTF8STDSTR(
_(
"Track width correction [mm]. Used to compensate errors in "
117 "track widths, pad and via sizes." ) ) )
119 .default_value( 0.0 )
120 .metavar(
"TRACK_COR" );
123 .help(
UTF8STDSTR(
_(
"X scale adjust for exact scale." ) ) )
125 .default_value( 1.0 )
126 .metavar(
"X_SCALE" );
129 .help(
UTF8STDSTR(
_(
"Y scale adjust for exact scale." ) ) )
131 .default_value( 1.0 )
132 .metavar(
"Y_SCALE" );
141 .default_value( 1.0 )
150 psJob->m_filename = m_argInput;
151 psJob->SetConfiguredOutputPath( m_argOutput );
152 psJob->m_drawingSheet = m_argDrawingSheet;
153 psJob->SetVarOverrides( m_argDefineVars );
155 if( !wxFile::Exists( psJob->m_filename ) )
157 wxFprintf( stderr,
_(
"Board file does not exist or is not accessible\n" ) );
166 psJob->m_mirror = m_argParser.get<
bool>(
ARG_MIRROR );
169 psJob->m_negative = m_argParser.get<
bool>(
ARG_NEGATIVE );
170 psJob->m_scale = m_argParser.get<
double>(
ARG_SCALE );
178 psJob->m_drillShapeOption =
static_cast<DRILL_MARKS>( drillShape );
191 psJob->m_forceA4 = m_argParser.get<
bool>(
ARG_FORCE_A4 );
argparse::ArgumentParser m_argParser
void addDefineArg()
Set up the drawing sheet arg used by many of the export commands.
void addDrawingSheetArg()
Set up the drawing sheet arg used by many of the export commands.
int doPerform(KIWAY &aKiway) override
The internal handler that should be overloaded to implement command specific processing and work.
A minimalistic software bus for communications between various DLLs/DSOs (DSOs) within the same KiCad...
int ProcessJob(KIWAY::FACE_T aFace, JOB *aJob, REPORTER *aReporter=nullptr)
Instantiate the current locale within a scope in which you are expecting exceptions to be thrown.
#define ARG_SKETCH_PADS_ON_FAB_LAYERS_DESC
#define ARG_INCLUDE_BORDER_TITLE
#define ARG_CROSSOUT_DNP_FPS_ON_FAB_LAYERS_DESC
#define ARG_SKETCH_PADS_ON_FAB_LAYERS
#define ARG_COMMON_LAYERS
#define ARG_SKETCH_DNP_FPS_ON_FAB_LAYERS_DESC
#define ARG_EXCLUDE_REFDES
#define ARG_BLACKANDWHITE_DESC
#define ARG_NEGATIVE_SHORT
#define ARG_EXCLUDE_VALUE
#define ARG_BLACKANDWHITE
#define ARG_CROSSOUT_DNP_FPS_ON_FAB_LAYERS
#define ARG_HIDE_DNP_FPS_ON_FAB_LAYERS
#define ARG_SUBTRACT_SOLDERMASK
#define ARG_DRILL_SHAPE_OPTION_DESC
#define ARG_HIDE_DNP_FPS_ON_FAB_LAYERS_DESC
#define ARG_SKETCH_DNP_FPS_ON_FAB_LAYERS
#define ARG_DRILL_SHAPE_OPTION
#define ARG_NEGATIVE_DESC
#define ARG_Y_SCALE_FACTOR
#define ARG_X_SCALE_FACTOR
#define ARG_TRACK_WIDTH_CORRECTION
static const int ERR_INVALID_INPUT_FILE
DRILL_MARKS
Plots and prints can show holes in pads and vias 3 options are available:
std::vector< FAB_LAYER_COLOR > dummy
wxString From_UTF8(const char *cstring)
void addCommonLayersArg()