KiCad PCB EDA Suite
Loading...
Searching...
No Matches
autotrax_model.h
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
* Format interpretation derived from pcb-rnd src_plugins/io_autotrax:
5
* Copyright (C) 2016, 2017, 2018, 2020 Tibor 'Igor2' Palinkas
6
* Copyright (C) 2016, 2017 Erich S. Heinzle
7
* Used under GPL v2-or-later.
8
*
9
* Copyright (C) 2026 KiCad Developers, see AUTHORS.txt for contributors.
10
*
11
* This program is free software; you can redistribute it and/or
12
* modify it under the terms of the GNU General Public License
13
* as published by the Free Software Foundation; either version 2
14
* of the License, or (at your option) any later version.
15
*
16
* This program is distributed in the hope that it will be useful,
17
* but WITHOUT ANY WARRANTY; without even the implied warranty of
18
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
* GNU General Public License for more details.
20
*
21
* You should have received a copy of the GNU General Public License
22
* along with this program. If not, see <https://www.gnu.org/licenses/>.
23
*/
24
25
#ifndef AUTOTRAX_MODEL_H_
26
#define AUTOTRAX_MODEL_H_
27
28
#include <vector>
29
30
#include <wx/string.h>
31
32
namespace
AUTOTRAX
33
{
34
40
enum
LAYER
41
{
42
LAYER_TOP_COPPER
= 1,
43
LAYER_MID1
= 2,
44
LAYER_MID2
= 3,
45
LAYER_MID3
= 4,
46
LAYER_MID4
= 5,
47
LAYER_BOTTOM_COPPER
= 6,
48
LAYER_TOP_SILK
= 7,
49
LAYER_BOTTOM_SILK
= 8,
50
LAYER_GND_PLANE
= 9,
51
LAYER_POWER_PLANE
= 10,
52
LAYER_BOARD
= 11,
53
LAYER_KEEPOUT
= 12,
54
LAYER_MULTI
= 13
55
};
56
57
59
struct
TRACK
60
{
61
double
x1
= 0;
62
double
y1
= 0;
63
double
x2
= 0;
64
double
y2
= 0;
65
double
width
= 0;
66
int
layer
= 0;
67
};
68
69
72
struct
ARC
73
{
74
double
centerX
= 0;
75
double
centerY
= 0;
76
double
radius
= 0;
77
int
segments
= 15;
78
double
width
= 0;
79
int
layer
= 0;
80
};
81
82
84
struct
VIA
85
{
86
double
x
= 0;
87
double
y
= 0;
88
double
diameter
= 0;
89
double
drill
= 0;
90
};
91
92
94
struct
PAD
95
{
96
double
x
= 0;
97
double
y
= 0;
98
double
xSize
= 0;
99
double
ySize
= 0;
100
int
shape
= 0;
101
double
drill
= 0;
102
int
planeFlags
= 0;
103
int
layer
= 0;
104
wxString
name
;
105
};
106
107
109
struct
FILL
110
{
111
double
x1
= 0;
112
double
y1
= 0;
113
double
x2
= 0;
114
double
y2
= 0;
115
int
layer
= 0;
116
};
117
118
120
struct
TEXT
121
{
122
double
x
= 0;
123
double
y
= 0;
124
double
height
= 0;
125
int
direction
= 0;
126
double
width
= 0;
127
int
layer
= 0;
128
wxString
text
;
129
};
130
131
133
struct
COMPONENT
134
{
135
wxString
refdes
;
136
wxString
name
;
137
wxString
value
;
138
double
x
= 0;
139
double
y
= 0;
140
141
std::vector<TRACK>
tracks
;
142
std::vector<ARC>
arcs
;
143
std::vector<VIA>
vias
;
144
std::vector<PAD>
pads
;
145
std::vector<FILL>
fills
;
146
std::vector<TEXT>
texts
;
147
};
148
149
151
struct
NET_NODE
152
{
153
wxString
netName
;
154
wxString
node
;
155
};
156
157
162
struct
BOARD_DATA
163
{
164
int
version
= 4;
165
166
std::vector<TRACK>
tracks
;
167
std::vector<ARC>
arcs
;
168
std::vector<VIA>
vias
;
169
std::vector<PAD>
pads
;
170
std::vector<FILL>
fills
;
171
std::vector<TEXT>
texts
;
172
std::vector<COMPONENT>
components
;
173
std::vector<NET_NODE>
netNodes
;
174
};
175
176
}
// namespace AUTOTRAX
177
178
#endif
// AUTOTRAX_MODEL_H_
AUTOTRAX
Definition
autotrax_model.h:33
AUTOTRAX::LAYER
LAYER
Autotrax/Easytrax layer numbers as stored in the file.
Definition
autotrax_model.h:41
AUTOTRAX::LAYER_MID2
@ LAYER_MID2
Definition
autotrax_model.h:44
AUTOTRAX::LAYER_BOARD
@ LAYER_BOARD
Definition
autotrax_model.h:52
AUTOTRAX::LAYER_POWER_PLANE
@ LAYER_POWER_PLANE
Definition
autotrax_model.h:51
AUTOTRAX::LAYER_GND_PLANE
@ LAYER_GND_PLANE
Definition
autotrax_model.h:50
AUTOTRAX::LAYER_TOP_COPPER
@ LAYER_TOP_COPPER
Definition
autotrax_model.h:42
AUTOTRAX::LAYER_KEEPOUT
@ LAYER_KEEPOUT
Definition
autotrax_model.h:53
AUTOTRAX::LAYER_BOTTOM_SILK
@ LAYER_BOTTOM_SILK
Definition
autotrax_model.h:49
AUTOTRAX::LAYER_MID3
@ LAYER_MID3
Definition
autotrax_model.h:45
AUTOTRAX::LAYER_TOP_SILK
@ LAYER_TOP_SILK
Definition
autotrax_model.h:48
AUTOTRAX::LAYER_MID4
@ LAYER_MID4
Definition
autotrax_model.h:46
AUTOTRAX::LAYER_BOTTOM_COPPER
@ LAYER_BOTTOM_COPPER
Definition
autotrax_model.h:47
AUTOTRAX::LAYER_MULTI
@ LAYER_MULTI
Definition
autotrax_model.h:54
AUTOTRAX::LAYER_MID1
@ LAYER_MID1
Definition
autotrax_model.h:43
AUTOTRAX::ARC
Free or component arc (FA / CA).
Definition
autotrax_model.h:73
AUTOTRAX::ARC::radius
double radius
Definition
autotrax_model.h:76
AUTOTRAX::ARC::segments
int segments
quadrant bitmask; 15 = full circle
Definition
autotrax_model.h:77
AUTOTRAX::ARC::centerY
double centerY
Definition
autotrax_model.h:75
AUTOTRAX::ARC::centerX
double centerX
Definition
autotrax_model.h:74
AUTOTRAX::ARC::layer
int layer
Definition
autotrax_model.h:79
AUTOTRAX::ARC::width
double width
Definition
autotrax_model.h:78
AUTOTRAX::BOARD_DATA
Everything parsed out of an Autotrax/Easytrax file, before any KiCad object is created.
Definition
autotrax_model.h:163
AUTOTRAX::BOARD_DATA::components
std::vector< COMPONENT > components
Definition
autotrax_model.h:172
AUTOTRAX::BOARD_DATA::vias
std::vector< VIA > vias
Definition
autotrax_model.h:168
AUTOTRAX::BOARD_DATA::netNodes
std::vector< NET_NODE > netNodes
Definition
autotrax_model.h:173
AUTOTRAX::BOARD_DATA::pads
std::vector< PAD > pads
Definition
autotrax_model.h:169
AUTOTRAX::BOARD_DATA::tracks
std::vector< TRACK > tracks
Definition
autotrax_model.h:166
AUTOTRAX::BOARD_DATA::version
int version
4 = Autotrax, 5 = Easytrax
Definition
autotrax_model.h:164
AUTOTRAX::BOARD_DATA::texts
std::vector< TEXT > texts
Definition
autotrax_model.h:171
AUTOTRAX::BOARD_DATA::arcs
std::vector< ARC > arcs
Definition
autotrax_model.h:167
AUTOTRAX::BOARD_DATA::fills
std::vector< FILL > fills
Definition
autotrax_model.h:170
AUTOTRAX::COMPONENT
A placed component (COMP .. ENDCOMP) holding its own primitives.
Definition
autotrax_model.h:134
AUTOTRAX::COMPONENT::name
wxString name
Definition
autotrax_model.h:136
AUTOTRAX::COMPONENT::arcs
std::vector< ARC > arcs
Definition
autotrax_model.h:142
AUTOTRAX::COMPONENT::refdes
wxString refdes
Definition
autotrax_model.h:135
AUTOTRAX::COMPONENT::tracks
std::vector< TRACK > tracks
Definition
autotrax_model.h:141
AUTOTRAX::COMPONENT::y
double y
Definition
autotrax_model.h:139
AUTOTRAX::COMPONENT::vias
std::vector< VIA > vias
Definition
autotrax_model.h:143
AUTOTRAX::COMPONENT::pads
std::vector< PAD > pads
Definition
autotrax_model.h:144
AUTOTRAX::COMPONENT::fills
std::vector< FILL > fills
Definition
autotrax_model.h:145
AUTOTRAX::COMPONENT::value
wxString value
Definition
autotrax_model.h:137
AUTOTRAX::COMPONENT::x
double x
Definition
autotrax_model.h:138
AUTOTRAX::COMPONENT::texts
std::vector< TEXT > texts
Definition
autotrax_model.h:146
AUTOTRAX::FILL
Free or component rectangular fill (FF / CF), Autotrax's only pour.
Definition
autotrax_model.h:110
AUTOTRAX::FILL::layer
int layer
Definition
autotrax_model.h:115
AUTOTRAX::FILL::y2
double y2
Definition
autotrax_model.h:114
AUTOTRAX::FILL::x2
double x2
Definition
autotrax_model.h:113
AUTOTRAX::FILL::x1
double x1
Definition
autotrax_model.h:111
AUTOTRAX::FILL::y1
double y1
Definition
autotrax_model.h:112
AUTOTRAX::NET_NODE
One refdes -> net membership row collected from the NETDEF section.
Definition
autotrax_model.h:152
AUTOTRAX::NET_NODE::node
wxString node
"refdes-pad" connection token
Definition
autotrax_model.h:154
AUTOTRAX::NET_NODE::netName
wxString netName
Definition
autotrax_model.h:153
AUTOTRAX::PAD
Free or component pad/pin (FP / CP).
Definition
autotrax_model.h:95
AUTOTRAX::PAD::y
double y
Definition
autotrax_model.h:97
AUTOTRAX::PAD::xSize
double xSize
Definition
autotrax_model.h:98
AUTOTRAX::PAD::x
double x
Definition
autotrax_model.h:96
AUTOTRAX::PAD::ySize
double ySize
Definition
autotrax_model.h:99
AUTOTRAX::PAD::drill
double drill
Definition
autotrax_model.h:101
AUTOTRAX::PAD::name
wxString name
Definition
autotrax_model.h:104
AUTOTRAX::PAD::layer
int layer
Definition
autotrax_model.h:103
AUTOTRAX::PAD::planeFlags
int planeFlags
Definition
autotrax_model.h:102
AUTOTRAX::PAD::shape
int shape
1 round, 2 rect, 3 octagon, 4 round-rect
Definition
autotrax_model.h:100
AUTOTRAX::TEXT
Free or component string (FS / CS).
Definition
autotrax_model.h:121
AUTOTRAX::TEXT::layer
int layer
Definition
autotrax_model.h:127
AUTOTRAX::TEXT::x
double x
Definition
autotrax_model.h:122
AUTOTRAX::TEXT::text
wxString text
Definition
autotrax_model.h:128
AUTOTRAX::TEXT::height
double height
Definition
autotrax_model.h:124
AUTOTRAX::TEXT::width
double width
Definition
autotrax_model.h:126
AUTOTRAX::TEXT::direction
int direction
0..3, multiplied by 90 degrees
Definition
autotrax_model.h:125
AUTOTRAX::TEXT::y
double y
Definition
autotrax_model.h:123
AUTOTRAX::TRACK
Free or component track segment (FT / CT). All coordinates are in mils.
Definition
autotrax_model.h:60
AUTOTRAX::TRACK::x2
double x2
Definition
autotrax_model.h:63
AUTOTRAX::TRACK::y1
double y1
Definition
autotrax_model.h:62
AUTOTRAX::TRACK::width
double width
Definition
autotrax_model.h:65
AUTOTRAX::TRACK::layer
int layer
Definition
autotrax_model.h:66
AUTOTRAX::TRACK::y2
double y2
Definition
autotrax_model.h:64
AUTOTRAX::TRACK::x1
double x1
Definition
autotrax_model.h:61
AUTOTRAX::VIA
Free or component via (FV / CV).
Definition
autotrax_model.h:85
AUTOTRAX::VIA::diameter
double diameter
Definition
autotrax_model.h:88
AUTOTRAX::VIA::drill
double drill
Definition
autotrax_model.h:89
AUTOTRAX::VIA::y
double y
Definition
autotrax_model.h:87
AUTOTRAX::VIA::x
double x
Definition
autotrax_model.h:86
src
pcbnew
pcb_io
autotrax
autotrax_model.h
Generated on Fri Jun 26 2026 00:05:40 for KiCad PCB EDA Suite by
1.13.2