KiCad PCB EDA Suite
Loading...
Searching...
No Matches
job_export_pcb_plot.cpp
Go to the documentation of this file.
1/*
2 * This program source code file is part of KiCad, a free EDA CAD application.
3 *
4 * Copyright The KiCad Developers, see AUTHORS.txt for contributors.
5 *
6 * This program is free software: you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation, either version 3 of the License, or (at your
9 * option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License along
17 * with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
21
23 {
27 } )
28
29JOB_EXPORT_PCB_PLOT::JOB_EXPORT_PCB_PLOT( PLOT_FORMAT aFormat, const std::string& aType,
30 bool aOutputIsDirectory ) :
31 JOB( aType, aOutputIsDirectory ),
32 m_plotFormat( aFormat ),
33 m_filename(),
34 m_colorTheme(),
35 m_drawingSheet(),
36 m_mirror( false ),
37 m_blackAndWhite( false ),
38 m_negative( false ),
39 m_scale( 1.0 ),
40 m_sketchPadsOnFabLayers( false ),
41 m_hideDNPFPsOnFabLayers( false ),
42 m_sketchDNPFPsOnFabLayers( true ),
43 m_crossoutDNPFPsOnFabLayers( true ),
44 m_plotFootprintValues( true ),
45 m_plotRefDes( true ),
46 m_plotDrawingSheet( true ),
47 m_subtractSolderMaskFromSilk( false ),
48 m_plotPadNumbers( false ),
49 m_plotLayerSequence(),
50 m_plotOnAllLayersSequence(),
51 m_drillShapeOption( DRILL_MARKS::FULL_DRILL_SHAPE ),
52 m_useDrillOrigin( false ),
53 m_checkZonesBeforePlot( false )
54{
55 m_params.emplace_back( new JOB_PARAM_LSEQ( "layers",
56 &m_plotLayerSequence, m_plotLayerSequence ) );
57
58 m_params.emplace_back( new JOB_PARAM_LSEQ( "layers_to_include_on_all_layers",
59 &m_plotOnAllLayersSequence,
60 m_plotOnAllLayersSequence ) );
61
62 m_params.emplace_back( new JOB_PARAM<bool>( "mirror",
63 &m_mirror, m_mirror ) );
64 m_params.emplace_back( new JOB_PARAM<bool>( "black_and_white",
65 &m_blackAndWhite, m_blackAndWhite ) );
66 m_params.emplace_back( new JOB_PARAM<bool>( "negative",
67 &m_negative, m_negative ) );
68
69 m_params.emplace_back( new JOB_PARAM<bool>( "plot_footprint_values",
70 &m_plotFootprintValues, m_plotFootprintValues ) );
71 m_params.emplace_back( new JOB_PARAM<bool>( "plot_ref_des",
72 &m_plotRefDes, m_plotRefDes ) );
73
74 m_params.emplace_back( new JOB_PARAM<bool>( "hide_dnp_footprints_on_fab_layers",
75 &m_hideDNPFPsOnFabLayers,
76 m_hideDNPFPsOnFabLayers ) );
77 m_params.emplace_back( new JOB_PARAM<bool>( "sketch_dnp_footprints_on_fab_layers",
78 &m_sketchDNPFPsOnFabLayers,
79 m_sketchDNPFPsOnFabLayers ) );
80 m_params.emplace_back( new JOB_PARAM<bool>( "crossout_dnp_footprints_on_fab_layers",
81 &m_crossoutDNPFPsOnFabLayers,
82 m_crossoutDNPFPsOnFabLayers ) );
83
84 m_params.emplace_back( new JOB_PARAM<bool>( "sketch_pads_on_fab_layers",
85 &m_sketchPadsOnFabLayers,
86 m_sketchPadsOnFabLayers ) );
87 m_params.emplace_back( new JOB_PARAM<bool>( "plot_pad_numbers",
88 &m_plotPadNumbers, m_plotPadNumbers ) );
89
90 m_params.emplace_back( new JOB_PARAM<bool>( "plot_drawing_sheet",
91 &m_plotDrawingSheet, m_plotDrawingSheet ) );
92
93 m_params.emplace_back( new JOB_PARAM<bool>( "subtract_solder_mask_from_silk",
94 &m_subtractSolderMaskFromSilk,
95 m_subtractSolderMaskFromSilk ) );
96
97 m_params.emplace_back( new JOB_PARAM<bool>( "use_drill_origin",
98 &m_useDrillOrigin, m_useDrillOrigin ) );
99
100 m_params.emplace_back( new JOB_PARAM<DRILL_MARKS>( "drill_shape",
101 &m_drillShapeOption, m_drillShapeOption ) );
102
103 m_params.emplace_back( new JOB_PARAM<wxString>( "drawing_sheet",
104 &m_drawingSheet, m_drawingSheet ) );
105
106 m_params.emplace_back( new JOB_PARAM<bool>( "check_zones", &m_checkZonesBeforePlot, m_checkZonesBeforePlot ) );
107}
JOB_EXPORT_PCB_PLOT(PLOT_FORMAT aFormat, const std::string &aType, bool aOutputIsDirectory)
An simple container class that lets us dispatch output jobs to kifaces.
Definition job.h:183
NLOHMANN_JSON_SERIALIZE_ENUM(DRILL_MARKS, { { DRILL_MARKS::NO_DRILL_SHAPE, "none" }, { DRILL_MARKS::SMALL_DRILL_SHAPE, "small" }, { DRILL_MARKS::FULL_DRILL_SHAPE, "full" } }) JOB_EXPORT_PCB_PLOT
DRILL_MARKS
Plots and prints can show holes in pads and vias 3 options are available:
PLOT_FORMAT
The set of supported output plot formats.
Definition plotter.h:64