KiCad PCB EDA Suite
Loading...
Searching...
No Matches
job_export_pcb_dxf.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 (C) 2023 Mark Roszko <
[email protected]
>
5
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
6
*
7
* This program is free software: you can redistribute it and/or modify it
8
* under the terms of the GNU General Public License as published by the
9
* Free Software Foundation, either version 3 of the License, or (at your
10
* option) any later version.
11
*
12
* This program is distributed in the hope that it will be useful, but
13
* WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public License along
18
* with this program. If not, see <http://www.gnu.org/licenses/>.
19
*/
20
21
#include <
jobs/job_export_pcb_dxf.h
>
22
#include <
jobs/job_registry.h
>
23
#include <
i18n_utility.h
>
24
25
NLOHMANN_JSON_SERIALIZE_ENUM
(
JOB_EXPORT_PCB_DXF::GEN_MODE
,
26
{
27
{
JOB_EXPORT_PCB_DXF::GEN_MODE::MULTI
,
"multi"
},
28
{
JOB_EXPORT_PCB_DXF::GEN_MODE::SINGLE
,
"single"
},
29
} )
30
31
NLOHMANN_JSON_SERIALIZE_ENUM
(
JOB_EXPORT_PCB_DXF::DXF_UNITS
,
32
{
33
{
JOB_EXPORT_PCB_DXF::DXF_UNITS::INCH
,
"in"
},
34
{
JOB_EXPORT_PCB_DXF::DXF_UNITS::MM
,
"mm"
},
35
} )
36
37
JOB_EXPORT_PCB_DXF::JOB_EXPORT_PCB_DXF
() :
38
JOB_EXPORT_PCB_PLOT
(
JOB_EXPORT_PCB_PLOT::PLOT_FORMAT::DXF
,
"dxf"
,
false
),
39
m_plotGraphicItemsUsingContours
(
true
),
40
m_polygonMode
(
true
),
41
m_dxfUnits
(
DXF_UNITS::INCH
),
42
m_genMode
(
GEN_MODE::MULTI
)
43
{
44
m_plotDrawingSheet
=
false
;
45
46
m_params
.emplace_back(
new
JOB_PARAM<double>
(
"scale"
, &
m_scale
,
m_scale
) );
47
m_params
.emplace_back(
new
JOB_PARAM<bool>
(
"plot_graphic_items_using_contours"
,
48
&
m_plotGraphicItemsUsingContours
,
49
m_plotGraphicItemsUsingContours
) );
50
m_params
.emplace_back(
new
JOB_PARAM<DXF_UNITS>
(
"units"
, &
m_dxfUnits
,
m_dxfUnits
) );
51
m_params
.emplace_back(
new
JOB_PARAM<bool>
(
"polygon_mode"
, &
m_polygonMode
,
m_polygonMode
) );
52
m_params
.emplace_back(
new
JOB_PARAM<GEN_MODE>
(
"gen_mode"
, &
m_genMode
,
m_genMode
) );
53
}
54
55
56
wxString
JOB_EXPORT_PCB_DXF::GetDefaultDescription
()
const
57
{
58
return
_
(
"Export DXF"
);
59
}
60
61
62
wxString
JOB_EXPORT_PCB_DXF::GetSettingsDialogTitle
()
const
63
{
64
return
_
(
"Export DXF Job Settings"
);
65
}
66
67
68
REGISTER_JOB
( pcb_export_dxf,
_HKI
(
"PCB: Export DXF"
),
KIWAY::FACE_PCB
,
JOB_EXPORT_PCB_DXF
);
JOB_EXPORT_PCB_DXF
Definition
job_export_pcb_dxf.h:31
JOB_EXPORT_PCB_DXF::JOB_EXPORT_PCB_DXF
JOB_EXPORT_PCB_DXF()
Definition
job_export_pcb_dxf.cpp:37
JOB_EXPORT_PCB_DXF::DXF_UNITS
DXF_UNITS
Definition
job_export_pcb_dxf.h:38
JOB_EXPORT_PCB_DXF::DXF_UNITS::INCH
@ INCH
Definition
job_export_pcb_dxf.h:39
JOB_EXPORT_PCB_DXF::DXF_UNITS::MM
@ MM
Definition
job_export_pcb_dxf.h:40
JOB_EXPORT_PCB_DXF::m_plotGraphicItemsUsingContours
bool m_plotGraphicItemsUsingContours
Definition
job_export_pcb_dxf.h:50
JOB_EXPORT_PCB_DXF::GEN_MODE
GEN_MODE
Definition
job_export_pcb_dxf.h:44
JOB_EXPORT_PCB_DXF::GEN_MODE::SINGLE
@ SINGLE
Definition
job_export_pcb_dxf.h:45
JOB_EXPORT_PCB_DXF::GEN_MODE::MULTI
@ MULTI
Definition
job_export_pcb_dxf.h:46
JOB_EXPORT_PCB_DXF::GetDefaultDescription
wxString GetDefaultDescription() const override
Definition
job_export_pcb_dxf.cpp:56
JOB_EXPORT_PCB_DXF::GetSettingsDialogTitle
wxString GetSettingsDialogTitle() const override
Definition
job_export_pcb_dxf.cpp:62
JOB_EXPORT_PCB_DXF::m_genMode
GEN_MODE m_genMode
Definition
job_export_pcb_dxf.h:54
JOB_EXPORT_PCB_DXF::m_polygonMode
bool m_polygonMode
Definition
job_export_pcb_dxf.h:51
JOB_EXPORT_PCB_DXF::m_dxfUnits
DXF_UNITS m_dxfUnits
Definition
job_export_pcb_dxf.h:52
JOB_EXPORT_PCB_PLOT::m_plotDrawingSheet
bool m_plotDrawingSheet
Definition
job_export_pcb_plot.h:69
JOB_EXPORT_PCB_PLOT::JOB_EXPORT_PCB_PLOT
JOB_EXPORT_PCB_PLOT(PLOT_FORMAT aFormat, const std::string &aType, bool aOutputIsDirectory)
JOB_EXPORT_PCB_PLOT::m_scale
double m_scale
Definition
job_export_pcb_plot.h:60
JOB_EXPORT_PCB_PLOT::PLOT_FORMAT::DXF
@ DXF
Definition
job_export_pcb_plot.h:37
JOB_PARAM
Definition
job.h:51
JOB::m_params
std::vector< JOB_PARAM_BASE * > m_params
Definition
job.h:267
KIWAY::FACE_PCB
@ FACE_PCB
pcbnew DSO
Definition
kiway.h:294
_
#define _(s)
Definition
eda_3d_actions.cpp:36
i18n_utility.h
Some functions to handle hotkeys in KiCad.
NLOHMANN_JSON_SERIALIZE_ENUM
NLOHMANN_JSON_SERIALIZE_ENUM(JOB_EXPORT_PCB_DXF::GEN_MODE, { { JOB_EXPORT_PCB_DXF::GEN_MODE::MULTI, "multi" }, { JOB_EXPORT_PCB_DXF::GEN_MODE::SINGLE, "single" }, }) NLOHMANN_JSON_SERIALIZE_ENUM(JOB_EXPORT_PCB_DXF
Definition
job_export_pcb_dxf.cpp:25
job_export_pcb_dxf.h
job_registry.h
REGISTER_JOB
#define REGISTER_JOB(job_name, title, face, T)
Definition
job_registry.h:64
_HKI
#define _HKI(x)
Definition
page_info.cpp:44
src
common
jobs
job_export_pcb_dxf.cpp
Generated on Sun Sep 21 2025 01:05:21 for KiCad PCB EDA Suite by
1.13.2