kicad-python 0.1.0__py3-none-any.whl

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.
Files changed (48) hide show
  1. kicad_python-0.1.0.dist-info/LICENSE +674 -0
  2. kicad_python-0.1.0.dist-info/METADATA +75 -0
  3. kicad_python-0.1.0.dist-info/RECORD +48 -0
  4. kicad_python-0.1.0.dist-info/WHEEL +5 -0
  5. kicad_python-0.1.0.dist-info/top_level.txt +1 -0
  6. kipy/__init__.py +20 -0
  7. kipy/board.py +467 -0
  8. kipy/board_types.py +1800 -0
  9. kipy/client.py +88 -0
  10. kipy/common_types.py +842 -0
  11. kipy/errors.py +37 -0
  12. kipy/geometry.py +604 -0
  13. kipy/kicad.py +176 -0
  14. kipy/project.py +71 -0
  15. kipy/project_types.py +28 -0
  16. kipy/proto/__init__.py +20 -0
  17. kipy/proto/board/__init__.py +20 -0
  18. kipy/proto/board/board_commands_pb2.py +56 -0
  19. kipy/proto/board/board_commands_pb2.pyi +487 -0
  20. kipy/proto/board/board_pb2.py +44 -0
  21. kipy/proto/board/board_pb2.pyi +294 -0
  22. kipy/proto/board/board_types_pb2.py +150 -0
  23. kipy/proto/board/board_types_pb2.pyi +2101 -0
  24. kipy/proto/common/__init__.py +23 -0
  25. kipy/proto/common/commands/__init__.py +21 -0
  26. kipy/proto/common/commands/base_commands_pb2.py +31 -0
  27. kipy/proto/common/commands/base_commands_pb2.pyi +172 -0
  28. kipy/proto/common/commands/editor_commands_pb2.py +91 -0
  29. kipy/proto/common/commands/editor_commands_pb2.pyi +814 -0
  30. kipy/proto/common/commands/project_commands_pb2.py +24 -0
  31. kipy/proto/common/commands/project_commands_pb2.pyi +93 -0
  32. kipy/proto/common/envelope_pb2.py +27 -0
  33. kipy/proto/common/envelope_pb2.pyi +188 -0
  34. kipy/proto/common/types/__init__.py +22 -0
  35. kipy/proto/common/types/base_types_pb2.py +100 -0
  36. kipy/proto/common/types/base_types_pb2.pyi +1058 -0
  37. kipy/proto/common/types/enums_pb2.py +22 -0
  38. kipy/proto/common/types/enums_pb2.pyi +189 -0
  39. kipy/proto/common/types/project_settings_pb2.py +16 -0
  40. kipy/proto/common/types/project_settings_pb2.pyi +26 -0
  41. kipy/proto/schematic/schematic_commands_pb2.py +14 -0
  42. kipy/proto/schematic/schematic_commands_pb2.pyi +23 -0
  43. kipy/proto/schematic/schematic_types_pb2.py +29 -0
  44. kipy/proto/schematic/schematic_types_pb2.pyi +214 -0
  45. kipy/util/__init__.py +21 -0
  46. kipy/util/proto.py +61 -0
  47. kipy/util/units.py +31 -0
  48. kipy/wrapper.py +35 -0
