circuit-json-to-gerber 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/index.d.ts +343 -0
- package/dist/index.js +965 -0
- package/dist/index.js.map +1 -0
- package/package.json +20 -3
- package/.vscode/settings.json +0 -16
- package/bun.lockb +0 -0
- package/src/any_gerber_command.ts +0 -71
- package/src/commands/add_attribute_on_aperture.ts +0 -18
- package/src/commands/add_attribute_on_file.ts +0 -16
- package/src/commands/add_attribute_on_object.ts +0 -22
- package/src/commands/aperture_block.ts +0 -19
- package/src/commands/comment.ts +0 -19
- package/src/commands/create_arc.ts +0 -19
- package/src/commands/define_aperture.ts +0 -19
- package/src/commands/define_aperture_template.ts +0 -77
- package/src/commands/define_macro_aperture_template.ts +0 -20
- package/src/commands/delete_attribute.ts +0 -20
- package/src/commands/end_of_file.ts +0 -14
- package/src/commands/end_region_statement.ts +0 -10
- package/src/commands/flash_operation.ts +0 -24
- package/src/commands/format_specification.ts +0 -28
- package/src/commands/index.ts +0 -26
- package/src/commands/load_mirroring.ts +0 -10
- package/src/commands/load_polarity.ts +0 -12
- package/src/commands/load_rotation.ts +0 -12
- package/src/commands/load_scaling.ts +0 -10
- package/src/commands/move_operation.ts +0 -22
- package/src/commands/plot_operation.ts +0 -22
- package/src/commands/select_aperture.ts +0 -13
- package/src/commands/set_coordinate_format.ts +0 -9
- package/src/commands/set_current_aperture_d_code.ts +0 -12
- package/src/commands/set_layer_polarity.ts +0 -17
- package/src/commands/set_movement_mode_to_clockwise_circular.ts +0 -16
- package/src/commands/set_movement_mode_to_counterclockwise_circular.ts +0 -17
- package/src/commands/set_movement_mode_to_linear.ts +0 -16
- package/src/commands/set_unit.ts +0 -15
- package/src/commands/start_region_statement.ts +0 -12
- package/src/commands/step_and_repeat.ts +0 -10
- package/src/convert-soup-to-gerber-commands/GerberLayerName.ts +0 -16
- package/src/convert-soup-to-gerber-commands/define-common-macros.ts +0 -31
- package/src/convert-soup-to-gerber-commands/defineAperturesForLayer.ts +0 -150
- package/src/convert-soup-to-gerber-commands/findApertureNumber.ts +0 -41
- package/src/convert-soup-to-gerber-commands/gerber-job-json.ts +0 -164
- package/src/convert-soup-to-gerber-commands/getAllTraceWidths.ts +0 -25
- package/src/convert-soup-to-gerber-commands/getCommandHeaders.ts +0 -90
- package/src/convert-soup-to-gerber-commands/getGerberLayerName.ts +0 -22
- package/src/convert-soup-to-gerber-commands/index.ts +0 -195
- package/src/define-gerber-command.ts +0 -29
- package/src/gerber-builder.ts +0 -47
- package/src/index.ts +0 -3
- package/src/stringify-gerber/get-gerber-coordinate-with-padding.ts +0 -29
- package/src/stringify-gerber/index.ts +0 -3
- package/src/stringify-gerber/stringify-gerber-command-layers.ts +0 -17
- package/src/stringify-gerber/stringify-gerber-command.ts +0 -21
- package/src/stringify-gerber/stringify-gerber-commands.ts +0 -12
- package/tsconfig.json +0 -27
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@ Some components of this gerber system:
|
|
|
5
5
|
- A JSON command representation (defined in part with zod), all gerber command
|
|
6
6
|
definitions are in [./commands](./commands)
|
|
7
7
|
- Each command features a stringification function
|
|
8
|
-
- A function that converts soup to the Gerber commands [./convert-soup-to-gerber-commands](./convert-soup-to-gerber-commands)
|
|
8
|
+
- A function that converts soup to the Gerber commands [./src/convert-soup-to-gerber-commands](./convert-soup-to-gerber-commands)
|
|
9
9
|
|
|
10
10
|
## References
|
|
11
11
|
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
import { AnyZodObject, z } from 'zod';
|
|
2
|
+
import { AnySoupElement } from '@tscircuit/soup';
|
|
3
|
+
|
|
4
|
+
interface GerberCommandDef<K extends string, T extends AnyZodObject | z.ZodIntersection<any, any>> {
|
|
5
|
+
command_code: K;
|
|
6
|
+
schema: T;
|
|
7
|
+
stringify: (c: z.infer<T>) => string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
declare const gerber_command_map: {
|
|
11
|
+
readonly add_attribute_on_aperture: GerberCommandDef<"TA", z.ZodObject<{
|
|
12
|
+
command_code: z.ZodDefault<z.ZodLiteral<"TA">>;
|
|
13
|
+
attribute_name: z.ZodString;
|
|
14
|
+
attribute_value: z.ZodString;
|
|
15
|
+
}, "strip", z.ZodTypeAny, {
|
|
16
|
+
command_code: "TA";
|
|
17
|
+
attribute_name: string;
|
|
18
|
+
attribute_value: string;
|
|
19
|
+
}, {
|
|
20
|
+
attribute_name: string;
|
|
21
|
+
attribute_value: string;
|
|
22
|
+
command_code?: "TA" | undefined;
|
|
23
|
+
}>>;
|
|
24
|
+
readonly add_attribute_on_file: GerberCommandDef<"TF", z.ZodObject<{
|
|
25
|
+
command_code: z.ZodDefault<z.ZodLiteral<"TF">>;
|
|
26
|
+
attribute_name: z.ZodString;
|
|
27
|
+
attribute_value: z.ZodString;
|
|
28
|
+
}, "strip", z.ZodTypeAny, {
|
|
29
|
+
command_code: "TF";
|
|
30
|
+
attribute_name: string;
|
|
31
|
+
attribute_value: string;
|
|
32
|
+
}, {
|
|
33
|
+
attribute_name: string;
|
|
34
|
+
attribute_value: string;
|
|
35
|
+
command_code?: "TF" | undefined;
|
|
36
|
+
}>>;
|
|
37
|
+
readonly add_attribute_on_object: GerberCommandDef<"TO", z.ZodObject<{
|
|
38
|
+
command_code: z.ZodDefault<z.ZodLiteral<"TO">>;
|
|
39
|
+
attribute_name: z.ZodString;
|
|
40
|
+
attribute_value: z.ZodString;
|
|
41
|
+
}, "strip", z.ZodTypeAny, {
|
|
42
|
+
command_code: "TO";
|
|
43
|
+
attribute_name: string;
|
|
44
|
+
attribute_value: string;
|
|
45
|
+
}, {
|
|
46
|
+
attribute_name: string;
|
|
47
|
+
attribute_value: string;
|
|
48
|
+
command_code?: "TO" | undefined;
|
|
49
|
+
}>>;
|
|
50
|
+
readonly aperture_block: GerberCommandDef<"AB", z.ZodObject<{
|
|
51
|
+
command_code: z.ZodDefault<z.ZodLiteral<"AB">>;
|
|
52
|
+
block: z.ZodString;
|
|
53
|
+
}, "strip", z.ZodTypeAny, {
|
|
54
|
+
command_code: "AB";
|
|
55
|
+
block: string;
|
|
56
|
+
}, {
|
|
57
|
+
block: string;
|
|
58
|
+
command_code?: "AB" | undefined;
|
|
59
|
+
}>>;
|
|
60
|
+
readonly comment: GerberCommandDef<"G04", z.ZodObject<{
|
|
61
|
+
command_code: z.ZodDefault<z.ZodLiteral<"G04">>;
|
|
62
|
+
comment: z.ZodString;
|
|
63
|
+
}, "strip", z.ZodTypeAny, {
|
|
64
|
+
command_code: "G04";
|
|
65
|
+
comment: string;
|
|
66
|
+
}, {
|
|
67
|
+
comment: string;
|
|
68
|
+
command_code?: "G04" | undefined;
|
|
69
|
+
}>>;
|
|
70
|
+
readonly create_arc: GerberCommandDef<"G75", z.ZodObject<{
|
|
71
|
+
command_code: z.ZodDefault<z.ZodLiteral<"G75">>;
|
|
72
|
+
arc_parameters: z.ZodString;
|
|
73
|
+
}, "strip", z.ZodTypeAny, {
|
|
74
|
+
command_code: "G75";
|
|
75
|
+
arc_parameters: string;
|
|
76
|
+
}, {
|
|
77
|
+
arc_parameters: string;
|
|
78
|
+
command_code?: "G75" | undefined;
|
|
79
|
+
}>>;
|
|
80
|
+
readonly define_aperture: GerberCommandDef<"AD", z.ZodObject<{
|
|
81
|
+
command_code: z.ZodDefault<z.ZodLiteral<"AD">>;
|
|
82
|
+
aperture_code: z.ZodString;
|
|
83
|
+
}, "strip", z.ZodTypeAny, {
|
|
84
|
+
command_code: "AD";
|
|
85
|
+
aperture_code: string;
|
|
86
|
+
}, {
|
|
87
|
+
aperture_code: string;
|
|
88
|
+
command_code?: "AD" | undefined;
|
|
89
|
+
}>>;
|
|
90
|
+
readonly define_macro_aperture_template: GerberCommandDef<"AM", z.ZodObject<{
|
|
91
|
+
command_code: z.ZodDefault<z.ZodLiteral<"AM">>;
|
|
92
|
+
macro_name: z.ZodString;
|
|
93
|
+
template_code: z.ZodString;
|
|
94
|
+
}, "strip", z.ZodTypeAny, {
|
|
95
|
+
command_code: "AM";
|
|
96
|
+
macro_name: string;
|
|
97
|
+
template_code: string;
|
|
98
|
+
}, {
|
|
99
|
+
macro_name: string;
|
|
100
|
+
template_code: string;
|
|
101
|
+
command_code?: "AM" | undefined;
|
|
102
|
+
}>>;
|
|
103
|
+
readonly delete_attribute: GerberCommandDef<"TD", z.ZodObject<{
|
|
104
|
+
command_code: z.ZodDefault<z.ZodLiteral<"TD">>;
|
|
105
|
+
attribute: z.ZodOptional<z.ZodString>;
|
|
106
|
+
}, "strip", z.ZodTypeAny, {
|
|
107
|
+
command_code: "TD";
|
|
108
|
+
attribute?: string | undefined;
|
|
109
|
+
}, {
|
|
110
|
+
command_code?: "TD" | undefined;
|
|
111
|
+
attribute?: string | undefined;
|
|
112
|
+
}>>;
|
|
113
|
+
readonly end_of_file: GerberCommandDef<"M02", z.ZodObject<{
|
|
114
|
+
command_code: z.ZodDefault<z.ZodLiteral<"M02">>;
|
|
115
|
+
}, "strip", z.ZodTypeAny, {
|
|
116
|
+
command_code: "M02";
|
|
117
|
+
}, {
|
|
118
|
+
command_code?: "M02" | undefined;
|
|
119
|
+
}>>;
|
|
120
|
+
readonly move_operation: GerberCommandDef<"D02", z.ZodObject<{
|
|
121
|
+
command_code: z.ZodDefault<z.ZodLiteral<"D02">>;
|
|
122
|
+
x: z.ZodNumber;
|
|
123
|
+
y: z.ZodNumber;
|
|
124
|
+
}, "strip", z.ZodTypeAny, {
|
|
125
|
+
command_code: "D02";
|
|
126
|
+
x: number;
|
|
127
|
+
y: number;
|
|
128
|
+
}, {
|
|
129
|
+
x: number;
|
|
130
|
+
y: number;
|
|
131
|
+
command_code?: "D02" | undefined;
|
|
132
|
+
}>>;
|
|
133
|
+
readonly flash_operation: GerberCommandDef<"D03", z.ZodObject<{
|
|
134
|
+
command_code: z.ZodDefault<z.ZodLiteral<"D03">>;
|
|
135
|
+
x: z.ZodNumber;
|
|
136
|
+
y: z.ZodNumber;
|
|
137
|
+
}, "strip", z.ZodTypeAny, {
|
|
138
|
+
command_code: "D03";
|
|
139
|
+
x: number;
|
|
140
|
+
y: number;
|
|
141
|
+
}, {
|
|
142
|
+
x: number;
|
|
143
|
+
y: number;
|
|
144
|
+
command_code?: "D03" | undefined;
|
|
145
|
+
}>>;
|
|
146
|
+
readonly format_specification: GerberCommandDef<"FS", z.ZodObject<{
|
|
147
|
+
command_code: z.ZodDefault<z.ZodLiteral<"FS">>;
|
|
148
|
+
zero_omission_mode: z.ZodDefault<z.ZodNullable<z.ZodUnion<[z.ZodLiteral<"L">, z.ZodLiteral<"T">]>>>;
|
|
149
|
+
coordinate_notation: z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"A">, z.ZodLiteral<"I">]>>;
|
|
150
|
+
x_integer_digits: z.ZodDefault<z.ZodNumber>;
|
|
151
|
+
x_decimal_digits: z.ZodDefault<z.ZodNumber>;
|
|
152
|
+
y_integer_digits: z.ZodDefault<z.ZodNumber>;
|
|
153
|
+
y_decimal_digits: z.ZodDefault<z.ZodNumber>;
|
|
154
|
+
}, "strip", z.ZodTypeAny, {
|
|
155
|
+
command_code: "FS";
|
|
156
|
+
zero_omission_mode: "L" | "T" | null;
|
|
157
|
+
coordinate_notation: "A" | "I";
|
|
158
|
+
x_integer_digits: number;
|
|
159
|
+
x_decimal_digits: number;
|
|
160
|
+
y_integer_digits: number;
|
|
161
|
+
y_decimal_digits: number;
|
|
162
|
+
}, {
|
|
163
|
+
command_code?: "FS" | undefined;
|
|
164
|
+
zero_omission_mode?: "L" | "T" | null | undefined;
|
|
165
|
+
coordinate_notation?: "A" | "I" | undefined;
|
|
166
|
+
x_integer_digits?: number | undefined;
|
|
167
|
+
x_decimal_digits?: number | undefined;
|
|
168
|
+
y_integer_digits?: number | undefined;
|
|
169
|
+
y_decimal_digits?: number | undefined;
|
|
170
|
+
}>>;
|
|
171
|
+
readonly plot_operation: GerberCommandDef<"D01", z.ZodObject<{
|
|
172
|
+
command_code: z.ZodDefault<z.ZodLiteral<"D01">>;
|
|
173
|
+
x: z.ZodNumber;
|
|
174
|
+
y: z.ZodNumber;
|
|
175
|
+
}, "strip", z.ZodTypeAny, {
|
|
176
|
+
command_code: "D01";
|
|
177
|
+
x: number;
|
|
178
|
+
y: number;
|
|
179
|
+
}, {
|
|
180
|
+
x: number;
|
|
181
|
+
y: number;
|
|
182
|
+
command_code?: "D01" | undefined;
|
|
183
|
+
}>>;
|
|
184
|
+
readonly define_aperture_template: GerberCommandDef<"ADD", z.ZodIntersection<z.ZodDiscriminatedUnion<"standard_template_code", [z.ZodObject<{
|
|
185
|
+
standard_template_code: z.ZodLiteral<"C">;
|
|
186
|
+
diameter: z.ZodNumber;
|
|
187
|
+
hole_diameter: z.ZodOptional<z.ZodNumber>;
|
|
188
|
+
}, "strip", z.ZodTypeAny, {
|
|
189
|
+
standard_template_code: "C";
|
|
190
|
+
diameter: number;
|
|
191
|
+
hole_diameter?: number | undefined;
|
|
192
|
+
}, {
|
|
193
|
+
standard_template_code: "C";
|
|
194
|
+
diameter: number;
|
|
195
|
+
hole_diameter?: number | undefined;
|
|
196
|
+
}>, z.ZodObject<{
|
|
197
|
+
standard_template_code: z.ZodLiteral<"R">;
|
|
198
|
+
x_size: z.ZodNumber;
|
|
199
|
+
y_size: z.ZodNumber;
|
|
200
|
+
hole_diameter: z.ZodOptional<z.ZodNumber>;
|
|
201
|
+
}, "strip", z.ZodTypeAny, {
|
|
202
|
+
standard_template_code: "R";
|
|
203
|
+
x_size: number;
|
|
204
|
+
y_size: number;
|
|
205
|
+
hole_diameter?: number | undefined;
|
|
206
|
+
}, {
|
|
207
|
+
standard_template_code: "R";
|
|
208
|
+
x_size: number;
|
|
209
|
+
y_size: number;
|
|
210
|
+
hole_diameter?: number | undefined;
|
|
211
|
+
}>, z.ZodObject<{
|
|
212
|
+
standard_template_code: z.ZodLiteral<"O">;
|
|
213
|
+
x_size: z.ZodNumber;
|
|
214
|
+
y_size: z.ZodNumber;
|
|
215
|
+
hole_diameter: z.ZodOptional<z.ZodNumber>;
|
|
216
|
+
}, "strip", z.ZodTypeAny, {
|
|
217
|
+
standard_template_code: "O";
|
|
218
|
+
x_size: number;
|
|
219
|
+
y_size: number;
|
|
220
|
+
hole_diameter?: number | undefined;
|
|
221
|
+
}, {
|
|
222
|
+
standard_template_code: "O";
|
|
223
|
+
x_size: number;
|
|
224
|
+
y_size: number;
|
|
225
|
+
hole_diameter?: number | undefined;
|
|
226
|
+
}>, z.ZodObject<{
|
|
227
|
+
standard_template_code: z.ZodLiteral<"P">;
|
|
228
|
+
outer_diameter: z.ZodNumber;
|
|
229
|
+
number_of_vertices: z.ZodNumber;
|
|
230
|
+
rotation: z.ZodOptional<z.ZodNumber>;
|
|
231
|
+
hole_diameter: z.ZodOptional<z.ZodNumber>;
|
|
232
|
+
}, "strip", z.ZodTypeAny, {
|
|
233
|
+
standard_template_code: "P";
|
|
234
|
+
outer_diameter: number;
|
|
235
|
+
number_of_vertices: number;
|
|
236
|
+
rotation?: number | undefined;
|
|
237
|
+
hole_diameter?: number | undefined;
|
|
238
|
+
}, {
|
|
239
|
+
standard_template_code: "P";
|
|
240
|
+
outer_diameter: number;
|
|
241
|
+
number_of_vertices: number;
|
|
242
|
+
rotation?: number | undefined;
|
|
243
|
+
hole_diameter?: number | undefined;
|
|
244
|
+
}>]>, z.ZodObject<{
|
|
245
|
+
command_code: z.ZodDefault<z.ZodLiteral<"ADD">>;
|
|
246
|
+
aperture_number: z.ZodNumber;
|
|
247
|
+
}, "strip", z.ZodTypeAny, {
|
|
248
|
+
command_code: "ADD";
|
|
249
|
+
aperture_number: number;
|
|
250
|
+
}, {
|
|
251
|
+
aperture_number: number;
|
|
252
|
+
command_code?: "ADD" | undefined;
|
|
253
|
+
}>>>;
|
|
254
|
+
readonly set_movement_mode_to_clockwise_circular: GerberCommandDef<"G02", z.ZodObject<{
|
|
255
|
+
command_code: z.ZodLiteral<"G02">;
|
|
256
|
+
}, "strip", z.ZodTypeAny, {
|
|
257
|
+
command_code: "G02";
|
|
258
|
+
}, {
|
|
259
|
+
command_code: "G02";
|
|
260
|
+
}>>;
|
|
261
|
+
readonly set_movement_mode_to_counterclockwise_circular: GerberCommandDef<"G03", z.ZodObject<{
|
|
262
|
+
command_code: z.ZodLiteral<"G03">;
|
|
263
|
+
}, "strip", z.ZodTypeAny, {
|
|
264
|
+
command_code: "G03";
|
|
265
|
+
}, {
|
|
266
|
+
command_code: "G03";
|
|
267
|
+
}>>;
|
|
268
|
+
readonly set_movement_mode_to_linear: GerberCommandDef<"G01", z.ZodObject<{
|
|
269
|
+
command_code: z.ZodDefault<z.ZodLiteral<"G01">>;
|
|
270
|
+
}, "strip", z.ZodTypeAny, {
|
|
271
|
+
command_code: "G01";
|
|
272
|
+
}, {
|
|
273
|
+
command_code?: "G01" | undefined;
|
|
274
|
+
}>>;
|
|
275
|
+
readonly select_aperture: GerberCommandDef<"D", z.ZodObject<{
|
|
276
|
+
command_code: z.ZodDefault<z.ZodLiteral<"D">>;
|
|
277
|
+
aperture_number: z.ZodNumber;
|
|
278
|
+
}, "strip", z.ZodTypeAny, {
|
|
279
|
+
command_code: "D";
|
|
280
|
+
aperture_number: number;
|
|
281
|
+
}, {
|
|
282
|
+
aperture_number: number;
|
|
283
|
+
command_code?: "D" | undefined;
|
|
284
|
+
}>>;
|
|
285
|
+
readonly set_unit: GerberCommandDef<"MO", z.ZodObject<{
|
|
286
|
+
command_code: z.ZodDefault<z.ZodLiteral<"MO">>;
|
|
287
|
+
unit: z.ZodEnum<["mm", "in"]>;
|
|
288
|
+
}, "strip", z.ZodTypeAny, {
|
|
289
|
+
command_code: "MO";
|
|
290
|
+
unit: "mm" | "in";
|
|
291
|
+
}, {
|
|
292
|
+
unit: "mm" | "in";
|
|
293
|
+
command_code?: "MO" | undefined;
|
|
294
|
+
}>>;
|
|
295
|
+
readonly set_layer_polarity: GerberCommandDef<"LP", z.ZodObject<{
|
|
296
|
+
command_code: z.ZodDefault<z.ZodLiteral<"LP">>;
|
|
297
|
+
polarity: z.ZodEnum<["D", "C"]>;
|
|
298
|
+
}, "strip", z.ZodTypeAny, {
|
|
299
|
+
command_code: "LP";
|
|
300
|
+
polarity: "D" | "C";
|
|
301
|
+
}, {
|
|
302
|
+
polarity: "D" | "C";
|
|
303
|
+
command_code?: "LP" | undefined;
|
|
304
|
+
}>>;
|
|
305
|
+
};
|
|
306
|
+
type AnyGerberCommand = z.infer<(typeof gerber_command_map)[keyof typeof gerber_command_map]["schema"]>;
|
|
307
|
+
|
|
308
|
+
declare const gerberBuilder: () => GerberBuilder;
|
|
309
|
+
declare class GerberBuilder {
|
|
310
|
+
commands: Array<AnyGerberCommand>;
|
|
311
|
+
constructor();
|
|
312
|
+
$if(condition: boolean, fn: (gb: GerberBuilder) => GerberBuilder): GerberBuilder;
|
|
313
|
+
add<T extends keyof typeof gerber_command_map>(cmd: T, props: z.input<(typeof gerber_command_map)[T]["schema"]>): GerberBuilder;
|
|
314
|
+
build(): Array<AnyGerberCommand>;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
type LayerToGerberCommandsMap = {
|
|
318
|
+
F_Cu: AnyGerberCommand[];
|
|
319
|
+
F_SilkScreen: AnyGerberCommand[];
|
|
320
|
+
F_Mask: AnyGerberCommand[];
|
|
321
|
+
F_Paste: AnyGerberCommand[];
|
|
322
|
+
B_Cu: AnyGerberCommand[];
|
|
323
|
+
B_SilkScreen: AnyGerberCommand[];
|
|
324
|
+
B_Mask: AnyGerberCommand[];
|
|
325
|
+
B_Paste: AnyGerberCommand[];
|
|
326
|
+
Edge_Cuts: AnyGerberCommand[];
|
|
327
|
+
};
|
|
328
|
+
type GerberLayerName = keyof LayerToGerberCommandsMap;
|
|
329
|
+
|
|
330
|
+
declare const stringifyGerberCommandLayers: (commandLayers: Record<GerberLayerName, AnyGerberCommand[]>) => Record<GerberLayerName, string>;
|
|
331
|
+
|
|
332
|
+
declare const stringifyGerberCommand: (command: AnyGerberCommand) => string;
|
|
333
|
+
|
|
334
|
+
declare const stringifyGerberCommands: (commands: AnyGerberCommand[]) => string;
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* Converts tscircuit soup to arrays of Gerber commands for each layer
|
|
338
|
+
*/
|
|
339
|
+
declare const convertSoupToGerberCommands: (soup: AnySoupElement[], opts?: {
|
|
340
|
+
flip_y_axis?: boolean;
|
|
341
|
+
}) => LayerToGerberCommandsMap;
|
|
342
|
+
|
|
343
|
+
export { convertSoupToGerberCommands, gerberBuilder, stringifyGerberCommand, stringifyGerberCommandLayers, stringifyGerberCommands };
|