KiCad PCB EDA Suite
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
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_sketchPadsOnFabLayers( false ),
40 m_hideDNPFPsOnFabLayers( false ),
41 m_sketchDNPFPsOnFabLayers( true ),
42 m_crossoutDNPFPsOnFabLayers( true ),
43 m_plotFootprintValues( true ),
44 m_plotRefDes( true ),
45 m_plotDrawingSheet( true ),
46 m_subtractSolderMaskFromSilk( false ),
47 m_plotPadNumbers( false ),
48 m_plotLayerSequence(),
49 m_plotOnAllLayersSequence(),
50 m_drillShapeOption( DRILL_MARKS::FULL_DRILL_SHAPE ),
51 m_useDrillOrigin( false )
52{
53 m_params.emplace_back( new JOB_PARAM_LSEQ( "layers",
54 &m_plotLayerSequence, m_plotLayerSequence ) );
55
56 m_params.emplace_back( new JOB_PARAM_LSEQ( "layers_to_include_on_all_layers",
57 &m_plotOnAllLayersSequence,
58 m_plotOnAllLayersSequence ) );
59
60 m_params.emplace_back( new JOB_PARAM<bool>( "mirror",
61 &m_mirror, m_mirror ) );
62 m_params.emplace_back( new JOB_PARAM<bool>( "black_and_white",
63 &m_blackAndWhite, m_blackAndWhite ) );
64 m_params.emplace_back( new JOB_PARAM<bool>( "negative",
65 &m_negative, m_negative ) );
66
67 m_params.emplace_back( new JOB_PARAM<bool>( "plot_footprint_values",
68 &m_plotFootprintValues, m_plotFootprintValues ) );
69 m_params.emplace_back( new JOB_PARAM<bool>( "plot_ref_des",
70 &m_plotRefDes, m_plotRefDes ) );
71
72 m_params.emplace_back( new JOB_PARAM<bool>( "hide_dnp_footprints_on_fab_layers",
73 &m_hideDNPFPsOnFabLayers,
74 m_hideDNPFPsOnFabLayers ) );
75 m_params.emplace_back( new JOB_PARAM<bool>( "sketch_dnp_footprints_on_fab_layers",
76 &m_sketchDNPFPsOnFabLayers,
77 m_sketchDNPFPsOnFabLayers ) );
78 m_params.emplace_back( new JOB_PARAM<bool>( "crossout_dnp_footprints_on_fab_layers",
79 &m_crossoutDNPFPsOnFabLayers,
80 m_crossoutDNPFPsOnFabLayers ) );
81
82 m_params.emplace_back( new JOB_PARAM<bool>( "sketch_pads_on_fab_layers",
83 &m_sketchPadsOnFabLayers,
84 m_sketchPadsOnFabLayers ) );
85 m_params.emplace_back( new JOB_PARAM<bool>( "plot_pad_numbers",
86 &m_plotPadNumbers, m_plotPadNumbers ) );
87
88 m_params.emplace_back( new JOB_PARAM<bool>( "plot_drawing_sheet",
89 &m_plotDrawingSheet, m_plotDrawingSheet ) );
90
91 m_params.emplace_back( new JOB_PARAM<bool>( "subtract_solder_mask_from_silk",
92 &m_subtractSolderMaskFromSilk,
93 m_subtractSolderMaskFromSilk ) );
94
95 m_params.emplace_back( new JOB_PARAM<bool>( "use_drill_origin",
96 &m_useDrillOrigin, m_useDrillOrigin ) );
97
98 m_params.emplace_back( new JOB_PARAM<DRILL_MARKS>( "drill_shape",
99 &m_drillShapeOption, m_drillShapeOption ) );
100
101 m_params.emplace_back( new JOB_PARAM<wxString>( "drawing_sheet",
102 &m_drawingSheet, m_drawingSheet ) );
103}
JOB_EXPORT_PCB_PLOT(PLOT_FORMAT aFormat, const std::string &aType, bool aOutputIsDirectory)
Definition: job.h:50
An simple container class that lets us dispatch output jobs to kifaces.
Definition: job.h:182
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:65