@@ -0,0 +1,2101 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+
5
+ This program source code file is part of KiCad, a free EDA CAD application.
6
+
7
+ Copyright (C) 2024 KiCad Developers, see AUTHORS.txt for contributors.
8
+
9
+ This program is free software: you can redistribute it and/or modify it
10
+ under the terms of the GNU General Public License as published by the
11
+ Free Software Foundation, either version 3 of the License, or (at your
12
+ option) any later version.
13
+
14
+ This program is distributed in the hope that it will be useful, but
15
+ WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
+ General Public License for more details.
18
+
19
+ You should have received a copy of the GNU General Public License along
20
+ with this program. If not, see <http://www.gnu.org/licenses/>.
21
+ """
22
+ import builtins
23
+ import collections.abc
24
+ from .. import common
25
+ import google.protobuf.any_pb2
26
+ import google.protobuf.descriptor
27
+ import google.protobuf.internal.containers
28
+ import google.protobuf.internal.enum_type_wrapper
29
+ import google.protobuf.message
30
+ import sys
31
+ import typing
32
+ if sys.version_info >= (3, 10):
33
+ import typing as typing_extensions
34
+ else:
35
+ import typing_extensions
36
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
37
+
38
+ class _BoardLayer:
39
+ ValueType = typing.NewType('ValueType', builtins.int)
40
+ V: typing_extensions.TypeAlias = ValueType
41
+
42
+ class _BoardLayerEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_BoardLayer.ValueType], builtins.type):
43
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
44
+ BL_UNKNOWN: _BoardLayer.ValueType
45
+ BL_UNDEFINED: _BoardLayer.ValueType
46
+ BL_UNSELECTED: _BoardLayer.ValueType
47
+ BL_F_Cu: _BoardLayer.ValueType
48
+ BL_In1_Cu: _BoardLayer.ValueType
49
+ BL_In2_Cu: _BoardLayer.ValueType
50
+ BL_In3_Cu: _BoardLayer.ValueType
51
+ BL_In4_Cu: _BoardLayer.ValueType
52
+ BL_In5_Cu: _BoardLayer.ValueType
53
+ BL_In6_Cu: _BoardLayer.ValueType
54
+ BL_In7_Cu: _BoardLayer.ValueType
55
+ BL_In8_Cu: _BoardLayer.ValueType
56
+ BL_In9_Cu: _BoardLayer.ValueType
57
+ BL_In10_Cu: _BoardLayer.ValueType
58
+ BL_In11_Cu: _BoardLayer.ValueType
59
+ BL_In12_Cu: _BoardLayer.ValueType
60
+ BL_In13_Cu: _BoardLayer.ValueType
61
+ BL_In14_Cu: _BoardLayer.ValueType
62
+ BL_In15_Cu: _BoardLayer.ValueType
63
+ BL_In16_Cu: _BoardLayer.ValueType
64
+ BL_In17_Cu: _BoardLayer.ValueType
65
+ BL_In18_Cu: _BoardLayer.ValueType
66
+ BL_In19_Cu: _BoardLayer.ValueType
67
+ BL_In20_Cu: _BoardLayer.ValueType
68
+ BL_In21_Cu: _BoardLayer.ValueType
69
+ BL_In22_Cu: _BoardLayer.ValueType
70
+ BL_In23_Cu: _BoardLayer.ValueType
71
+ BL_In24_Cu: _BoardLayer.ValueType
72
+ BL_In25_Cu: _BoardLayer.ValueType
73
+ BL_In26_Cu: _BoardLayer.ValueType
74
+ BL_In27_Cu: _BoardLayer.ValueType
75
+ BL_In28_Cu: _BoardLayer.ValueType
76
+ BL_In29_Cu: _BoardLayer.ValueType
77
+ BL_In30_Cu: _BoardLayer.ValueType
78
+ BL_B_Cu: _BoardLayer.ValueType
79
+ BL_B_Adhes: _BoardLayer.ValueType
80
+ BL_F_Adhes: _BoardLayer.ValueType
81
+ BL_B_Paste: _BoardLayer.ValueType
82
+ BL_F_Paste: _BoardLayer.ValueType
83
+ BL_B_SilkS: _BoardLayer.ValueType
84
+ BL_F_SilkS: _BoardLayer.ValueType
85
+ BL_B_Mask: _BoardLayer.ValueType
86
+ BL_F_Mask: _BoardLayer.ValueType
87
+ BL_Dwgs_User: _BoardLayer.ValueType
88
+ BL_Cmts_User: _BoardLayer.ValueType
89
+ BL_Eco1_User: _BoardLayer.ValueType
90
+ BL_Eco2_User: _BoardLayer.ValueType
91
+ BL_Edge_Cuts: _BoardLayer.ValueType
92
+ BL_Margin: _BoardLayer.ValueType
93
+ BL_B_CrtYd: _BoardLayer.ValueType
94
+ BL_F_CrtYd: _BoardLayer.ValueType
95
+ BL_B_Fab: _BoardLayer.ValueType
96
+ BL_F_Fab: _BoardLayer.ValueType
97
+ BL_User_1: _BoardLayer.ValueType
98
+ BL_User_2: _BoardLayer.ValueType
99
+ BL_User_3: _BoardLayer.ValueType
100
+ BL_User_4: _BoardLayer.ValueType
101
+ BL_User_5: _BoardLayer.ValueType
102
+ BL_User_6: _BoardLayer.ValueType
103
+ BL_User_7: _BoardLayer.ValueType
104
+ BL_User_8: _BoardLayer.ValueType
105
+ BL_User_9: _BoardLayer.ValueType
106
+ BL_Rescue: _BoardLayer.ValueType
107
+
108
+ class BoardLayer(_BoardLayer, metaclass=_BoardLayerEnumTypeWrapper):
109
+ ...
110
+ BL_UNKNOWN: BoardLayer.ValueType
111
+ BL_UNDEFINED: BoardLayer.ValueType
112
+ BL_UNSELECTED: BoardLayer.ValueType
113
+ BL_F_Cu: BoardLayer.ValueType
114
+ BL_In1_Cu: BoardLayer.ValueType
115
+ BL_In2_Cu: BoardLayer.ValueType
116
+ BL_In3_Cu: BoardLayer.ValueType
117
+ BL_In4_Cu: BoardLayer.ValueType
118
+ BL_In5_Cu: BoardLayer.ValueType
119
+ BL_In6_Cu: BoardLayer.ValueType
120
+ BL_In7_Cu: BoardLayer.ValueType
121
+ BL_In8_Cu: BoardLayer.ValueType
122
+ BL_In9_Cu: BoardLayer.ValueType
123
+ BL_In10_Cu: BoardLayer.ValueType
124
+ BL_In11_Cu: BoardLayer.ValueType
125
+ BL_In12_Cu: BoardLayer.ValueType
126
+ BL_In13_Cu: BoardLayer.ValueType
127
+ BL_In14_Cu: BoardLayer.ValueType
128
+ BL_In15_Cu: BoardLayer.ValueType
129
+ BL_In16_Cu: BoardLayer.ValueType
130
+ BL_In17_Cu: BoardLayer.ValueType
131
+ BL_In18_Cu: BoardLayer.ValueType
132
+ BL_In19_Cu: BoardLayer.ValueType
133
+ BL_In20_Cu: BoardLayer.ValueType
134
+ BL_In21_Cu: BoardLayer.ValueType
135
+ BL_In22_Cu: BoardLayer.ValueType
136
+ BL_In23_Cu: BoardLayer.ValueType
137
+ BL_In24_Cu: BoardLayer.ValueType
138
+ BL_In25_Cu: BoardLayer.ValueType
139
+ BL_In26_Cu: BoardLayer.ValueType
140
+ BL_In27_Cu: BoardLayer.ValueType
141
+ BL_In28_Cu: BoardLayer.ValueType
142
+ BL_In29_Cu: BoardLayer.ValueType
143
+ BL_In30_Cu: BoardLayer.ValueType
144
+ BL_B_Cu: BoardLayer.ValueType
145
+ BL_B_Adhes: BoardLayer.ValueType
146
+ BL_F_Adhes: BoardLayer.ValueType
147
+ BL_B_Paste: BoardLayer.ValueType
148
+ BL_F_Paste: BoardLayer.ValueType
149
+ BL_B_SilkS: BoardLayer.ValueType
150
+ BL_F_SilkS: BoardLayer.ValueType
151
+ BL_B_Mask: BoardLayer.ValueType
152
+ BL_F_Mask: BoardLayer.ValueType
153
+ BL_Dwgs_User: BoardLayer.ValueType
154
+ BL_Cmts_User: BoardLayer.ValueType
155
+ BL_Eco1_User: BoardLayer.ValueType
156
+ BL_Eco2_User: BoardLayer.ValueType
157
+ BL_Edge_Cuts: BoardLayer.ValueType
158
+ BL_Margin: BoardLayer.ValueType
159
+ BL_B_CrtYd: BoardLayer.ValueType
160
+ BL_F_CrtYd: BoardLayer.ValueType
161
+ BL_B_Fab: BoardLayer.ValueType
162
+ BL_F_Fab: BoardLayer.ValueType
163
+ BL_User_1: BoardLayer.ValueType
164
+ BL_User_2: BoardLayer.ValueType
165
+ BL_User_3: BoardLayer.ValueType
166
+ BL_User_4: BoardLayer.ValueType
167
+ BL_User_5: BoardLayer.ValueType
168
+ BL_User_6: BoardLayer.ValueType
169
+ BL_User_7: BoardLayer.ValueType
170
+ BL_User_8: BoardLayer.ValueType
171
+ BL_User_9: BoardLayer.ValueType
172
+ BL_Rescue: BoardLayer.ValueType
173
+ global___BoardLayer = BoardLayer
174
+
175
+ class _PadStackType:
176
+ ValueType = typing.NewType('ValueType', builtins.int)
177
+ V: typing_extensions.TypeAlias = ValueType
178
+
179
+ class _PadStackTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PadStackType.ValueType], builtins.type):
180
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
181
+ PST_UNKNOWN: _PadStackType.ValueType
182
+ PST_NORMAL: _PadStackType.ValueType
183
+ 'The same shape is used on all copper layers'
184
+ PST_FRONT_INNER_BACK: _PadStackType.ValueType
185
+ 'The padstack uses up to three different shapes (F_Cu, inner layers, B_Cu)'
186
+ PST_CUSTOM: _PadStackType.ValueType
187
+ "The padstack's shape may differ on arbitrary copper layers"
188
+
189
+ class PadStackType(_PadStackType, metaclass=_PadStackTypeEnumTypeWrapper):
190
+ """What copper layer shape mode the padstack uses"""
191
+ PST_UNKNOWN: PadStackType.ValueType
192
+ PST_NORMAL: PadStackType.ValueType
193
+ 'The same shape is used on all copper layers'
194
+ PST_FRONT_INNER_BACK: PadStackType.ValueType
195
+ 'The padstack uses up to three different shapes (F_Cu, inner layers, B_Cu)'
196
+ PST_CUSTOM: PadStackType.ValueType
197
+ "The padstack's shape may differ on arbitrary copper layers"
198
+ global___PadStackType = PadStackType
199
+
200
+ class _UnconnectedLayerRemoval:
201
+ ValueType = typing.NewType('ValueType', builtins.int)
202
+ V: typing_extensions.TypeAlias = ValueType
203
+
204
+ class _UnconnectedLayerRemovalEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_UnconnectedLayerRemoval.ValueType], builtins.type):
205
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
206
+ ULR_UNKNOWN: _UnconnectedLayerRemoval.ValueType
207
+ ULR_KEEP: _UnconnectedLayerRemoval.ValueType
208
+ 'Keep annular rings on all layers'
209
+ ULR_REMOVE: _UnconnectedLayerRemoval.ValueType
210
+ 'Remove annular rings on unconnected layers, including start and end layers.'
211
+ ULR_REMOVE_EXCEPT_START_AND_END: _UnconnectedLayerRemoval.ValueType
212
+ 'Remove annular rings on unconnected layers, but preserve start and end layers even if unconnected.'
213
+
214
+ class UnconnectedLayerRemoval(_UnconnectedLayerRemoval, metaclass=_UnconnectedLayerRemovalEnumTypeWrapper):
215
+ ...
216
+ ULR_UNKNOWN: UnconnectedLayerRemoval.ValueType
217
+ ULR_KEEP: UnconnectedLayerRemoval.ValueType
218
+ 'Keep annular rings on all layers'
219
+ ULR_REMOVE: UnconnectedLayerRemoval.ValueType
220
+ 'Remove annular rings on unconnected layers, including start and end layers.'
221
+ ULR_REMOVE_EXCEPT_START_AND_END: UnconnectedLayerRemoval.ValueType
222
+ 'Remove annular rings on unconnected layers, but preserve start and end layers even if unconnected.'
223
+ global___UnconnectedLayerRemoval = UnconnectedLayerRemoval
224
+
225
+ class _PadStackShape:
226
+ ValueType = typing.NewType('ValueType', builtins.int)
227
+ V: typing_extensions.TypeAlias = ValueType
228
+
229
+ class _PadStackShapeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PadStackShape.ValueType], builtins.type):
230
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
231
+ PSS_UNKNOWN: _PadStackShape.ValueType
232
+ PSS_CIRCLE: _PadStackShape.ValueType
233
+ PSS_RECTANGLE: _PadStackShape.ValueType
234
+ PSS_OVAL: _PadStackShape.ValueType
235
+ PSS_TRAPEZOID: _PadStackShape.ValueType
236
+ PSS_ROUNDRECT: _PadStackShape.ValueType
237
+ PSS_CHAMFEREDRECT: _PadStackShape.ValueType
238
+ PSS_CUSTOM: _PadStackShape.ValueType
239
+
240
+ class PadStackShape(_PadStackShape, metaclass=_PadStackShapeEnumTypeWrapper):
241
+ """The shape of a pad on a given layer"""
242
+ PSS_UNKNOWN: PadStackShape.ValueType
243
+ PSS_CIRCLE: PadStackShape.ValueType
244
+ PSS_RECTANGLE: PadStackShape.ValueType
245
+ PSS_OVAL: PadStackShape.ValueType
246
+ PSS_TRAPEZOID: PadStackShape.ValueType
247
+ PSS_ROUNDRECT: PadStackShape.ValueType
248
+ PSS_CHAMFEREDRECT: PadStackShape.ValueType
249
+ PSS_CUSTOM: PadStackShape.ValueType
250
+ global___PadStackShape = PadStackShape
251
+
252
+ class _ZoneConnectionStyle:
253
+ ValueType = typing.NewType('ValueType', builtins.int)
254
+ V: typing_extensions.TypeAlias = ValueType
255
+
256
+ class _ZoneConnectionStyleEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ZoneConnectionStyle.ValueType], builtins.type):
257
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
258
+ ZCS_UNKNOWN: _ZoneConnectionStyle.ValueType
259
+ ZCS_INHERITED: _ZoneConnectionStyle.ValueType
260
+ ZCS_NONE: _ZoneConnectionStyle.ValueType
261
+ ZCS_THERMAL: _ZoneConnectionStyle.ValueType
262
+ ZCS_FULL: _ZoneConnectionStyle.ValueType
263
+ ZCS_PTH_THERMAL: _ZoneConnectionStyle.ValueType
264
+ 'Thermal reliefs for plated through holes, solid for SMD pads'
265
+
266
+ class ZoneConnectionStyle(_ZoneConnectionStyle, metaclass=_ZoneConnectionStyleEnumTypeWrapper):
267
+ """enum class ZONE_CONNECTION"""
268
+ ZCS_UNKNOWN: ZoneConnectionStyle.ValueType
269
+ ZCS_INHERITED: ZoneConnectionStyle.ValueType
270
+ ZCS_NONE: ZoneConnectionStyle.ValueType
271
+ ZCS_THERMAL: ZoneConnectionStyle.ValueType
272
+ ZCS_FULL: ZoneConnectionStyle.ValueType
273
+ ZCS_PTH_THERMAL: ZoneConnectionStyle.ValueType
274
+ 'Thermal reliefs for plated through holes, solid for SMD pads'
275
+ global___ZoneConnectionStyle = ZoneConnectionStyle
276
+
277
+ class _SolderMaskMode:
278
+ ValueType = typing.NewType('ValueType', builtins.int)
279
+ V: typing_extensions.TypeAlias = ValueType
280
+
281
+ class _SolderMaskModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_SolderMaskMode.ValueType], builtins.type):
282
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
283
+ SMM_UNKOWN: _SolderMaskMode.ValueType
284
+ SMM_MASKED: _SolderMaskMode.ValueType
285
+ SMM_UNMASKED: _SolderMaskMode.ValueType
286
+ SMM_FROM_DESIGN_RULES: _SolderMaskMode.ValueType
287
+
288
+ class SolderMaskMode(_SolderMaskMode, metaclass=_SolderMaskModeEnumTypeWrapper):
289
+ ...
290
+ SMM_UNKOWN: SolderMaskMode.ValueType
291
+ SMM_MASKED: SolderMaskMode.ValueType
292
+ SMM_UNMASKED: SolderMaskMode.ValueType
293
+ SMM_FROM_DESIGN_RULES: SolderMaskMode.ValueType
294
+ global___SolderMaskMode = SolderMaskMode
295
+
296
+ class _SolderPasteMode:
297
+ ValueType = typing.NewType('ValueType', builtins.int)
298
+ V: typing_extensions.TypeAlias = ValueType
299
+
300
+ class _SolderPasteModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_SolderPasteMode.ValueType], builtins.type):
301
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
302
+ SPM_UNKOWN: _SolderPasteMode.ValueType
303
+ SPM_PASTE: _SolderPasteMode.ValueType
304
+ SPM_NO_PASTE: _SolderPasteMode.ValueType
305
+ SPM_FROM_DESIGN_RULES: _SolderPasteMode.ValueType
306
+
307
+ class SolderPasteMode(_SolderPasteMode, metaclass=_SolderPasteModeEnumTypeWrapper):
308
+ ...
309
+ SPM_UNKOWN: SolderPasteMode.ValueType
310
+ SPM_PASTE: SolderPasteMode.ValueType
311
+ SPM_NO_PASTE: SolderPasteMode.ValueType
312
+ SPM_FROM_DESIGN_RULES: SolderPasteMode.ValueType
313
+ global___SolderPasteMode = SolderPasteMode
314
+
315
+ class _DrillShape:
316
+ ValueType = typing.NewType('ValueType', builtins.int)
317
+ V: typing_extensions.TypeAlias = ValueType
318
+
319
+ class _DrillShapeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DrillShape.ValueType], builtins.type):
320
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
321
+ DS_UNKNOWN: _DrillShape.ValueType
322
+ DS_CIRCLE: _DrillShape.ValueType
323
+ DS_OBLONG: _DrillShape.ValueType
324
+ DS_UNDEFINED: _DrillShape.ValueType
325
+
326
+ class DrillShape(_DrillShape, metaclass=_DrillShapeEnumTypeWrapper):
327
+ ...
328
+ DS_UNKNOWN: DrillShape.ValueType
329
+ DS_CIRCLE: DrillShape.ValueType
330
+ DS_OBLONG: DrillShape.ValueType
331
+ DS_UNDEFINED: DrillShape.ValueType
332
+ global___DrillShape = DrillShape
333
+
334
+ class _ViaType:
335
+ ValueType = typing.NewType('ValueType', builtins.int)
336
+ V: typing_extensions.TypeAlias = ValueType
337
+
338
+ class _ViaTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ViaType.ValueType], builtins.type):
339
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
340
+ VT_UNKNOWN: _ViaType.ValueType
341
+ VT_THROUGH: _ViaType.ValueType
342
+ 'Through vias always start on F_Cu and end on B_Cu'
343
+ VT_BLIND_BURIED: _ViaType.ValueType
344
+ 'Blind/buried vias can have arbitrary start and end layers'
345
+ VT_MICRO: _ViaType.ValueType
346
+ 'Microvias, blind/buried vias, can have arbitrary start and end layers, but also have different\n size defaults and design rules\n '
347
+
348
+ class ViaType(_ViaType, metaclass=_ViaTypeEnumTypeWrapper):
349
+ ...
350
+ VT_UNKNOWN: ViaType.ValueType
351
+ VT_THROUGH: ViaType.ValueType
352
+ 'Through vias always start on F_Cu and end on B_Cu'
353
+ VT_BLIND_BURIED: ViaType.ValueType
354
+ 'Blind/buried vias can have arbitrary start and end layers'
355
+ VT_MICRO: ViaType.ValueType
356
+ 'Microvias, blind/buried vias, can have arbitrary start and end layers, but also have different\nsize defaults and design rules\n'
357
+ global___ViaType = ViaType
358
+
359
+ class _PadType:
360
+ ValueType = typing.NewType('ValueType', builtins.int)
361
+ V: typing_extensions.TypeAlias = ValueType
362
+
363
+ class _PadTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PadType.ValueType], builtins.type):
364
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
365
+ PT_UNKNOWN: _PadType.ValueType
366
+ PT_PTH: _PadType.ValueType
367
+ PT_SMD: _PadType.ValueType
368
+ PT_EDGE_CONNECTOR: _PadType.ValueType
369
+ PT_NPTH: _PadType.ValueType
370
+
371
+ class PadType(_PadType, metaclass=_PadTypeEnumTypeWrapper):
372
+ """NOTE: There has been some discussion about what to do with pad attributes and properties.
373
+ This may be considered somewhat unstable until we decide what to do with the KiCad side.
374
+ It is not clear what the set of mutually-exclusive pad types will be at the end of the day,
375
+ versus what will be non-exclusive attributes/properties.
376
+ For now, this maps to PAD_ATTRIB in KiCad.
377
+ """
378
+ PT_UNKNOWN: PadType.ValueType
379
+ PT_PTH: PadType.ValueType
380
+ PT_SMD: PadType.ValueType
381
+ PT_EDGE_CONNECTOR: PadType.ValueType
382
+ PT_NPTH: PadType.ValueType
383
+ global___PadType = PadType
384
+
385
+ class _CustomPadShapeZoneFillStrategy:
386
+ ValueType = typing.NewType('ValueType', builtins.int)
387
+ V: typing_extensions.TypeAlias = ValueType
388
+
389
+ class _CustomPadShapeZoneFillStrategyEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CustomPadShapeZoneFillStrategy.ValueType], builtins.type):
390
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
391
+ CPSZ_UNKNOWN: _CustomPadShapeZoneFillStrategy.ValueType
392
+ CPSZ_OUTLINE: _CustomPadShapeZoneFillStrategy.ValueType
393
+ CPSZ_CONVEXHULL: _CustomPadShapeZoneFillStrategy.ValueType
394
+
395
+ class CustomPadShapeZoneFillStrategy(_CustomPadShapeZoneFillStrategy, metaclass=_CustomPadShapeZoneFillStrategyEnumTypeWrapper):
396
+ ...
397
+ CPSZ_UNKNOWN: CustomPadShapeZoneFillStrategy.ValueType
398
+ CPSZ_OUTLINE: CustomPadShapeZoneFillStrategy.ValueType
399
+ CPSZ_CONVEXHULL: CustomPadShapeZoneFillStrategy.ValueType
400
+ global___CustomPadShapeZoneFillStrategy = CustomPadShapeZoneFillStrategy
401
+
402
+ class _ZoneType:
403
+ ValueType = typing.NewType('ValueType', builtins.int)
404
+ V: typing_extensions.TypeAlias = ValueType
405
+
406
+ class _ZoneTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ZoneType.ValueType], builtins.type):
407
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
408
+ ZT_UNKNOWN: _ZoneType.ValueType
409
+ ZT_COPPER: _ZoneType.ValueType
410
+ ZT_GRAPHICAL: _ZoneType.ValueType
411
+ ZT_RULE_AREA: _ZoneType.ValueType
412
+ ZT_TEARDROP: _ZoneType.ValueType
413
+
414
+ class ZoneType(_ZoneType, metaclass=_ZoneTypeEnumTypeWrapper):
415
+ ...
416
+ ZT_UNKNOWN: ZoneType.ValueType
417
+ ZT_COPPER: ZoneType.ValueType
418
+ ZT_GRAPHICAL: ZoneType.ValueType
419
+ ZT_RULE_AREA: ZoneType.ValueType
420
+ ZT_TEARDROP: ZoneType.ValueType
421
+ global___ZoneType = ZoneType
422
+
423
+ class _TeardropType:
424
+ ValueType = typing.NewType('ValueType', builtins.int)
425
+ V: typing_extensions.TypeAlias = ValueType
426
+
427
+ class _TeardropTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_TeardropType.ValueType], builtins.type):
428
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
429
+ TDT_UNKNOWN: _TeardropType.ValueType
430
+ TDT_NONE: _TeardropType.ValueType
431
+ TDT_UNSPECIFIED: _TeardropType.ValueType
432
+ TDT_VIA_PAD: _TeardropType.ValueType
433
+ TDT_TRACK_END: _TeardropType.ValueType
434
+
435
+ class TeardropType(_TeardropType, metaclass=_TeardropTypeEnumTypeWrapper):
436
+ ...
437
+ TDT_UNKNOWN: TeardropType.ValueType
438
+ TDT_NONE: TeardropType.ValueType
439
+ TDT_UNSPECIFIED: TeardropType.ValueType
440
+ TDT_VIA_PAD: TeardropType.ValueType
441
+ TDT_TRACK_END: TeardropType.ValueType
442
+ global___TeardropType = TeardropType
443
+
444
+ class _IslandRemovalMode:
445
+ ValueType = typing.NewType('ValueType', builtins.int)
446
+ V: typing_extensions.TypeAlias = ValueType
447
+
448
+ class _IslandRemovalModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_IslandRemovalMode.ValueType], builtins.type):
449
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
450
+ IRM_UNKNOWN: _IslandRemovalMode.ValueType
451
+ IRM_ALWAYS: _IslandRemovalMode.ValueType
452
+ IRM_NEVER: _IslandRemovalMode.ValueType
453
+ IRM_AREA: _IslandRemovalMode.ValueType
454
+
455
+ class IslandRemovalMode(_IslandRemovalMode, metaclass=_IslandRemovalModeEnumTypeWrapper):
456
+ ...
457
+ IRM_UNKNOWN: IslandRemovalMode.ValueType
458
+ IRM_ALWAYS: IslandRemovalMode.ValueType
459
+ IRM_NEVER: IslandRemovalMode.ValueType
460
+ IRM_AREA: IslandRemovalMode.ValueType
461
+ global___IslandRemovalMode = IslandRemovalMode
462
+
463
+ class _ZoneFillMode:
464
+ ValueType = typing.NewType('ValueType', builtins.int)
465
+ V: typing_extensions.TypeAlias = ValueType
466
+
467
+ class _ZoneFillModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ZoneFillMode.ValueType], builtins.type):
468
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
469
+ ZFM_UNKNOWN: _ZoneFillMode.ValueType
470
+ ZFM_SOLID: _ZoneFillMode.ValueType
471
+ ZFM_HATCHED: _ZoneFillMode.ValueType
472
+
473
+ class ZoneFillMode(_ZoneFillMode, metaclass=_ZoneFillModeEnumTypeWrapper):
474
+ ...
475
+ ZFM_UNKNOWN: ZoneFillMode.ValueType
476
+ ZFM_SOLID: ZoneFillMode.ValueType
477
+ ZFM_HATCHED: ZoneFillMode.ValueType
478
+ global___ZoneFillMode = ZoneFillMode
479
+
480
+ class _ZoneHatchSmoothing:
481
+ ValueType = typing.NewType('ValueType', builtins.int)
482
+ V: typing_extensions.TypeAlias = ValueType
483
+
484
+ class _ZoneHatchSmoothingEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ZoneHatchSmoothing.ValueType], builtins.type):
485
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
486
+ ZHS_UNKNOWN: _ZoneHatchSmoothing.ValueType
487
+ ZHS_NONE: _ZoneHatchSmoothing.ValueType
488
+ ZHS_FILLET: _ZoneHatchSmoothing.ValueType
489
+ ZHS_ARC_LOW_DEF: _ZoneHatchSmoothing.ValueType
490
+ ZHS_ARC_HIGH_DEF: _ZoneHatchSmoothing.ValueType
491
+
492
+ class ZoneHatchSmoothing(_ZoneHatchSmoothing, metaclass=_ZoneHatchSmoothingEnumTypeWrapper):
493
+ ...
494
+ ZHS_UNKNOWN: ZoneHatchSmoothing.ValueType
495
+ ZHS_NONE: ZoneHatchSmoothing.ValueType
496
+ ZHS_FILLET: ZoneHatchSmoothing.ValueType
497
+ ZHS_ARC_LOW_DEF: ZoneHatchSmoothing.ValueType
498
+ ZHS_ARC_HIGH_DEF: ZoneHatchSmoothing.ValueType
499
+ global___ZoneHatchSmoothing = ZoneHatchSmoothing
500
+
501
+ class _ZoneHatchFillBorderMode:
502
+ ValueType = typing.NewType('ValueType', builtins.int)
503
+ V: typing_extensions.TypeAlias = ValueType
504
+
505
+ class _ZoneHatchFillBorderModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ZoneHatchFillBorderMode.ValueType], builtins.type):
506
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
507
+ ZHFBM_UNKNOWN: _ZoneHatchFillBorderMode.ValueType
508
+ ZHFBM_USE_MIN_ZONE_THICKNESS: _ZoneHatchFillBorderMode.ValueType
509
+ ZHFBM_USE_HATCH_THICKNESS: _ZoneHatchFillBorderMode.ValueType
510
+
511
+ class ZoneHatchFillBorderMode(_ZoneHatchFillBorderMode, metaclass=_ZoneHatchFillBorderModeEnumTypeWrapper):
512
+ ...
513
+ ZHFBM_UNKNOWN: ZoneHatchFillBorderMode.ValueType
514
+ ZHFBM_USE_MIN_ZONE_THICKNESS: ZoneHatchFillBorderMode.ValueType
515
+ ZHFBM_USE_HATCH_THICKNESS: ZoneHatchFillBorderMode.ValueType
516
+ global___ZoneHatchFillBorderMode = ZoneHatchFillBorderMode
517
+
518
+ class _PlacementRuleSourceType:
519
+ ValueType = typing.NewType('ValueType', builtins.int)
520
+ V: typing_extensions.TypeAlias = ValueType
521
+
522
+ class _PlacementRuleSourceTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PlacementRuleSourceType.ValueType], builtins.type):
523
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
524
+ PRST_UNKNOWN: _PlacementRuleSourceType.ValueType
525
+ PRST_SHEET_NAME: _PlacementRuleSourceType.ValueType
526
+ PRST_COMPONENT_CLASS: _PlacementRuleSourceType.ValueType
527
+
528
+ class PlacementRuleSourceType(_PlacementRuleSourceType, metaclass=_PlacementRuleSourceTypeEnumTypeWrapper):
529
+ ...
530
+ PRST_UNKNOWN: PlacementRuleSourceType.ValueType
531
+ PRST_SHEET_NAME: PlacementRuleSourceType.ValueType
532
+ PRST_COMPONENT_CLASS: PlacementRuleSourceType.ValueType
533
+ global___PlacementRuleSourceType = PlacementRuleSourceType
534
+
535
+ class _ZoneBorderStyle:
536
+ ValueType = typing.NewType('ValueType', builtins.int)
537
+ V: typing_extensions.TypeAlias = ValueType
538
+
539
+ class _ZoneBorderStyleEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ZoneBorderStyle.ValueType], builtins.type):
540
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
541
+ ZBS_UNKNOWN: _ZoneBorderStyle.ValueType
542
+ ZBS_SOLID: _ZoneBorderStyle.ValueType
543
+ ZBS_DIAGONAL_FULL: _ZoneBorderStyle.ValueType
544
+ ZBS_DIAGONAL_EDGE: _ZoneBorderStyle.ValueType
545
+ ZBS_INVISIBLE: _ZoneBorderStyle.ValueType
546
+
547
+ class ZoneBorderStyle(_ZoneBorderStyle, metaclass=_ZoneBorderStyleEnumTypeWrapper):
548
+ ...
549
+ ZBS_UNKNOWN: ZoneBorderStyle.ValueType
550
+ ZBS_SOLID: ZoneBorderStyle.ValueType
551
+ ZBS_DIAGONAL_FULL: ZoneBorderStyle.ValueType
552
+ ZBS_DIAGONAL_EDGE: ZoneBorderStyle.ValueType
553
+ ZBS_INVISIBLE: ZoneBorderStyle.ValueType
554
+ global___ZoneBorderStyle = ZoneBorderStyle
555
+
556
+ class _DimensionTextBorderStyle:
557
+ ValueType = typing.NewType('ValueType', builtins.int)
558
+ V: typing_extensions.TypeAlias = ValueType
559
+
560
+ class _DimensionTextBorderStyleEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DimensionTextBorderStyle.ValueType], builtins.type):
561
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
562
+ DTBS_UNKNOWN: _DimensionTextBorderStyle.ValueType
563
+ DTBS_NONE: _DimensionTextBorderStyle.ValueType
564
+ DTBS_RECTANGLE: _DimensionTextBorderStyle.ValueType
565
+ DTBS_CIRCLE: _DimensionTextBorderStyle.ValueType
566
+ DTBS_ROUNDRECT: _DimensionTextBorderStyle.ValueType
567
+
568
+ class DimensionTextBorderStyle(_DimensionTextBorderStyle, metaclass=_DimensionTextBorderStyleEnumTypeWrapper):
569
+ """The style of the optional frame applied to dimension text"""
570
+ DTBS_UNKNOWN: DimensionTextBorderStyle.ValueType
571
+ DTBS_NONE: DimensionTextBorderStyle.ValueType
572
+ DTBS_RECTANGLE: DimensionTextBorderStyle.ValueType
573
+ DTBS_CIRCLE: DimensionTextBorderStyle.ValueType
574
+ DTBS_ROUNDRECT: DimensionTextBorderStyle.ValueType
575
+ global___DimensionTextBorderStyle = DimensionTextBorderStyle
576
+
577
+ class _DimensionUnitFormat:
578
+ ValueType = typing.NewType('ValueType', builtins.int)
579
+ V: typing_extensions.TypeAlias = ValueType
580
+
581
+ class _DimensionUnitFormatEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DimensionUnitFormat.ValueType], builtins.type):
582
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
583
+ DUF_UNKNOWN: _DimensionUnitFormat.ValueType
584
+ DUF_NO_SUFFIX: _DimensionUnitFormat.ValueType
585
+ DUF_BARE_SUFFIX: _DimensionUnitFormat.ValueType
586
+ DUF_PAREN_SUFFIX: _DimensionUnitFormat.ValueType
587
+
588
+ class DimensionUnitFormat(_DimensionUnitFormat, metaclass=_DimensionUnitFormatEnumTypeWrapper):
589
+ ...
590
+ DUF_UNKNOWN: DimensionUnitFormat.ValueType
591
+ DUF_NO_SUFFIX: DimensionUnitFormat.ValueType
592
+ DUF_BARE_SUFFIX: DimensionUnitFormat.ValueType
593
+ DUF_PAREN_SUFFIX: DimensionUnitFormat.ValueType
594
+ global___DimensionUnitFormat = DimensionUnitFormat
595
+
596
+ class _DimensionArrowDirection:
597
+ ValueType = typing.NewType('ValueType', builtins.int)
598
+ V: typing_extensions.TypeAlias = ValueType
599
+
600
+ class _DimensionArrowDirectionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DimensionArrowDirection.ValueType], builtins.type):
601
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
602
+ DAD_UNKNOWN: _DimensionArrowDirection.ValueType
603
+ DAD_INWARD: _DimensionArrowDirection.ValueType
604
+ DAD_OUTWARD: _DimensionArrowDirection.ValueType
605
+
606
+ class DimensionArrowDirection(_DimensionArrowDirection, metaclass=_DimensionArrowDirectionEnumTypeWrapper):
607
+ ...
608
+ DAD_UNKNOWN: DimensionArrowDirection.ValueType
609
+ DAD_INWARD: DimensionArrowDirection.ValueType
610
+ DAD_OUTWARD: DimensionArrowDirection.ValueType
611
+ global___DimensionArrowDirection = DimensionArrowDirection
612
+
613
+ class _DimensionPrecision:
614
+ ValueType = typing.NewType('ValueType', builtins.int)
615
+ V: typing_extensions.TypeAlias = ValueType
616
+
617
+ class _DimensionPrecisionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DimensionPrecision.ValueType], builtins.type):
618
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
619
+ DP_UNKNOWN: _DimensionPrecision.ValueType
620
+ DP_FIXED_0: _DimensionPrecision.ValueType
621
+ 'No digits after decimal point'
622
+ DP_FIXED_1: _DimensionPrecision.ValueType
623
+ '1 digit after decimal point'
624
+ DP_FIXED_2: _DimensionPrecision.ValueType
625
+ '2 digits after decimal point'
626
+ DP_FIXED_3: _DimensionPrecision.ValueType
627
+ '3 digits after decimal point'
628
+ DP_FIXED_4: _DimensionPrecision.ValueType
629
+ '4 digits after decimal point'
630
+ DP_FIXED_5: _DimensionPrecision.ValueType
631
+ '5 digits after decimal point'
632
+ DP_SCALED_IN_2: _DimensionPrecision.ValueType
633
+ 'Precision depends on unit selection; 2 digits for inches, 0 for mils, 1 for mm'
634
+ DP_SCALED_IN_3: _DimensionPrecision.ValueType
635
+ 'Precision depends on unit selection; 3 digits for inches, 0 for mils, 2 for mm'
636
+ DP_SCALED_IN_4: _DimensionPrecision.ValueType
637
+ 'Precision depends on unit selection; 4 digits for inches, 1 for mils, 3 for mm'
638
+ DP_SCALED_IN_5: _DimensionPrecision.ValueType
639
+ 'Precision depends on unit selection; 5 digits for inches, 2 for mils, 4 for mm'
640
+
641
+ class DimensionPrecision(_DimensionPrecision, metaclass=_DimensionPrecisionEnumTypeWrapper):
642
+ ...
643
+ DP_UNKNOWN: DimensionPrecision.ValueType
644
+ DP_FIXED_0: DimensionPrecision.ValueType
645
+ 'No digits after decimal point'
646
+ DP_FIXED_1: DimensionPrecision.ValueType
647
+ '1 digit after decimal point'
648
+ DP_FIXED_2: DimensionPrecision.ValueType
649
+ '2 digits after decimal point'
650
+ DP_FIXED_3: DimensionPrecision.ValueType
651
+ '3 digits after decimal point'
652
+ DP_FIXED_4: DimensionPrecision.ValueType
653
+ '4 digits after decimal point'
654
+ DP_FIXED_5: DimensionPrecision.ValueType
655
+ '5 digits after decimal point'
656
+ DP_SCALED_IN_2: DimensionPrecision.ValueType
657
+ 'Precision depends on unit selection; 2 digits for inches, 0 for mils, 1 for mm'
658
+ DP_SCALED_IN_3: DimensionPrecision.ValueType
659
+ 'Precision depends on unit selection; 3 digits for inches, 0 for mils, 2 for mm'
660
+ DP_SCALED_IN_4: DimensionPrecision.ValueType
661
+ 'Precision depends on unit selection; 4 digits for inches, 1 for mils, 3 for mm'
662
+ DP_SCALED_IN_5: DimensionPrecision.ValueType
663
+ 'Precision depends on unit selection; 5 digits for inches, 2 for mils, 4 for mm'
664
+ global___DimensionPrecision = DimensionPrecision
665
+
666
+ class _DimensionTextPosition:
667
+ ValueType = typing.NewType('ValueType', builtins.int)
668
+ V: typing_extensions.TypeAlias = ValueType
669
+
670
+ class _DimensionTextPositionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DimensionTextPosition.ValueType], builtins.type):
671
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
672
+ DTP_UNKNOWN: _DimensionTextPosition.ValueType
673
+ DTP_OUTSIDE: _DimensionTextPosition.ValueType
674
+ DTP_INLINE: _DimensionTextPosition.ValueType
675
+ DTP_MANUAL: _DimensionTextPosition.ValueType
676
+
677
+ class DimensionTextPosition(_DimensionTextPosition, metaclass=_DimensionTextPositionEnumTypeWrapper):
678
+ ...
679
+ DTP_UNKNOWN: DimensionTextPosition.ValueType
680
+ DTP_OUTSIDE: DimensionTextPosition.ValueType
681
+ DTP_INLINE: DimensionTextPosition.ValueType
682
+ DTP_MANUAL: DimensionTextPosition.ValueType
683
+ global___DimensionTextPosition = DimensionTextPosition
684
+
685
+ class _DimensionUnit:
686
+ ValueType = typing.NewType('ValueType', builtins.int)
687
+ V: typing_extensions.TypeAlias = ValueType
688
+
689
+ class _DimensionUnitEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DimensionUnit.ValueType], builtins.type):
690
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
691
+ DU_UNKNOWN: _DimensionUnit.ValueType
692
+ DU_INCHES: _DimensionUnit.ValueType
693
+ DU_MILS: _DimensionUnit.ValueType
694
+ DU_MILLIMETERS: _DimensionUnit.ValueType
695
+ DU_AUTOMATIC: _DimensionUnit.ValueType
696
+
697
+ class DimensionUnit(_DimensionUnit, metaclass=_DimensionUnitEnumTypeWrapper):
698
+ ...
699
+ DU_UNKNOWN: DimensionUnit.ValueType
700
+ DU_INCHES: DimensionUnit.ValueType
701
+ DU_MILS: DimensionUnit.ValueType
702
+ DU_MILLIMETERS: DimensionUnit.ValueType
703
+ DU_AUTOMATIC: DimensionUnit.ValueType
704
+ global___DimensionUnit = DimensionUnit
705
+
706
+ class _FootprintMountingStyle:
707
+ ValueType = typing.NewType('ValueType', builtins.int)
708
+ V: typing_extensions.TypeAlias = ValueType
709
+
710
+ class _FootprintMountingStyleEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_FootprintMountingStyle.ValueType], builtins.type):
711
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
712
+ FMS_UNKNOWN: _FootprintMountingStyle.ValueType
713
+ FMS_THROUGH_HOLE: _FootprintMountingStyle.ValueType
714
+ FMS_SMD: _FootprintMountingStyle.ValueType
715
+ FMS_UNSPECIFIED: _FootprintMountingStyle.ValueType
716
+
717
+ class FootprintMountingStyle(_FootprintMountingStyle, metaclass=_FootprintMountingStyleEnumTypeWrapper):
718
+ ...
719
+ FMS_UNKNOWN: FootprintMountingStyle.ValueType
720
+ FMS_THROUGH_HOLE: FootprintMountingStyle.ValueType
721
+ FMS_SMD: FootprintMountingStyle.ValueType
722
+ FMS_UNSPECIFIED: FootprintMountingStyle.ValueType
723
+ global___FootprintMountingStyle = FootprintMountingStyle
724
+
725
+ @typing.final
726
+ class NetCode(google.protobuf.message.Message):
727
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
728
+ VALUE_FIELD_NUMBER: builtins.int
729
+ value: builtins.int
730
+
731
+ def __init__(self, *, value: builtins.int=...) -> None:
732
+ ...
733
+
734
+ def ClearField(self, field_name: typing.Literal['value', b'value']) -> None:
735
+ ...
736
+ global___NetCode = NetCode
737
+
738
+ @typing.final
739
+ class Net(google.protobuf.message.Message):
740
+ """Describes a copper item's net"""
741
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
742
+ CODE_FIELD_NUMBER: builtins.int
743
+ NAME_FIELD_NUMBER: builtins.int
744
+ name: builtins.str
745
+ 'Human-readable net name'
746
+
747
+ @property
748
+ def code(self) -> global___NetCode:
749
+ """A unique code representing this net"""
750
+
751
+ def __init__(self, *, code: global___NetCode | None=..., name: builtins.str=...) -> None:
752
+ ...
753
+
754
+ def HasField(self, field_name: typing.Literal['code', b'code']) -> builtins.bool:
755
+ ...
756
+
757
+ def ClearField(self, field_name: typing.Literal['code', b'code', 'name', b'name']) -> None:
758
+ ...
759
+ global___Net = Net
760
+
761
+ @typing.final
762
+ class Track(google.protobuf.message.Message):
763
+ """Represents a track segment on a board"""
764
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
765
+ ID_FIELD_NUMBER: builtins.int
766
+ START_FIELD_NUMBER: builtins.int
767
+ END_FIELD_NUMBER: builtins.int
768
+ WIDTH_FIELD_NUMBER: builtins.int
769
+ LOCKED_FIELD_NUMBER: builtins.int
770
+ LAYER_FIELD_NUMBER: builtins.int
771
+ NET_FIELD_NUMBER: builtins.int
772
+ locked: common.types.base_types_pb2.LockedState.ValueType
773
+ layer: global___BoardLayer.ValueType
774
+
775
+ @property
776
+ def id(self) -> common.types.base_types_pb2.KIID:
777
+ ...
778
+
779
+ @property
780
+ def start(self) -> common.types.base_types_pb2.Vector2:
781
+ ...
782
+
783
+ @property
784
+ def end(self) -> common.types.base_types_pb2.Vector2:
785
+ ...
786
+
787
+ @property
788
+ def width(self) -> common.types.base_types_pb2.Distance:
789
+ ...
790
+
791
+ @property
792
+ def net(self) -> global___Net:
793
+ ...
794
+
795
+ def __init__(self, *, id: common.types.base_types_pb2.KIID | None=..., start: common.types.base_types_pb2.Vector2 | None=..., end: common.types.base_types_pb2.Vector2 | None=..., width: common.types.base_types_pb2.Distance | None=..., locked: common.types.base_types_pb2.LockedState.ValueType=..., layer: global___BoardLayer.ValueType=..., net: global___Net | None=...) -> None:
796
+ ...
797
+
798
+ def HasField(self, field_name: typing.Literal['end', b'end', 'id', b'id', 'net', b'net', 'start', b'start', 'width', b'width']) -> builtins.bool:
799
+ ...
800
+
801
+ def ClearField(self, field_name: typing.Literal['end', b'end', 'id', b'id', 'layer', b'layer', 'locked', b'locked', 'net', b'net', 'start', b'start', 'width', b'width']) -> None:
802
+ ...
803
+ global___Track = Track
804
+
805
+ @typing.final
806
+ class Arc(google.protobuf.message.Message):
807
+ """Represents an arc track (not a PCB_SHAPE in arc shape)
808
+ Arc tracks in KiCad store start, midpoint, and end.
809
+ All other values (center point, angles, etc) are inferred.
810
+ """
811
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
812
+ ID_FIELD_NUMBER: builtins.int
813
+ START_FIELD_NUMBER: builtins.int
814
+ MID_FIELD_NUMBER: builtins.int
815
+ END_FIELD_NUMBER: builtins.int
816
+ WIDTH_FIELD_NUMBER: builtins.int
817
+ LOCKED_FIELD_NUMBER: builtins.int
818
+ LAYER_FIELD_NUMBER: builtins.int
819
+ NET_FIELD_NUMBER: builtins.int
820
+ locked: common.types.base_types_pb2.LockedState.ValueType
821
+ layer: global___BoardLayer.ValueType
822
+
823
+ @property
824
+ def id(self) -> common.types.base_types_pb2.KIID:
825
+ ...
826
+
827
+ @property
828
+ def start(self) -> common.types.base_types_pb2.Vector2:
829
+ ...
830
+
831
+ @property
832
+ def mid(self) -> common.types.base_types_pb2.Vector2:
833
+ """Arc midpoint"""
834
+
835
+ @property
836
+ def end(self) -> common.types.base_types_pb2.Vector2:
837
+ ...
838
+
839
+ @property
840
+ def width(self) -> common.types.base_types_pb2.Distance:
841
+ ...
842
+
843
+ @property
844
+ def net(self) -> global___Net:
845
+ ...
846
+
847
+ def __init__(self, *, id: common.types.base_types_pb2.KIID | None=..., start: common.types.base_types_pb2.Vector2 | None=..., mid: common.types.base_types_pb2.Vector2 | None=..., end: common.types.base_types_pb2.Vector2 | None=..., width: common.types.base_types_pb2.Distance | None=..., locked: common.types.base_types_pb2.LockedState.ValueType=..., layer: global___BoardLayer.ValueType=..., net: global___Net | None=...) -> None:
848
+ ...
849
+
850
+ def HasField(self, field_name: typing.Literal['end', b'end', 'id', b'id', 'mid', b'mid', 'net', b'net', 'start', b'start', 'width', b'width']) -> builtins.bool:
851
+ ...
852
+
853
+ def ClearField(self, field_name: typing.Literal['end', b'end', 'id', b'id', 'layer', b'layer', 'locked', b'locked', 'mid', b'mid', 'net', b'net', 'start', b'start', 'width', b'width']) -> None:
854
+ ...
855
+ global___Arc = Arc
856
+
857
+ @typing.final
858
+ class ChamferedRectCorners(google.protobuf.message.Message):
859
+ """Which corners are chamfered in a PSS_CHAMFEREDRECT"""
860
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
861
+ TOP_LEFT_FIELD_NUMBER: builtins.int
862
+ TOP_RIGHT_FIELD_NUMBER: builtins.int
863
+ BOTTOM_LEFT_FIELD_NUMBER: builtins.int
864
+ BOTTOM_RIGHT_FIELD_NUMBER: builtins.int
865
+ top_left: builtins.bool
866
+ top_right: builtins.bool
867
+ bottom_left: builtins.bool
868
+ bottom_right: builtins.bool
869
+
870
+ def __init__(self, *, top_left: builtins.bool=..., top_right: builtins.bool=..., bottom_left: builtins.bool=..., bottom_right: builtins.bool=...) -> None:
871
+ ...
872
+
873
+ def ClearField(self, field_name: typing.Literal['bottom_left', b'bottom_left', 'bottom_right', b'bottom_right', 'top_left', b'top_left', 'top_right', b'top_right']) -> None:
874
+ ...
875
+ global___ChamferedRectCorners = ChamferedRectCorners
876
+
877
+ @typing.final
878
+ class ZoneConnectionSettings(google.protobuf.message.Message):
879
+ """Controls for how copper zones connect to a pad"""
880
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
881
+ ZONE_CONNECTION_FIELD_NUMBER: builtins.int
882
+ THERMAL_SPOKES_FIELD_NUMBER: builtins.int
883
+ zone_connection: global___ZoneConnectionStyle.ValueType
884
+
885
+ @property
886
+ def thermal_spokes(self) -> global___ThermalSpokeSettings:
887
+ ...
888
+
889
+ def __init__(self, *, zone_connection: global___ZoneConnectionStyle.ValueType=..., thermal_spokes: global___ThermalSpokeSettings | None=...) -> None:
890
+ ...
891
+
892
+ def HasField(self, field_name: typing.Literal['thermal_spokes', b'thermal_spokes']) -> builtins.bool:
893
+ ...
894
+
895
+ def ClearField(self, field_name: typing.Literal['thermal_spokes', b'thermal_spokes', 'zone_connection', b'zone_connection']) -> None:
896
+ ...
897
+ global___ZoneConnectionSettings = ZoneConnectionSettings
898
+
899
+ @typing.final
900
+ class SolderMaskOverrides(google.protobuf.message.Message):
901
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
902
+ SOLDER_MASK_MARGIN_FIELD_NUMBER: builtins.int
903
+
904
+ @property
905
+ def solder_mask_margin(self) -> common.types.base_types_pb2.Distance:
906
+ """Solder mask expansion/contraction"""
907
+
908
+ def __init__(self, *, solder_mask_margin: common.types.base_types_pb2.Distance | None=...) -> None:
909
+ ...
910
+
911
+ def HasField(self, field_name: typing.Literal['solder_mask_margin', b'solder_mask_margin']) -> builtins.bool:
912
+ ...
913
+
914
+ def ClearField(self, field_name: typing.Literal['solder_mask_margin', b'solder_mask_margin']) -> None:
915
+ ...
916
+ global___SolderMaskOverrides = SolderMaskOverrides
917
+
918
+ @typing.final
919
+ class SolderPasteOverrides(google.protobuf.message.Message):
920
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
921
+ SOLDER_PASTE_MARGIN_FIELD_NUMBER: builtins.int
922
+ SOLDER_PASTE_MARGIN_RATIO_FIELD_NUMBER: builtins.int
923
+
924
+ @property
925
+ def solder_paste_margin(self) -> common.types.base_types_pb2.Distance:
926
+ """Solder paste expansion/contraction"""
927
+
928
+ @property
929
+ def solder_paste_margin_ratio(self) -> common.types.base_types_pb2.Ratio:
930
+ """Solder paste expansion/contraction ratio"""
931
+
932
+ def __init__(self, *, solder_paste_margin: common.types.base_types_pb2.Distance | None=..., solder_paste_margin_ratio: common.types.base_types_pb2.Ratio | None=...) -> None:
933
+ ...
934
+
935
+ def HasField(self, field_name: typing.Literal['solder_paste_margin', b'solder_paste_margin', 'solder_paste_margin_ratio', b'solder_paste_margin_ratio']) -> builtins.bool:
936
+ ...
937
+
938
+ def ClearField(self, field_name: typing.Literal['solder_paste_margin', b'solder_paste_margin', 'solder_paste_margin_ratio', b'solder_paste_margin_ratio']) -> None:
939
+ ...
940
+ global___SolderPasteOverrides = SolderPasteOverrides
941
+
942
+ @typing.final
943
+ class PadStackLayer(google.protobuf.message.Message):
944
+ """The defintion of a padstack on a single layer"""
945
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
946
+ LAYER_FIELD_NUMBER: builtins.int
947
+ SHAPE_FIELD_NUMBER: builtins.int
948
+ SIZE_FIELD_NUMBER: builtins.int
949
+ CORNER_ROUNDING_RATIO_FIELD_NUMBER: builtins.int
950
+ CHAMFER_RATIO_FIELD_NUMBER: builtins.int
951
+ CHAMFERED_CORNERS_FIELD_NUMBER: builtins.int
952
+ CUSTOM_SHAPES_FIELD_NUMBER: builtins.int
953
+ CUSTOM_ANCHOR_SHAPE_FIELD_NUMBER: builtins.int
954
+ ZONE_SETTINGS_FIELD_NUMBER: builtins.int
955
+ TRAPEZOID_DELTA_FIELD_NUMBER: builtins.int
956
+ OFFSET_FIELD_NUMBER: builtins.int
957
+ layer: global___BoardLayer.ValueType
958
+ 'The board layer of this padstack entry. For Front/Inner/Back padstacks, In1_Cu is used to represent inner layers.'
959
+ shape: global___PadStackShape.ValueType
960
+ 'The shape of the pad on this layer'
961
+ corner_rounding_ratio: builtins.float
962
+ 'How much to round the corners of the shape by, as a fraction of min(size.x, size.y)\n Only used for PSS_ROUNDRECT or PSS_CHAMFEREDRECT\n '
963
+ chamfer_ratio: builtins.float
964
+ 'How much to round the corners of the shape by, as a fraction of min(size.x, size.y)\n Only used for PSS_CHAMFEREDRECT\n '
965
+ custom_anchor_shape: global___PadStackShape.ValueType
966
+ 'If shape == PSS_CUSTOM, defines the shape of the anchor (only PSS_CIRCLE and PSS_RECTANGLE supported at present)'
967
+
968
+ @property
969
+ def size(self) -> common.types.base_types_pb2.Vector2:
970
+ """The size (x and y) of the shape on this layer"""
971
+
972
+ @property
973
+ def chamfered_corners(self) -> global___ChamferedRectCorners:
974
+ ...
975
+
976
+ @property
977
+ def custom_shapes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BoardGraphicShape]:
978
+ ...
979
+
980
+ @property
981
+ def zone_settings(self) -> global___ZoneConnectionSettings:
982
+ """Reserved for future use -- at the moment, zone connection settings are not per-layer"""
983
+
984
+ @property
985
+ def trapezoid_delta(self) -> common.types.base_types_pb2.Vector2:
986
+ """The difference in side length between the short and long pads in a trapezoid. Only one of x or y may be nonzero.
987
+ Only used for PSS_TRAPEZOID
988
+ """
989
+
990
+ @property
991
+ def offset(self) -> common.types.base_types_pb2.Vector2:
992
+ """The offset of the center of this shape from the center of the pad (which is defined as the hole center)"""
993
+
994
+ def __init__(self, *, layer: global___BoardLayer.ValueType=..., shape: global___PadStackShape.ValueType=..., size: common.types.base_types_pb2.Vector2 | None=..., corner_rounding_ratio: builtins.float=..., chamfer_ratio: builtins.float=..., chamfered_corners: global___ChamferedRectCorners | None=..., custom_shapes: collections.abc.Iterable[global___BoardGraphicShape] | None=..., custom_anchor_shape: global___PadStackShape.ValueType=..., zone_settings: global___ZoneConnectionSettings | None=..., trapezoid_delta: common.types.base_types_pb2.Vector2 | None=..., offset: common.types.base_types_pb2.Vector2 | None=...) -> None:
995
+ ...
996
+
997
+ def HasField(self, field_name: typing.Literal['chamfered_corners', b'chamfered_corners', 'offset', b'offset', 'size', b'size', 'trapezoid_delta', b'trapezoid_delta', 'zone_settings', b'zone_settings']) -> builtins.bool:
998
+ ...
999
+
1000
+ def ClearField(self, field_name: typing.Literal['chamfer_ratio', b'chamfer_ratio', 'chamfered_corners', b'chamfered_corners', 'corner_rounding_ratio', b'corner_rounding_ratio', 'custom_anchor_shape', b'custom_anchor_shape', 'custom_shapes', b'custom_shapes', 'layer', b'layer', 'offset', b'offset', 'shape', b'shape', 'size', b'size', 'trapezoid_delta', b'trapezoid_delta', 'zone_settings', b'zone_settings']) -> None:
1001
+ ...
1002
+ global___PadStackLayer = PadStackLayer
1003
+
1004
+ @typing.final
1005
+ class PadStackOuterLayer(google.protobuf.message.Message):
1006
+ """Properties for the outer technical layers of a padstack on the top or bottom of the stack"""
1007
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1008
+ SOLDER_MASK_MODE_FIELD_NUMBER: builtins.int
1009
+ SOLDER_PASTE_MODE_FIELD_NUMBER: builtins.int
1010
+ SOLDER_MASK_SETTINGS_FIELD_NUMBER: builtins.int
1011
+ SOLDER_PASTE_SETTINGS_FIELD_NUMBER: builtins.int
1012
+ solder_mask_mode: global___SolderMaskMode.ValueType
1013
+ solder_paste_mode: global___SolderPasteMode.ValueType
1014
+
1015
+ @property
1016
+ def solder_mask_settings(self) -> global___SolderMaskOverrides:
1017
+ """NOTE: At present, KiCad does not support different solder mask expansion settings for the top and bottom layers"""
1018
+
1019
+ @property
1020
+ def solder_paste_settings(self) -> global___SolderPasteOverrides:
1021
+ """NOTE: At present, KiCad does not support different solder paste expansion settings for the top and bottom layers"""
1022
+
1023
+ def __init__(self, *, solder_mask_mode: global___SolderMaskMode.ValueType=..., solder_paste_mode: global___SolderPasteMode.ValueType=..., solder_mask_settings: global___SolderMaskOverrides | None=..., solder_paste_settings: global___SolderPasteOverrides | None=...) -> None:
1024
+ ...
1025
+
1026
+ def HasField(self, field_name: typing.Literal['solder_mask_settings', b'solder_mask_settings', 'solder_paste_settings', b'solder_paste_settings']) -> builtins.bool:
1027
+ ...
1028
+
1029
+ def ClearField(self, field_name: typing.Literal['solder_mask_mode', b'solder_mask_mode', 'solder_mask_settings', b'solder_mask_settings', 'solder_paste_mode', b'solder_paste_mode', 'solder_paste_settings', b'solder_paste_settings']) -> None:
1030
+ ...
1031
+ global___PadStackOuterLayer = PadStackOuterLayer
1032
+
1033
+ @typing.final
1034
+ class DrillProperties(google.protobuf.message.Message):
1035
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1036
+ START_LAYER_FIELD_NUMBER: builtins.int
1037
+ END_LAYER_FIELD_NUMBER: builtins.int
1038
+ DIAMETER_FIELD_NUMBER: builtins.int
1039
+ SHAPE_FIELD_NUMBER: builtins.int
1040
+ start_layer: global___BoardLayer.ValueType
1041
+ 'Lowest (closest to F_Cu) layer this drill exists on.'
1042
+ end_layer: global___BoardLayer.ValueType
1043
+ 'Highest (closest to B_Cu) layer this drill exists on.'
1044
+ shape: global___DrillShape.ValueType
1045
+
1046
+ @property
1047
+ def diameter(self) -> common.types.base_types_pb2.Vector2:
1048
+ """The diameter, in x and y, of the pad's drilled hole, if this pad has a hole.
1049
+ x and y will be the same value if the hole is round.
1050
+ """
1051
+
1052
+ def __init__(self, *, start_layer: global___BoardLayer.ValueType=..., end_layer: global___BoardLayer.ValueType=..., diameter: common.types.base_types_pb2.Vector2 | None=..., shape: global___DrillShape.ValueType=...) -> None:
1053
+ ...
1054
+
1055
+ def HasField(self, field_name: typing.Literal['diameter', b'diameter']) -> builtins.bool:
1056
+ ...
1057
+
1058
+ def ClearField(self, field_name: typing.Literal['diameter', b'diameter', 'end_layer', b'end_layer', 'shape', b'shape', 'start_layer', b'start_layer']) -> None:
1059
+ ...
1060
+ global___DrillProperties = DrillProperties
1061
+
1062
+ @typing.final
1063
+ class PadStack(google.protobuf.message.Message):
1064
+ """A pad stack definition for a multilayer pad or via."""
1065
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1066
+ TYPE_FIELD_NUMBER: builtins.int
1067
+ LAYERS_FIELD_NUMBER: builtins.int
1068
+ DRILL_FIELD_NUMBER: builtins.int
1069
+ UNCONNECTED_LAYER_REMOVAL_FIELD_NUMBER: builtins.int
1070
+ COPPER_LAYERS_FIELD_NUMBER: builtins.int
1071
+ ANGLE_FIELD_NUMBER: builtins.int
1072
+ FRONT_OUTER_LAYERS_FIELD_NUMBER: builtins.int
1073
+ BACK_OUTER_LAYERS_FIELD_NUMBER: builtins.int
1074
+ ZONE_SETTINGS_FIELD_NUMBER: builtins.int
1075
+ type: global___PadStackType.ValueType
1076
+ 'What type of pad stack this represents.'
1077
+ unconnected_layer_removal: global___UnconnectedLayerRemoval.ValueType
1078
+ 'How to treat pad shapes on unconnected layers.'
1079
+
1080
+ @property
1081
+ def layers(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___BoardLayer.ValueType]:
1082
+ """The set of board layers this padstack has a definition for"""
1083
+
1084
+ @property
1085
+ def drill(self) -> global___DrillProperties:
1086
+ """Properties of the drilled hole in this padstack, if it has one"""
1087
+
1088
+ @property
1089
+ def copper_layers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PadStackLayer]:
1090
+ ...
1091
+
1092
+ @property
1093
+ def angle(self) -> common.types.base_types_pb2.Angle:
1094
+ """The overall rotation of this padstack (affects all layers)"""
1095
+
1096
+ @property
1097
+ def front_outer_layers(self) -> global___PadStackOuterLayer:
1098
+ """Solder mask and paste settings for the front"""
1099
+
1100
+ @property
1101
+ def back_outer_layers(self) -> global___PadStackOuterLayer:
1102
+ """Solder mask and paste settings for the back"""
1103
+
1104
+ @property
1105
+ def zone_settings(self) -> global___ZoneConnectionSettings:
1106
+ """Controls for how copper zones connect to the padstack"""
1107
+
1108
+ def __init__(self, *, type: global___PadStackType.ValueType=..., layers: collections.abc.Iterable[global___BoardLayer.ValueType] | None=..., drill: global___DrillProperties | None=..., unconnected_layer_removal: global___UnconnectedLayerRemoval.ValueType=..., copper_layers: collections.abc.Iterable[global___PadStackLayer] | None=..., angle: common.types.base_types_pb2.Angle | None=..., front_outer_layers: global___PadStackOuterLayer | None=..., back_outer_layers: global___PadStackOuterLayer | None=..., zone_settings: global___ZoneConnectionSettings | None=...) -> None:
1109
+ ...
1110
+
1111
+ def HasField(self, field_name: typing.Literal['angle', b'angle', 'back_outer_layers', b'back_outer_layers', 'drill', b'drill', 'front_outer_layers', b'front_outer_layers', 'zone_settings', b'zone_settings']) -> builtins.bool:
1112
+ ...
1113
+
1114
+ def ClearField(self, field_name: typing.Literal['angle', b'angle', 'back_outer_layers', b'back_outer_layers', 'copper_layers', b'copper_layers', 'drill', b'drill', 'front_outer_layers', b'front_outer_layers', 'layers', b'layers', 'type', b'type', 'unconnected_layer_removal', b'unconnected_layer_removal', 'zone_settings', b'zone_settings']) -> None:
1115
+ ...
1116
+ global___PadStack = PadStack
1117
+
1118
+ @typing.final
1119
+ class Via(google.protobuf.message.Message):
1120
+ """Represents a via"""
1121
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1122
+ ID_FIELD_NUMBER: builtins.int
1123
+ POSITION_FIELD_NUMBER: builtins.int
1124
+ PAD_STACK_FIELD_NUMBER: builtins.int
1125
+ LOCKED_FIELD_NUMBER: builtins.int
1126
+ NET_FIELD_NUMBER: builtins.int
1127
+ TYPE_FIELD_NUMBER: builtins.int
1128
+ locked: common.types.base_types_pb2.LockedState.ValueType
1129
+ type: global___ViaType.ValueType
1130
+
1131
+ @property
1132
+ def id(self) -> common.types.base_types_pb2.KIID:
1133
+ """The unique identifier of the via"""
1134
+
1135
+ @property
1136
+ def position(self) -> common.types.base_types_pb2.Vector2:
1137
+ """The location of the via's center point"""
1138
+
1139
+ @property
1140
+ def pad_stack(self) -> global___PadStack:
1141
+ """The pad stack definition for this via."""
1142
+
1143
+ @property
1144
+ def net(self) -> global___Net:
1145
+ ...
1146
+
1147
+ def __init__(self, *, id: common.types.base_types_pb2.KIID | None=..., position: common.types.base_types_pb2.Vector2 | None=..., pad_stack: global___PadStack | None=..., locked: common.types.base_types_pb2.LockedState.ValueType=..., net: global___Net | None=..., type: global___ViaType.ValueType=...) -> None:
1148
+ ...
1149
+
1150
+ def HasField(self, field_name: typing.Literal['id', b'id', 'net', b'net', 'pad_stack', b'pad_stack', 'position', b'position']) -> builtins.bool:
1151
+ ...
1152
+
1153
+ def ClearField(self, field_name: typing.Literal['id', b'id', 'locked', b'locked', 'net', b'net', 'pad_stack', b'pad_stack', 'position', b'position', 'type', b'type']) -> None:
1154
+ ...
1155
+ global___Via = Via
1156
+
1157
+ @typing.final
1158
+ class BoardGraphicShape(google.protobuf.message.Message):
1159
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1160
+ SHAPE_FIELD_NUMBER: builtins.int
1161
+ LAYER_FIELD_NUMBER: builtins.int
1162
+ NET_FIELD_NUMBER: builtins.int
1163
+ ID_FIELD_NUMBER: builtins.int
1164
+ LOCKED_FIELD_NUMBER: builtins.int
1165
+ layer: global___BoardLayer.ValueType
1166
+ locked: common.types.base_types_pb2.LockedState.ValueType
1167
+
1168
+ @property
1169
+ def shape(self) -> common.types.base_types_pb2.GraphicShape:
1170
+ ...
1171
+
1172
+ @property
1173
+ def net(self) -> global___Net:
1174
+ ...
1175
+
1176
+ @property
1177
+ def id(self) -> common.types.base_types_pb2.KIID:
1178
+ ...
1179
+
1180
+ def __init__(self, *, shape: common.types.base_types_pb2.GraphicShape | None=..., layer: global___BoardLayer.ValueType=..., net: global___Net | None=..., id: common.types.base_types_pb2.KIID | None=..., locked: common.types.base_types_pb2.LockedState.ValueType=...) -> None:
1181
+ ...
1182
+
1183
+ def HasField(self, field_name: typing.Literal['id', b'id', 'net', b'net', 'shape', b'shape']) -> builtins.bool:
1184
+ ...
1185
+
1186
+ def ClearField(self, field_name: typing.Literal['id', b'id', 'layer', b'layer', 'locked', b'locked', 'net', b'net', 'shape', b'shape']) -> None:
1187
+ ...
1188
+ global___BoardGraphicShape = BoardGraphicShape
1189
+
1190
+ @typing.final
1191
+ class BoardText(google.protobuf.message.Message):
1192
+ """A board-specific text object, existing on a board layer"""
1193
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1194
+ ID_FIELD_NUMBER: builtins.int
1195
+ TEXT_FIELD_NUMBER: builtins.int
1196
+ LAYER_FIELD_NUMBER: builtins.int
1197
+ KNOCKOUT_FIELD_NUMBER: builtins.int
1198
+ LOCKED_FIELD_NUMBER: builtins.int
1199
+ layer: global___BoardLayer.ValueType
1200
+ knockout: builtins.bool
1201
+ locked: common.types.base_types_pb2.LockedState.ValueType
1202
+
1203
+ @property
1204
+ def id(self) -> common.types.base_types_pb2.KIID:
1205
+ ...
1206
+
1207
+ @property
1208
+ def text(self) -> common.types.base_types_pb2.Text:
1209
+ ...
1210
+
1211
+ def __init__(self, *, id: common.types.base_types_pb2.KIID | None=..., text: common.types.base_types_pb2.Text | None=..., layer: global___BoardLayer.ValueType=..., knockout: builtins.bool=..., locked: common.types.base_types_pb2.LockedState.ValueType=...) -> None:
1212
+ ...
1213
+
1214
+ def HasField(self, field_name: typing.Literal['id', b'id', 'text', b'text']) -> builtins.bool:
1215
+ ...
1216
+
1217
+ def ClearField(self, field_name: typing.Literal['id', b'id', 'knockout', b'knockout', 'layer', b'layer', 'locked', b'locked', 'text', b'text']) -> None:
1218
+ ...
1219
+ global___BoardText = BoardText
1220
+
1221
+ @typing.final
1222
+ class BoardTextBox(google.protobuf.message.Message):
1223
+ """A board-specific textbox, existing on a board layer"""
1224
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1225
+ ID_FIELD_NUMBER: builtins.int
1226
+ TEXTBOX_FIELD_NUMBER: builtins.int
1227
+ LAYER_FIELD_NUMBER: builtins.int
1228
+ LOCKED_FIELD_NUMBER: builtins.int
1229
+ layer: global___BoardLayer.ValueType
1230
+ locked: common.types.base_types_pb2.LockedState.ValueType
1231
+
1232
+ @property
1233
+ def id(self) -> common.types.base_types_pb2.KIID:
1234
+ ...
1235
+
1236
+ @property
1237
+ def textbox(self) -> common.types.base_types_pb2.TextBox:
1238
+ ...
1239
+
1240
+ def __init__(self, *, id: common.types.base_types_pb2.KIID | None=..., textbox: common.types.base_types_pb2.TextBox | None=..., layer: global___BoardLayer.ValueType=..., locked: common.types.base_types_pb2.LockedState.ValueType=...) -> None:
1241
+ ...
1242
+
1243
+ def HasField(self, field_name: typing.Literal['id', b'id', 'textbox', b'textbox']) -> builtins.bool:
1244
+ ...
1245
+
1246
+ def ClearField(self, field_name: typing.Literal['id', b'id', 'layer', b'layer', 'locked', b'locked', 'textbox', b'textbox']) -> None:
1247
+ ...
1248
+ global___BoardTextBox = BoardTextBox
1249
+
1250
+ @typing.final
1251
+ class ThermalSpokeSettings(google.protobuf.message.Message):
1252
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1253
+ WIDTH_FIELD_NUMBER: builtins.int
1254
+ ANGLE_FIELD_NUMBER: builtins.int
1255
+ GAP_FIELD_NUMBER: builtins.int
1256
+ width: builtins.int
1257
+ gap: builtins.int
1258
+
1259
+ @property
1260
+ def angle(self) -> common.types.base_types_pb2.Angle:
1261
+ ...
1262
+
1263
+ def __init__(self, *, width: builtins.int=..., angle: common.types.base_types_pb2.Angle | None=..., gap: builtins.int=...) -> None:
1264
+ ...
1265
+
1266
+ def HasField(self, field_name: typing.Literal['angle', b'angle']) -> builtins.bool:
1267
+ ...
1268
+
1269
+ def ClearField(self, field_name: typing.Literal['angle', b'angle', 'gap', b'gap', 'width', b'width']) -> None:
1270
+ ...
1271
+ global___ThermalSpokeSettings = ThermalSpokeSettings
1272
+
1273
+ @typing.final
1274
+ class Pad(google.protobuf.message.Message):
1275
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1276
+ ID_FIELD_NUMBER: builtins.int
1277
+ LOCKED_FIELD_NUMBER: builtins.int
1278
+ NUMBER_FIELD_NUMBER: builtins.int
1279
+ NET_FIELD_NUMBER: builtins.int
1280
+ TYPE_FIELD_NUMBER: builtins.int
1281
+ PAD_STACK_FIELD_NUMBER: builtins.int
1282
+ POSITION_FIELD_NUMBER: builtins.int
1283
+ COPPER_CLEARANCE_OVERRIDE_FIELD_NUMBER: builtins.int
1284
+ locked: common.types.base_types_pb2.LockedState.ValueType
1285
+ number: builtins.str
1286
+ type: global___PadType.ValueType
1287
+
1288
+ @property
1289
+ def id(self) -> common.types.base_types_pb2.KIID:
1290
+ ...
1291
+
1292
+ @property
1293
+ def net(self) -> global___Net:
1294
+ ...
1295
+
1296
+ @property
1297
+ def pad_stack(self) -> global___PadStack:
1298
+ ...
1299
+
1300
+ @property
1301
+ def position(self) -> common.types.base_types_pb2.Vector2:
1302
+ """A pad's position is always relative to the parent footprint's origin"""
1303
+
1304
+ @property
1305
+ def copper_clearance_override(self) -> common.types.base_types_pb2.Distance:
1306
+ """Copper-to-copper clearance override"""
1307
+
1308
+ def __init__(self, *, id: common.types.base_types_pb2.KIID | None=..., locked: common.types.base_types_pb2.LockedState.ValueType=..., number: builtins.str=..., net: global___Net | None=..., type: global___PadType.ValueType=..., pad_stack: global___PadStack | None=..., position: common.types.base_types_pb2.Vector2 | None=..., copper_clearance_override: common.types.base_types_pb2.Distance | None=...) -> None:
1309
+ ...
1310
+
1311
+ def HasField(self, field_name: typing.Literal['copper_clearance_override', b'copper_clearance_override', 'id', b'id', 'net', b'net', 'pad_stack', b'pad_stack', 'position', b'position']) -> builtins.bool:
1312
+ ...
1313
+
1314
+ def ClearField(self, field_name: typing.Literal['copper_clearance_override', b'copper_clearance_override', 'id', b'id', 'locked', b'locked', 'net', b'net', 'number', b'number', 'pad_stack', b'pad_stack', 'position', b'position', 'type', b'type']) -> None:
1315
+ ...
1316
+ global___Pad = Pad
1317
+
1318
+ @typing.final
1319
+ class HatchFillSettings(google.protobuf.message.Message):
1320
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1321
+ THICKNESS_FIELD_NUMBER: builtins.int
1322
+ GAP_FIELD_NUMBER: builtins.int
1323
+ ORIENTATION_FIELD_NUMBER: builtins.int
1324
+ HATCH_SMOOTHING_RATIO_FIELD_NUMBER: builtins.int
1325
+ HATCH_HOLE_MIN_AREA_RATIO_FIELD_NUMBER: builtins.int
1326
+ BORDER_MODE_FIELD_NUMBER: builtins.int
1327
+ hatch_smoothing_ratio: builtins.float
1328
+ hatch_hole_min_area_ratio: builtins.float
1329
+ border_mode: global___ZoneHatchFillBorderMode.ValueType
1330
+
1331
+ @property
1332
+ def thickness(self) -> common.types.base_types_pb2.Distance:
1333
+ ...
1334
+
1335
+ @property
1336
+ def gap(self) -> common.types.base_types_pb2.Distance:
1337
+ ...
1338
+
1339
+ @property
1340
+ def orientation(self) -> common.types.base_types_pb2.Angle:
1341
+ ...
1342
+
1343
+ def __init__(self, *, thickness: common.types.base_types_pb2.Distance | None=..., gap: common.types.base_types_pb2.Distance | None=..., orientation: common.types.base_types_pb2.Angle | None=..., hatch_smoothing_ratio: builtins.float=..., hatch_hole_min_area_ratio: builtins.float=..., border_mode: global___ZoneHatchFillBorderMode.ValueType=...) -> None:
1344
+ ...
1345
+
1346
+ def HasField(self, field_name: typing.Literal['gap', b'gap', 'orientation', b'orientation', 'thickness', b'thickness']) -> builtins.bool:
1347
+ ...
1348
+
1349
+ def ClearField(self, field_name: typing.Literal['border_mode', b'border_mode', 'gap', b'gap', 'hatch_hole_min_area_ratio', b'hatch_hole_min_area_ratio', 'hatch_smoothing_ratio', b'hatch_smoothing_ratio', 'orientation', b'orientation', 'thickness', b'thickness']) -> None:
1350
+ ...
1351
+ global___HatchFillSettings = HatchFillSettings
1352
+
1353
+ @typing.final
1354
+ class TeardropSettings(google.protobuf.message.Message):
1355
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1356
+ TYPE_FIELD_NUMBER: builtins.int
1357
+ type: global___TeardropType.ValueType
1358
+
1359
+ def __init__(self, *, type: global___TeardropType.ValueType=...) -> None:
1360
+ ...
1361
+
1362
+ def ClearField(self, field_name: typing.Literal['type', b'type']) -> None:
1363
+ ...
1364
+ global___TeardropSettings = TeardropSettings
1365
+
1366
+ @typing.final
1367
+ class CopperZoneSettings(google.protobuf.message.Message):
1368
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1369
+ CONNECTION_FIELD_NUMBER: builtins.int
1370
+ CLEARANCE_FIELD_NUMBER: builtins.int
1371
+ MIN_THICKNESS_FIELD_NUMBER: builtins.int
1372
+ ISLAND_MODE_FIELD_NUMBER: builtins.int
1373
+ MIN_ISLAND_AREA_FIELD_NUMBER: builtins.int
1374
+ FILL_MODE_FIELD_NUMBER: builtins.int
1375
+ HATCH_SETTINGS_FIELD_NUMBER: builtins.int
1376
+ NET_FIELD_NUMBER: builtins.int
1377
+ TEARDROP_FIELD_NUMBER: builtins.int
1378
+ island_mode: global___IslandRemovalMode.ValueType
1379
+ min_island_area: builtins.int
1380
+ fill_mode: global___ZoneFillMode.ValueType
1381
+
1382
+ @property
1383
+ def connection(self) -> global___ZoneConnectionSettings:
1384
+ ...
1385
+
1386
+ @property
1387
+ def clearance(self) -> common.types.base_types_pb2.Distance:
1388
+ ...
1389
+
1390
+ @property
1391
+ def min_thickness(self) -> common.types.base_types_pb2.Distance:
1392
+ ...
1393
+
1394
+ @property
1395
+ def hatch_settings(self) -> global___HatchFillSettings:
1396
+ ...
1397
+
1398
+ @property
1399
+ def net(self) -> global___Net:
1400
+ ...
1401
+
1402
+ @property
1403
+ def teardrop(self) -> global___TeardropSettings:
1404
+ ...
1405
+
1406
+ def __init__(self, *, connection: global___ZoneConnectionSettings | None=..., clearance: common.types.base_types_pb2.Distance | None=..., min_thickness: common.types.base_types_pb2.Distance | None=..., island_mode: global___IslandRemovalMode.ValueType=..., min_island_area: builtins.int=..., fill_mode: global___ZoneFillMode.ValueType=..., hatch_settings: global___HatchFillSettings | None=..., net: global___Net | None=..., teardrop: global___TeardropSettings | None=...) -> None:
1407
+ ...
1408
+
1409
+ def HasField(self, field_name: typing.Literal['clearance', b'clearance', 'connection', b'connection', 'hatch_settings', b'hatch_settings', 'min_thickness', b'min_thickness', 'net', b'net', 'teardrop', b'teardrop']) -> builtins.bool:
1410
+ ...
1411
+
1412
+ def ClearField(self, field_name: typing.Literal['clearance', b'clearance', 'connection', b'connection', 'fill_mode', b'fill_mode', 'hatch_settings', b'hatch_settings', 'island_mode', b'island_mode', 'min_island_area', b'min_island_area', 'min_thickness', b'min_thickness', 'net', b'net', 'teardrop', b'teardrop']) -> None:
1413
+ ...
1414
+ global___CopperZoneSettings = CopperZoneSettings
1415
+
1416
+ @typing.final
1417
+ class RuleAreaSettings(google.protobuf.message.Message):
1418
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1419
+ KEEPOUT_COPPER_FIELD_NUMBER: builtins.int
1420
+ KEEPOUT_VIAS_FIELD_NUMBER: builtins.int
1421
+ KEEPOUT_TRACKS_FIELD_NUMBER: builtins.int
1422
+ KEEPOUT_PADS_FIELD_NUMBER: builtins.int
1423
+ KEEPOUT_FOOTPRINTS_FIELD_NUMBER: builtins.int
1424
+ PLACEMENT_ENABLED_FIELD_NUMBER: builtins.int
1425
+ PLACEMENT_SOURCE_TYPE_FIELD_NUMBER: builtins.int
1426
+ PLACEMENT_SOURCE_FIELD_NUMBER: builtins.int
1427
+ keepout_copper: builtins.bool
1428
+ keepout_vias: builtins.bool
1429
+ keepout_tracks: builtins.bool
1430
+ keepout_pads: builtins.bool
1431
+ keepout_footprints: builtins.bool
1432
+ placement_enabled: builtins.bool
1433
+ placement_source_type: global___PlacementRuleSourceType.ValueType
1434
+ placement_source: builtins.str
1435
+
1436
+ def __init__(self, *, keepout_copper: builtins.bool=..., keepout_vias: builtins.bool=..., keepout_tracks: builtins.bool=..., keepout_pads: builtins.bool=..., keepout_footprints: builtins.bool=..., placement_enabled: builtins.bool=..., placement_source_type: global___PlacementRuleSourceType.ValueType=..., placement_source: builtins.str=...) -> None:
1437
+ ...
1438
+
1439
+ def ClearField(self, field_name: typing.Literal['keepout_copper', b'keepout_copper', 'keepout_footprints', b'keepout_footprints', 'keepout_pads', b'keepout_pads', 'keepout_tracks', b'keepout_tracks', 'keepout_vias', b'keepout_vias', 'placement_enabled', b'placement_enabled', 'placement_source', b'placement_source', 'placement_source_type', b'placement_source_type']) -> None:
1440
+ ...
1441
+ global___RuleAreaSettings = RuleAreaSettings
1442
+
1443
+ @typing.final
1444
+ class ZoneBorderSettings(google.protobuf.message.Message):
1445
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1446
+ STYLE_FIELD_NUMBER: builtins.int
1447
+ PITCH_FIELD_NUMBER: builtins.int
1448
+ style: global___ZoneBorderStyle.ValueType
1449
+
1450
+ @property
1451
+ def pitch(self) -> common.types.base_types_pb2.Distance:
1452
+ ...
1453
+
1454
+ def __init__(self, *, style: global___ZoneBorderStyle.ValueType=..., pitch: common.types.base_types_pb2.Distance | None=...) -> None:
1455
+ ...
1456
+
1457
+ def HasField(self, field_name: typing.Literal['pitch', b'pitch']) -> builtins.bool:
1458
+ ...
1459
+
1460
+ def ClearField(self, field_name: typing.Literal['pitch', b'pitch', 'style', b'style']) -> None:
1461
+ ...
1462
+ global___ZoneBorderSettings = ZoneBorderSettings
1463
+
1464
+ @typing.final
1465
+ class ZoneFilledPolygons(google.protobuf.message.Message):
1466
+ """The set of filled polygons of a zone on a single board layer"""
1467
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1468
+ LAYER_FIELD_NUMBER: builtins.int
1469
+ SHAPES_FIELD_NUMBER: builtins.int
1470
+ layer: global___BoardLayer.ValueType
1471
+
1472
+ @property
1473
+ def shapes(self) -> common.types.base_types_pb2.PolySet:
1474
+ ...
1475
+
1476
+ def __init__(self, *, layer: global___BoardLayer.ValueType=..., shapes: common.types.base_types_pb2.PolySet | None=...) -> None:
1477
+ ...
1478
+
1479
+ def HasField(self, field_name: typing.Literal['shapes', b'shapes']) -> builtins.bool:
1480
+ ...
1481
+
1482
+ def ClearField(self, field_name: typing.Literal['layer', b'layer', 'shapes', b'shapes']) -> None:
1483
+ ...
1484
+ global___ZoneFilledPolygons = ZoneFilledPolygons
1485
+
1486
+ @typing.final
1487
+ class Zone(google.protobuf.message.Message):
1488
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1489
+ ID_FIELD_NUMBER: builtins.int
1490
+ TYPE_FIELD_NUMBER: builtins.int
1491
+ LAYERS_FIELD_NUMBER: builtins.int
1492
+ OUTLINE_FIELD_NUMBER: builtins.int
1493
+ NAME_FIELD_NUMBER: builtins.int
1494
+ COPPER_SETTINGS_FIELD_NUMBER: builtins.int
1495
+ RULE_AREA_SETTINGS_FIELD_NUMBER: builtins.int
1496
+ PRIORITY_FIELD_NUMBER: builtins.int
1497
+ FILLED_FIELD_NUMBER: builtins.int
1498
+ FILLED_POLYGONS_FIELD_NUMBER: builtins.int
1499
+ BORDER_FIELD_NUMBER: builtins.int
1500
+ LOCKED_FIELD_NUMBER: builtins.int
1501
+ type: global___ZoneType.ValueType
1502
+ name: builtins.str
1503
+ priority: builtins.int
1504
+ filled: builtins.bool
1505
+ locked: common.types.base_types_pb2.LockedState.ValueType
1506
+
1507
+ @property
1508
+ def id(self) -> common.types.base_types_pb2.KIID:
1509
+ ...
1510
+
1511
+ @property
1512
+ def layers(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___BoardLayer.ValueType]:
1513
+ ...
1514
+
1515
+ @property
1516
+ def outline(self) -> common.types.base_types_pb2.PolySet:
1517
+ ...
1518
+
1519
+ @property
1520
+ def copper_settings(self) -> global___CopperZoneSettings:
1521
+ ...
1522
+
1523
+ @property
1524
+ def rule_area_settings(self) -> global___RuleAreaSettings:
1525
+ ...
1526
+
1527
+ @property
1528
+ def filled_polygons(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ZoneFilledPolygons]:
1529
+ ...
1530
+
1531
+ @property
1532
+ def border(self) -> global___ZoneBorderSettings:
1533
+ ...
1534
+
1535
+ def __init__(self, *, id: common.types.base_types_pb2.KIID | None=..., type: global___ZoneType.ValueType=..., layers: collections.abc.Iterable[global___BoardLayer.ValueType] | None=..., outline: common.types.base_types_pb2.PolySet | None=..., name: builtins.str=..., copper_settings: global___CopperZoneSettings | None=..., rule_area_settings: global___RuleAreaSettings | None=..., priority: builtins.int=..., filled: builtins.bool=..., filled_polygons: collections.abc.Iterable[global___ZoneFilledPolygons] | None=..., border: global___ZoneBorderSettings | None=..., locked: common.types.base_types_pb2.LockedState.ValueType=...) -> None:
1536
+ ...
1537
+
1538
+ def HasField(self, field_name: typing.Literal['border', b'border', 'copper_settings', b'copper_settings', 'id', b'id', 'outline', b'outline', 'rule_area_settings', b'rule_area_settings', 'settings', b'settings']) -> builtins.bool:
1539
+ ...
1540
+
1541
+ def ClearField(self, field_name: typing.Literal['border', b'border', 'copper_settings', b'copper_settings', 'filled', b'filled', 'filled_polygons', b'filled_polygons', 'id', b'id', 'layers', b'layers', 'locked', b'locked', 'name', b'name', 'outline', b'outline', 'priority', b'priority', 'rule_area_settings', b'rule_area_settings', 'settings', b'settings', 'type', b'type']) -> None:
1542
+ ...
1543
+
1544
+ def WhichOneof(self, oneof_group: typing.Literal['settings', b'settings']) -> typing.Literal['copper_settings', 'rule_area_settings'] | None:
1545
+ ...
1546
+ global___Zone = Zone
1547
+
1548
+ @typing.final
1549
+ class AlignedDimensionAttributes(google.protobuf.message.Message):
1550
+ """An aligned dimension is drawn parallel to the line segment between the start and end points"""
1551
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1552
+ START_FIELD_NUMBER: builtins.int
1553
+ END_FIELD_NUMBER: builtins.int
1554
+ HEIGHT_FIELD_NUMBER: builtins.int
1555
+ EXTENSION_HEIGHT_FIELD_NUMBER: builtins.int
1556
+
1557
+ @property
1558
+ def start(self) -> common.types.base_types_pb2.Vector2:
1559
+ ...
1560
+
1561
+ @property
1562
+ def end(self) -> common.types.base_types_pb2.Vector2:
1563
+ ...
1564
+
1565
+ @property
1566
+ def height(self) -> common.types.base_types_pb2.Distance:
1567
+ """Perpendicular distance from dimension endpoints to crossbar"""
1568
+
1569
+ @property
1570
+ def extension_height(self) -> common.types.base_types_pb2.Distance:
1571
+ """Length of extension lines past the crossbar"""
1572
+
1573
+ def __init__(self, *, start: common.types.base_types_pb2.Vector2 | None=..., end: common.types.base_types_pb2.Vector2 | None=..., height: common.types.base_types_pb2.Distance | None=..., extension_height: common.types.base_types_pb2.Distance | None=...) -> None:
1574
+ ...
1575
+
1576
+ def HasField(self, field_name: typing.Literal['end', b'end', 'extension_height', b'extension_height', 'height', b'height', 'start', b'start']) -> builtins.bool:
1577
+ ...
1578
+
1579
+ def ClearField(self, field_name: typing.Literal['end', b'end', 'extension_height', b'extension_height', 'height', b'height', 'start', b'start']) -> None:
1580
+ ...
1581
+ global___AlignedDimensionAttributes = AlignedDimensionAttributes
1582
+
1583
+ @typing.final
1584
+ class OrthogonalDimensionAttributes(google.protobuf.message.Message):
1585
+ """An orthogonal dimension is drawn parallel to the X or Y axis of the coordinate system"""
1586
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1587
+ START_FIELD_NUMBER: builtins.int
1588
+ END_FIELD_NUMBER: builtins.int
1589
+ HEIGHT_FIELD_NUMBER: builtins.int
1590
+ EXTENSION_HEIGHT_FIELD_NUMBER: builtins.int
1591
+ ALIGNMENT_FIELD_NUMBER: builtins.int
1592
+ alignment: common.types.base_types_pb2.AxisAlignment.ValueType
1593
+ 'Which axis the dimension is parallel to'
1594
+
1595
+ @property
1596
+ def start(self) -> common.types.base_types_pb2.Vector2:
1597
+ ...
1598
+
1599
+ @property
1600
+ def end(self) -> common.types.base_types_pb2.Vector2:
1601
+ ...
1602
+
1603
+ @property
1604
+ def height(self) -> common.types.base_types_pb2.Distance:
1605
+ """Perpendicular distance from dimension endpoints to crossbar"""
1606
+
1607
+ @property
1608
+ def extension_height(self) -> common.types.base_types_pb2.Distance:
1609
+ """Length of extension lines past the crossbar"""
1610
+
1611
+ def __init__(self, *, start: common.types.base_types_pb2.Vector2 | None=..., end: common.types.base_types_pb2.Vector2 | None=..., height: common.types.base_types_pb2.Distance | None=..., extension_height: common.types.base_types_pb2.Distance | None=..., alignment: common.types.base_types_pb2.AxisAlignment.ValueType=...) -> None:
1612
+ ...
1613
+
1614
+ def HasField(self, field_name: typing.Literal['end', b'end', 'extension_height', b'extension_height', 'height', b'height', 'start', b'start']) -> builtins.bool:
1615
+ ...
1616
+
1617
+ def ClearField(self, field_name: typing.Literal['alignment', b'alignment', 'end', b'end', 'extension_height', b'extension_height', 'height', b'height', 'start', b'start']) -> None:
1618
+ ...
1619
+ global___OrthogonalDimensionAttributes = OrthogonalDimensionAttributes
1620
+
1621
+ @typing.final
1622
+ class RadialDimensionAttributes(google.protobuf.message.Message):
1623
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1624
+ CENTER_FIELD_NUMBER: builtins.int
1625
+ RADIUS_POINT_FIELD_NUMBER: builtins.int
1626
+ LEADER_LENGTH_FIELD_NUMBER: builtins.int
1627
+
1628
+ @property
1629
+ def center(self) -> common.types.base_types_pb2.Vector2:
1630
+ """The center of the dimensioned circle or arc"""
1631
+
1632
+ @property
1633
+ def radius_point(self) -> common.types.base_types_pb2.Vector2:
1634
+ """A point on the radius of the circle or arc"""
1635
+
1636
+ @property
1637
+ def leader_length(self) -> common.types.base_types_pb2.Distance:
1638
+ """The distance from radius_point to draw the first segment of the leader line.
1639
+ The second segment is drawn from the end of the first segment to the text position.
1640
+ """
1641
+
1642
+ def __init__(self, *, center: common.types.base_types_pb2.Vector2 | None=..., radius_point: common.types.base_types_pb2.Vector2 | None=..., leader_length: common.types.base_types_pb2.Distance | None=...) -> None:
1643
+ ...
1644
+
1645
+ def HasField(self, field_name: typing.Literal['center', b'center', 'leader_length', b'leader_length', 'radius_point', b'radius_point']) -> builtins.bool:
1646
+ ...
1647
+
1648
+ def ClearField(self, field_name: typing.Literal['center', b'center', 'leader_length', b'leader_length', 'radius_point', b'radius_point']) -> None:
1649
+ ...
1650
+ global___RadialDimensionAttributes = RadialDimensionAttributes
1651
+
1652
+ @typing.final
1653
+ class LeaderDimensionAttributes(google.protobuf.message.Message):
1654
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1655
+ START_FIELD_NUMBER: builtins.int
1656
+ END_FIELD_NUMBER: builtins.int
1657
+ BORDER_STYLE_FIELD_NUMBER: builtins.int
1658
+ border_style: global___DimensionTextBorderStyle.ValueType
1659
+
1660
+ @property
1661
+ def start(self) -> common.types.base_types_pb2.Vector2:
1662
+ ...
1663
+
1664
+ @property
1665
+ def end(self) -> common.types.base_types_pb2.Vector2:
1666
+ ...
1667
+
1668
+ def __init__(self, *, start: common.types.base_types_pb2.Vector2 | None=..., end: common.types.base_types_pb2.Vector2 | None=..., border_style: global___DimensionTextBorderStyle.ValueType=...) -> None:
1669
+ ...
1670
+
1671
+ def HasField(self, field_name: typing.Literal['end', b'end', 'start', b'start']) -> builtins.bool:
1672
+ ...
1673
+
1674
+ def ClearField(self, field_name: typing.Literal['border_style', b'border_style', 'end', b'end', 'start', b'start']) -> None:
1675
+ ...
1676
+ global___LeaderDimensionAttributes = LeaderDimensionAttributes
1677
+
1678
+ @typing.final
1679
+ class CenterDimensionAttributes(google.protobuf.message.Message):
1680
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1681
+ CENTER_FIELD_NUMBER: builtins.int
1682
+ END_FIELD_NUMBER: builtins.int
1683
+
1684
+ @property
1685
+ def center(self) -> common.types.base_types_pb2.Vector2:
1686
+ ...
1687
+
1688
+ @property
1689
+ def end(self) -> common.types.base_types_pb2.Vector2:
1690
+ """A point on the end of one of the four radial spokes drawn from the center point"""
1691
+
1692
+ def __init__(self, *, center: common.types.base_types_pb2.Vector2 | None=..., end: common.types.base_types_pb2.Vector2 | None=...) -> None:
1693
+ ...
1694
+
1695
+ def HasField(self, field_name: typing.Literal['center', b'center', 'end', b'end']) -> builtins.bool:
1696
+ ...
1697
+
1698
+ def ClearField(self, field_name: typing.Literal['center', b'center', 'end', b'end']) -> None:
1699
+ ...
1700
+ global___CenterDimensionAttributes = CenterDimensionAttributes
1701
+
1702
+ @typing.final
1703
+ class Dimension(google.protobuf.message.Message):
1704
+ """A dimension in KiCad is a special type of text object.
1705
+ To know the visual appearance of the dimension as rendered by KiCad, use GetTextAsShapes
1706
+ """
1707
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1708
+ ID_FIELD_NUMBER: builtins.int
1709
+ LOCKED_FIELD_NUMBER: builtins.int
1710
+ LAYER_FIELD_NUMBER: builtins.int
1711
+ TEXT_FIELD_NUMBER: builtins.int
1712
+ ALIGNED_FIELD_NUMBER: builtins.int
1713
+ ORTHOGONAL_FIELD_NUMBER: builtins.int
1714
+ RADIAL_FIELD_NUMBER: builtins.int
1715
+ LEADER_FIELD_NUMBER: builtins.int
1716
+ CENTER_FIELD_NUMBER: builtins.int
1717
+ OVERRIDE_TEXT_ENABLED_FIELD_NUMBER: builtins.int
1718
+ OVERRIDE_TEXT_FIELD_NUMBER: builtins.int
1719
+ PREFIX_FIELD_NUMBER: builtins.int
1720
+ SUFFIX_FIELD_NUMBER: builtins.int
1721
+ UNIT_FIELD_NUMBER: builtins.int
1722
+ UNIT_FORMAT_FIELD_NUMBER: builtins.int
1723
+ ARROW_DIRECTION_FIELD_NUMBER: builtins.int
1724
+ PRECISION_FIELD_NUMBER: builtins.int
1725
+ SUPPRESS_TRAILING_ZEROES_FIELD_NUMBER: builtins.int
1726
+ LINE_THICKNESS_FIELD_NUMBER: builtins.int
1727
+ ARROW_LENGTH_FIELD_NUMBER: builtins.int
1728
+ EXTENSION_OFFSET_FIELD_NUMBER: builtins.int
1729
+ TEXT_POSITION_FIELD_NUMBER: builtins.int
1730
+ KEEP_TEXT_ALIGNED_FIELD_NUMBER: builtins.int
1731
+ locked: common.types.base_types_pb2.LockedState.ValueType
1732
+ layer: global___BoardLayer.ValueType
1733
+ override_text_enabled: builtins.bool
1734
+ override_text: builtins.str
1735
+ prefix: builtins.str
1736
+ suffix: builtins.str
1737
+ unit: global___DimensionUnit.ValueType
1738
+ unit_format: global___DimensionUnitFormat.ValueType
1739
+ arrow_direction: global___DimensionArrowDirection.ValueType
1740
+ precision: global___DimensionPrecision.ValueType
1741
+ suppress_trailing_zeroes: builtins.bool
1742
+ text_position: global___DimensionTextPosition.ValueType
1743
+ keep_text_aligned: builtins.bool
1744
+
1745
+ @property
1746
+ def id(self) -> common.types.base_types_pb2.KIID:
1747
+ ...
1748
+
1749
+ @property
1750
+ def text(self) -> common.types.base_types_pb2.Text:
1751
+ ...
1752
+
1753
+ @property
1754
+ def aligned(self) -> global___AlignedDimensionAttributes:
1755
+ ...
1756
+
1757
+ @property
1758
+ def orthogonal(self) -> global___OrthogonalDimensionAttributes:
1759
+ ...
1760
+
1761
+ @property
1762
+ def radial(self) -> global___RadialDimensionAttributes:
1763
+ ...
1764
+
1765
+ @property
1766
+ def leader(self) -> global___LeaderDimensionAttributes:
1767
+ ...
1768
+
1769
+ @property
1770
+ def center(self) -> global___CenterDimensionAttributes:
1771
+ ...
1772
+
1773
+ @property
1774
+ def line_thickness(self) -> common.types.base_types_pb2.Distance:
1775
+ ...
1776
+
1777
+ @property
1778
+ def arrow_length(self) -> common.types.base_types_pb2.Distance:
1779
+ ...
1780
+
1781
+ @property
1782
+ def extension_offset(self) -> common.types.base_types_pb2.Distance:
1783
+ ...
1784
+
1785
+ def __init__(self, *, id: common.types.base_types_pb2.KIID | None=..., locked: common.types.base_types_pb2.LockedState.ValueType=..., layer: global___BoardLayer.ValueType=..., text: common.types.base_types_pb2.Text | None=..., aligned: global___AlignedDimensionAttributes | None=..., orthogonal: global___OrthogonalDimensionAttributes | None=..., radial: global___RadialDimensionAttributes | None=..., leader: global___LeaderDimensionAttributes | None=..., center: global___CenterDimensionAttributes | None=..., override_text_enabled: builtins.bool=..., override_text: builtins.str=..., prefix: builtins.str=..., suffix: builtins.str=..., unit: global___DimensionUnit.ValueType=..., unit_format: global___DimensionUnitFormat.ValueType=..., arrow_direction: global___DimensionArrowDirection.ValueType=..., precision: global___DimensionPrecision.ValueType=..., suppress_trailing_zeroes: builtins.bool=..., line_thickness: common.types.base_types_pb2.Distance | None=..., arrow_length: common.types.base_types_pb2.Distance | None=..., extension_offset: common.types.base_types_pb2.Distance | None=..., text_position: global___DimensionTextPosition.ValueType=..., keep_text_aligned: builtins.bool=...) -> None:
1786
+ ...
1787
+
1788
+ def HasField(self, field_name: typing.Literal['aligned', b'aligned', 'arrow_length', b'arrow_length', 'center', b'center', 'dimension_style', b'dimension_style', 'extension_offset', b'extension_offset', 'id', b'id', 'leader', b'leader', 'line_thickness', b'line_thickness', 'orthogonal', b'orthogonal', 'radial', b'radial', 'text', b'text']) -> builtins.bool:
1789
+ ...
1790
+
1791
+ def ClearField(self, field_name: typing.Literal['aligned', b'aligned', 'arrow_direction', b'arrow_direction', 'arrow_length', b'arrow_length', 'center', b'center', 'dimension_style', b'dimension_style', 'extension_offset', b'extension_offset', 'id', b'id', 'keep_text_aligned', b'keep_text_aligned', 'layer', b'layer', 'leader', b'leader', 'line_thickness', b'line_thickness', 'locked', b'locked', 'orthogonal', b'orthogonal', 'override_text', b'override_text', 'override_text_enabled', b'override_text_enabled', 'precision', b'precision', 'prefix', b'prefix', 'radial', b'radial', 'suffix', b'suffix', 'suppress_trailing_zeroes', b'suppress_trailing_zeroes', 'text', b'text', 'text_position', b'text_position', 'unit', b'unit', 'unit_format', b'unit_format']) -> None:
1792
+ ...
1793
+
1794
+ def WhichOneof(self, oneof_group: typing.Literal['dimension_style', b'dimension_style']) -> typing.Literal['aligned', 'orthogonal', 'radial', 'leader', 'center'] | None:
1795
+ ...
1796
+ global___Dimension = Dimension
1797
+
1798
+ @typing.final
1799
+ class ReferenceImage(google.protobuf.message.Message):
1800
+ """TODO"""
1801
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1802
+
1803
+ def __init__(self) -> None:
1804
+ ...
1805
+ global___ReferenceImage = ReferenceImage
1806
+
1807
+ @typing.final
1808
+ class Group(google.protobuf.message.Message):
1809
+ """TODO"""
1810
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1811
+
1812
+ def __init__(self) -> None:
1813
+ ...
1814
+ global___Group = Group
1815
+
1816
+ @typing.final
1817
+ class FieldId(google.protobuf.message.Message):
1818
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1819
+ ID_FIELD_NUMBER: builtins.int
1820
+ id: builtins.int
1821
+
1822
+ def __init__(self, *, id: builtins.int=...) -> None:
1823
+ ...
1824
+
1825
+ def ClearField(self, field_name: typing.Literal['id', b'id']) -> None:
1826
+ ...
1827
+ global___FieldId = FieldId
1828
+
1829
+ @typing.final
1830
+ class Field(google.protobuf.message.Message):
1831
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1832
+ ID_FIELD_NUMBER: builtins.int
1833
+ NAME_FIELD_NUMBER: builtins.int
1834
+ TEXT_FIELD_NUMBER: builtins.int
1835
+ name: builtins.str
1836
+
1837
+ @property
1838
+ def id(self) -> global___FieldId:
1839
+ ...
1840
+
1841
+ @property
1842
+ def text(self) -> global___BoardText:
1843
+ ...
1844
+
1845
+ def __init__(self, *, id: global___FieldId | None=..., name: builtins.str=..., text: global___BoardText | None=...) -> None:
1846
+ ...
1847
+
1848
+ def HasField(self, field_name: typing.Literal['id', b'id', 'text', b'text']) -> builtins.bool:
1849
+ ...
1850
+
1851
+ def ClearField(self, field_name: typing.Literal['id', b'id', 'name', b'name', 'text', b'text']) -> None:
1852
+ ...
1853
+ global___Field = Field
1854
+
1855
+ @typing.final
1856
+ class FootprintAttributes(google.protobuf.message.Message):
1857
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1858
+ DESCRIPTION_FIELD_NUMBER: builtins.int
1859
+ KEYWORDS_FIELD_NUMBER: builtins.int
1860
+ NOT_IN_SCHEMATIC_FIELD_NUMBER: builtins.int
1861
+ EXCLUDE_FROM_POSITION_FILES_FIELD_NUMBER: builtins.int
1862
+ EXCLUDE_FROM_BILL_OF_MATERIALS_FIELD_NUMBER: builtins.int
1863
+ EXEMPT_FROM_COURTYARD_REQUIREMENT_FIELD_NUMBER: builtins.int
1864
+ DO_NOT_POPULATE_FIELD_NUMBER: builtins.int
1865
+ MOUNTING_STYLE_FIELD_NUMBER: builtins.int
1866
+ description: builtins.str
1867
+ keywords: builtins.str
1868
+ not_in_schematic: builtins.bool
1869
+ exclude_from_position_files: builtins.bool
1870
+ exclude_from_bill_of_materials: builtins.bool
1871
+ exempt_from_courtyard_requirement: builtins.bool
1872
+ do_not_populate: builtins.bool
1873
+ mounting_style: global___FootprintMountingStyle.ValueType
1874
+
1875
+ def __init__(self, *, description: builtins.str=..., keywords: builtins.str=..., not_in_schematic: builtins.bool=..., exclude_from_position_files: builtins.bool=..., exclude_from_bill_of_materials: builtins.bool=..., exempt_from_courtyard_requirement: builtins.bool=..., do_not_populate: builtins.bool=..., mounting_style: global___FootprintMountingStyle.ValueType=...) -> None:
1876
+ ...
1877
+
1878
+ def ClearField(self, field_name: typing.Literal['description', b'description', 'do_not_populate', b'do_not_populate', 'exclude_from_bill_of_materials', b'exclude_from_bill_of_materials', 'exclude_from_position_files', b'exclude_from_position_files', 'exempt_from_courtyard_requirement', b'exempt_from_courtyard_requirement', 'keywords', b'keywords', 'mounting_style', b'mounting_style', 'not_in_schematic', b'not_in_schematic']) -> None:
1879
+ ...
1880
+ global___FootprintAttributes = FootprintAttributes
1881
+
1882
+ @typing.final
1883
+ class NetTieDefinition(google.protobuf.message.Message):
1884
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1885
+ PAD_NUMBER_FIELD_NUMBER: builtins.int
1886
+
1887
+ @property
1888
+ def pad_number(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
1889
+ ...
1890
+
1891
+ def __init__(self, *, pad_number: collections.abc.Iterable[builtins.str] | None=...) -> None:
1892
+ ...
1893
+
1894
+ def ClearField(self, field_name: typing.Literal['pad_number', b'pad_number']) -> None:
1895
+ ...
1896
+ global___NetTieDefinition = NetTieDefinition
1897
+
1898
+ @typing.final
1899
+ class FootprintDesignRuleOverrides(google.protobuf.message.Message):
1900
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1901
+ SOLDER_MASK_FIELD_NUMBER: builtins.int
1902
+ SOLDER_PASTE_FIELD_NUMBER: builtins.int
1903
+ COPPER_CLEARANCE_FIELD_NUMBER: builtins.int
1904
+ ZONE_CONNECTION_FIELD_NUMBER: builtins.int
1905
+ zone_connection: global___ZoneConnectionStyle.ValueType
1906
+
1907
+ @property
1908
+ def solder_mask(self) -> global___SolderMaskOverrides:
1909
+ ...
1910
+
1911
+ @property
1912
+ def solder_paste(self) -> global___SolderPasteOverrides:
1913
+ ...
1914
+
1915
+ @property
1916
+ def copper_clearance(self) -> common.types.base_types_pb2.Distance:
1917
+ ...
1918
+
1919
+ def __init__(self, *, solder_mask: global___SolderMaskOverrides | None=..., solder_paste: global___SolderPasteOverrides | None=..., copper_clearance: common.types.base_types_pb2.Distance | None=..., zone_connection: global___ZoneConnectionStyle.ValueType=...) -> None:
1920
+ ...
1921
+
1922
+ def HasField(self, field_name: typing.Literal['copper_clearance', b'copper_clearance', 'solder_mask', b'solder_mask', 'solder_paste', b'solder_paste']) -> builtins.bool:
1923
+ ...
1924
+
1925
+ def ClearField(self, field_name: typing.Literal['copper_clearance', b'copper_clearance', 'solder_mask', b'solder_mask', 'solder_paste', b'solder_paste', 'zone_connection', b'zone_connection']) -> None:
1926
+ ...
1927
+ global___FootprintDesignRuleOverrides = FootprintDesignRuleOverrides
1928
+
1929
+ @typing.final
1930
+ class Footprint3DModel(google.protobuf.message.Message):
1931
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1932
+ FILENAME_FIELD_NUMBER: builtins.int
1933
+ SCALE_FIELD_NUMBER: builtins.int
1934
+ ROTATION_FIELD_NUMBER: builtins.int
1935
+ OFFSET_FIELD_NUMBER: builtins.int
1936
+ VISIBLE_FIELD_NUMBER: builtins.int
1937
+ OPACITY_FIELD_NUMBER: builtins.int
1938
+ filename: builtins.str
1939
+ visible: builtins.bool
1940
+ opacity: builtins.float
1941
+
1942
+ @property
1943
+ def scale(self) -> common.types.base_types_pb2.Vector3D:
1944
+ """Scaling factor along each axis"""
1945
+
1946
+ @property
1947
+ def rotation(self) -> common.types.base_types_pb2.Vector3D:
1948
+ """Rotation around each axis, in degrees"""
1949
+
1950
+ @property
1951
+ def offset(self) -> common.types.base_types_pb2.Vector3D:
1952
+ """Offset from footprint center"""
1953
+
1954
+ def __init__(self, *, filename: builtins.str=..., scale: common.types.base_types_pb2.Vector3D | None=..., rotation: common.types.base_types_pb2.Vector3D | None=..., offset: common.types.base_types_pb2.Vector3D | None=..., visible: builtins.bool=..., opacity: builtins.float=...) -> None:
1955
+ ...
1956
+
1957
+ def HasField(self, field_name: typing.Literal['offset', b'offset', 'rotation', b'rotation', 'scale', b'scale']) -> builtins.bool:
1958
+ ...
1959
+
1960
+ def ClearField(self, field_name: typing.Literal['filename', b'filename', 'offset', b'offset', 'opacity', b'opacity', 'rotation', b'rotation', 'scale', b'scale', 'visible', b'visible']) -> None:
1961
+ ...
1962
+ global___Footprint3DModel = Footprint3DModel
1963
+
1964
+ @typing.final
1965
+ class Footprint(google.protobuf.message.Message):
1966
+ """A footprint definition (i.e. what would be in a library)"""
1967
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1968
+ ID_FIELD_NUMBER: builtins.int
1969
+ ANCHOR_FIELD_NUMBER: builtins.int
1970
+ ATTRIBUTES_FIELD_NUMBER: builtins.int
1971
+ OVERRIDES_FIELD_NUMBER: builtins.int
1972
+ NET_TIES_FIELD_NUMBER: builtins.int
1973
+ PRIVATE_LAYERS_FIELD_NUMBER: builtins.int
1974
+ REFERENCE_FIELD_FIELD_NUMBER: builtins.int
1975
+ VALUE_FIELD_FIELD_NUMBER: builtins.int
1976
+ DATASHEET_FIELD_FIELD_NUMBER: builtins.int
1977
+ DESCRIPTION_FIELD_FIELD_NUMBER: builtins.int
1978
+ ITEMS_FIELD_NUMBER: builtins.int
1979
+
1980
+ @property
1981
+ def id(self) -> common.types.base_types_pb2.LibraryIdentifier:
1982
+ ...
1983
+
1984
+ @property
1985
+ def anchor(self) -> common.types.base_types_pb2.Vector2:
1986
+ ...
1987
+
1988
+ @property
1989
+ def attributes(self) -> global___FootprintAttributes:
1990
+ ...
1991
+
1992
+ @property
1993
+ def overrides(self) -> global___FootprintDesignRuleOverrides:
1994
+ ...
1995
+
1996
+ @property
1997
+ def net_ties(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetTieDefinition]:
1998
+ ...
1999
+
2000
+ @property
2001
+ def private_layers(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___BoardLayer.ValueType]:
2002
+ ...
2003
+
2004
+ @property
2005
+ def reference_field(self) -> global___Field:
2006
+ ...
2007
+
2008
+ @property
2009
+ def value_field(self) -> global___Field:
2010
+ ...
2011
+
2012
+ @property
2013
+ def datasheet_field(self) -> global___Field:
2014
+ ...
2015
+
2016
+ @property
2017
+ def description_field(self) -> global___Field:
2018
+ ...
2019
+
2020
+ @property
2021
+ def items(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[google.protobuf.any_pb2.Any]:
2022
+ """All footprint items except for mandatory fields"""
2023
+
2024
+ def __init__(self, *, id: common.types.base_types_pb2.LibraryIdentifier | None=..., anchor: common.types.base_types_pb2.Vector2 | None=..., attributes: global___FootprintAttributes | None=..., overrides: global___FootprintDesignRuleOverrides | None=..., net_ties: collections.abc.Iterable[global___NetTieDefinition] | None=..., private_layers: collections.abc.Iterable[global___BoardLayer.ValueType] | None=..., reference_field: global___Field | None=..., value_field: global___Field | None=..., datasheet_field: global___Field | None=..., description_field: global___Field | None=..., items: collections.abc.Iterable[google.protobuf.any_pb2.Any] | None=...) -> None:
2025
+ ...
2026
+
2027
+ def HasField(self, field_name: typing.Literal['anchor', b'anchor', 'attributes', b'attributes', 'datasheet_field', b'datasheet_field', 'description_field', b'description_field', 'id', b'id', 'overrides', b'overrides', 'reference_field', b'reference_field', 'value_field', b'value_field']) -> builtins.bool:
2028
+ ...
2029
+
2030
+ def ClearField(self, field_name: typing.Literal['anchor', b'anchor', 'attributes', b'attributes', 'datasheet_field', b'datasheet_field', 'description_field', b'description_field', 'id', b'id', 'items', b'items', 'net_ties', b'net_ties', 'overrides', b'overrides', 'private_layers', b'private_layers', 'reference_field', b'reference_field', 'value_field', b'value_field']) -> None:
2031
+ ...
2032
+ global___Footprint = Footprint
2033
+
2034
+ @typing.final
2035
+ class FootprintInstance(google.protobuf.message.Message):
2036
+ """An instance of a footprint on a board"""
2037
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
2038
+ ID_FIELD_NUMBER: builtins.int
2039
+ POSITION_FIELD_NUMBER: builtins.int
2040
+ ORIENTATION_FIELD_NUMBER: builtins.int
2041
+ LAYER_FIELD_NUMBER: builtins.int
2042
+ LOCKED_FIELD_NUMBER: builtins.int
2043
+ DEFINITION_FIELD_NUMBER: builtins.int
2044
+ REFERENCE_FIELD_FIELD_NUMBER: builtins.int
2045
+ VALUE_FIELD_FIELD_NUMBER: builtins.int
2046
+ DATASHEET_FIELD_FIELD_NUMBER: builtins.int
2047
+ DESCRIPTION_FIELD_FIELD_NUMBER: builtins.int
2048
+ ATTRIBUTES_FIELD_NUMBER: builtins.int
2049
+ OVERRIDES_FIELD_NUMBER: builtins.int
2050
+ layer: global___BoardLayer.ValueType
2051
+ locked: common.types.base_types_pb2.LockedState.ValueType
2052
+
2053
+ @property
2054
+ def id(self) -> common.types.base_types_pb2.KIID:
2055
+ ...
2056
+
2057
+ @property
2058
+ def position(self) -> common.types.base_types_pb2.Vector2:
2059
+ ...
2060
+
2061
+ @property
2062
+ def orientation(self) -> common.types.base_types_pb2.Angle:
2063
+ ...
2064
+
2065
+ @property
2066
+ def definition(self) -> global___Footprint:
2067
+ ...
2068
+
2069
+ @property
2070
+ def reference_field(self) -> global___Field:
2071
+ ...
2072
+
2073
+ @property
2074
+ def value_field(self) -> global___Field:
2075
+ ...
2076
+
2077
+ @property
2078
+ def datasheet_field(self) -> global___Field:
2079
+ ...
2080
+
2081
+ @property
2082
+ def description_field(self) -> global___Field:
2083
+ ...
2084
+
2085
+ @property
2086
+ def attributes(self) -> global___FootprintAttributes:
2087
+ ...
2088
+
2089
+ @property
2090
+ def overrides(self) -> global___FootprintDesignRuleOverrides:
2091
+ ...
2092
+
2093
+ def __init__(self, *, id: common.types.base_types_pb2.KIID | None=..., position: common.types.base_types_pb2.Vector2 | None=..., orientation: common.types.base_types_pb2.Angle | None=..., layer: global___BoardLayer.ValueType=..., locked: common.types.base_types_pb2.LockedState.ValueType=..., definition: global___Footprint | None=..., reference_field: global___Field | None=..., value_field: global___Field | None=..., datasheet_field: global___Field | None=..., description_field: global___Field | None=..., attributes: global___FootprintAttributes | None=..., overrides: global___FootprintDesignRuleOverrides | None=...) -> None:
2094
+ ...
2095
+
2096
+ def HasField(self, field_name: typing.Literal['attributes', b'attributes', 'datasheet_field', b'datasheet_field', 'definition', b'definition', 'description_field', b'description_field', 'id', b'id', 'orientation', b'orientation', 'overrides', b'overrides', 'position', b'position', 'reference_field', b'reference_field', 'value_field', b'value_field']) -> builtins.bool:
2097
+ ...
2098
+
2099
+ def ClearField(self, field_name: typing.Literal['attributes', b'attributes', 'datasheet_field', b'datasheet_field', 'definition', b'definition', 'description_field', b'description_field', 'id', b'id', 'layer', b'layer', 'locked', b'locked', 'orientation', b'orientation', 'overrides', b'overrides', 'position', b'position', 'reference_field', b'reference_field', 'value_field', b'value_field']) -> None:
2100
+ ...
2101
+ global___FootprintInstance = FootprintInstance