@invisra/printspec 0.1.0

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.
@@ -0,0 +1,548 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schemas.invisra.ai/printspec/0.1.0/common.schema.json",
4
+ "$defs": {
5
+ "Dimension": {
6
+ "type": "number",
7
+ "exclusiveMinimum": 0,
8
+ "maximum": 10000,
9
+ "title": "Dimension",
10
+ "description": " dimension parameter."
11
+ },
12
+ "Point2D": {
13
+ "type": "object",
14
+ "required": [
15
+ "x",
16
+ "y"
17
+ ],
18
+ "properties": {
19
+ "x": {
20
+ "type": "number",
21
+ "title": "X",
22
+ "description": "X parameter."
23
+ },
24
+ "y": {
25
+ "type": "number",
26
+ "title": "Y",
27
+ "description": "Y parameter."
28
+ }
29
+ },
30
+ "additionalProperties": false,
31
+ "title": "Point2D",
32
+ "description": " point2 d parameter."
33
+ },
34
+ "Point3D": {
35
+ "type": "object",
36
+ "required": [
37
+ "x",
38
+ "y",
39
+ "z"
40
+ ],
41
+ "properties": {
42
+ "x": {
43
+ "type": "number",
44
+ "title": "X",
45
+ "description": "X parameter."
46
+ },
47
+ "y": {
48
+ "type": "number",
49
+ "title": "Y",
50
+ "description": "Y parameter."
51
+ },
52
+ "z": {
53
+ "type": "number",
54
+ "title": "Z",
55
+ "description": "Z parameter."
56
+ }
57
+ },
58
+ "additionalProperties": false,
59
+ "title": "Point3D",
60
+ "description": " point3 d parameter."
61
+ },
62
+ "Countersink": {
63
+ "type": "object",
64
+ "required": [
65
+ "diameter",
66
+ "angle"
67
+ ],
68
+ "properties": {
69
+ "diameter": {
70
+ "type": "number",
71
+ "exclusiveMinimum": 0,
72
+ "maximum": 10000,
73
+ "title": "Diameter",
74
+ "description": "Diameter in millimeters."
75
+ },
76
+ "angle": {
77
+ "type": "number",
78
+ "minimum": 1,
79
+ "maximum": 179,
80
+ "title": "Angle",
81
+ "description": "Angle parameter."
82
+ }
83
+ },
84
+ "additionalProperties": false,
85
+ "title": "Countersink",
86
+ "description": " countersink for the part."
87
+ },
88
+ "Counterbore": {
89
+ "type": "object",
90
+ "required": [
91
+ "diameter",
92
+ "depth"
93
+ ],
94
+ "properties": {
95
+ "diameter": {
96
+ "type": "number",
97
+ "exclusiveMinimum": 0,
98
+ "maximum": 10000,
99
+ "title": "Diameter",
100
+ "description": "Diameter in millimeters."
101
+ },
102
+ "depth": {
103
+ "type": "number",
104
+ "exclusiveMinimum": 0,
105
+ "maximum": 10000,
106
+ "title": "Depth",
107
+ "description": "Depth in millimeters."
108
+ }
109
+ },
110
+ "additionalProperties": false,
111
+ "title": "Counterbore",
112
+ "description": " counterbore for the part."
113
+ },
114
+ "Hole": {
115
+ "type": "object",
116
+ "required": [
117
+ "x",
118
+ "y",
119
+ "diameter",
120
+ "depth"
121
+ ],
122
+ "properties": {
123
+ "id": {
124
+ "type": "string",
125
+ "title": "Id",
126
+ "description": "Id parameter."
127
+ },
128
+ "x": {
129
+ "type": "number",
130
+ "title": "X",
131
+ "description": "X parameter."
132
+ },
133
+ "y": {
134
+ "type": "number",
135
+ "title": "Y",
136
+ "description": "Y parameter."
137
+ },
138
+ "diameter": {
139
+ "type": "number",
140
+ "exclusiveMinimum": 0,
141
+ "maximum": 10000,
142
+ "title": "Diameter",
143
+ "description": "Diameter in millimeters."
144
+ },
145
+ "depth": {
146
+ "oneOf": [
147
+ {
148
+ "const": "through"
149
+ },
150
+ {
151
+ "type": "number",
152
+ "exclusiveMinimum": 0,
153
+ "maximum": 10000,
154
+ "title": "OneOf",
155
+ "description": "One of parameter."
156
+ }
157
+ ]
158
+ },
159
+ "axis": {
160
+ "enum": [
161
+ "x",
162
+ "y",
163
+ "z"
164
+ ],
165
+ "default": "z",
166
+ "title": "Axis",
167
+ "description": "Axis parameter.",
168
+ "examples": [
169
+ "z"
170
+ ],
171
+ "x-printspec-enumLabels": {
172
+ "x": "X axis",
173
+ "y": "Y axis",
174
+ "z": "Z axis"
175
+ }
176
+ },
177
+ "countersink": {
178
+ "$ref": "#/$defs/Countersink",
179
+ "title": "Countersink",
180
+ "description": "Countersink for the part."
181
+ },
182
+ "counterbore": {
183
+ "$ref": "#/$defs/Counterbore",
184
+ "title": "Counterbore",
185
+ "description": "Counterbore for the part."
186
+ }
187
+ },
188
+ "additionalProperties": false,
189
+ "title": "Hole",
190
+ "description": " hole parameter."
191
+ },
192
+ "Slot": {
193
+ "type": "object",
194
+ "required": [
195
+ "x",
196
+ "y",
197
+ "length",
198
+ "width",
199
+ "depth",
200
+ "axis"
201
+ ],
202
+ "properties": {
203
+ "id": {
204
+ "type": "string",
205
+ "title": "Id",
206
+ "description": "Id parameter."
207
+ },
208
+ "x": {
209
+ "type": "number",
210
+ "title": "X",
211
+ "description": "X parameter."
212
+ },
213
+ "y": {
214
+ "type": "number",
215
+ "title": "Y",
216
+ "description": "Y parameter."
217
+ },
218
+ "length": {
219
+ "type": "number",
220
+ "exclusiveMinimum": 0,
221
+ "maximum": 10000,
222
+ "title": "Length",
223
+ "description": "Length in millimeters."
224
+ },
225
+ "width": {
226
+ "type": "number",
227
+ "exclusiveMinimum": 0,
228
+ "maximum": 10000,
229
+ "title": "Width",
230
+ "description": "Width in millimeters."
231
+ },
232
+ "depth": {
233
+ "oneOf": [
234
+ {
235
+ "const": "through"
236
+ },
237
+ {
238
+ "type": "number",
239
+ "exclusiveMinimum": 0,
240
+ "maximum": 10000,
241
+ "title": "OneOf",
242
+ "description": "One of parameter."
243
+ }
244
+ ]
245
+ },
246
+ "axis": {
247
+ "enum": [
248
+ "x",
249
+ "y",
250
+ "z"
251
+ ],
252
+ "title": "Axis",
253
+ "description": "Axis parameter.",
254
+ "default": "z",
255
+ "examples": [
256
+ "z"
257
+ ],
258
+ "x-printspec-enumLabels": {
259
+ "x": "X axis",
260
+ "y": "Y axis",
261
+ "z": "Z axis"
262
+ }
263
+ }
264
+ },
265
+ "additionalProperties": false,
266
+ "title": "Slot",
267
+ "description": " slot parameter."
268
+ },
269
+ "Fillet": {
270
+ "type": "object",
271
+ "required": [
272
+ "radius"
273
+ ],
274
+ "properties": {
275
+ "radius": {
276
+ "type": "number",
277
+ "exclusiveMinimum": 0,
278
+ "maximum": 10000,
279
+ "title": "Radius",
280
+ "description": "Radius in millimeters."
281
+ },
282
+ "target": {
283
+ "type": "string",
284
+ "title": "Target",
285
+ "description": "Target parameter."
286
+ }
287
+ },
288
+ "additionalProperties": false,
289
+ "title": "Fillet",
290
+ "description": " fillet parameter."
291
+ },
292
+ "Chamfer": {
293
+ "type": "object",
294
+ "required": [
295
+ "distance"
296
+ ],
297
+ "properties": {
298
+ "distance": {
299
+ "type": "number",
300
+ "exclusiveMinimum": 0,
301
+ "maximum": 10000,
302
+ "title": "Distance",
303
+ "description": "Distance parameter."
304
+ },
305
+ "target": {
306
+ "type": "string",
307
+ "title": "Target",
308
+ "description": "Target parameter."
309
+ }
310
+ },
311
+ "additionalProperties": false,
312
+ "title": "Chamfer",
313
+ "description": " chamfer parameter."
314
+ },
315
+ "Pattern": {
316
+ "oneOf": [
317
+ {
318
+ "type": "object",
319
+ "required": [
320
+ "type",
321
+ "countX",
322
+ "countY",
323
+ "spacingX",
324
+ "spacingY"
325
+ ],
326
+ "properties": {
327
+ "type": {
328
+ "const": "rectangular"
329
+ },
330
+ "countX": {
331
+ "type": "integer",
332
+ "minimum": 1,
333
+ "maximum": 100,
334
+ "title": "CountX",
335
+ "description": "Count x for the part."
336
+ },
337
+ "countY": {
338
+ "type": "integer",
339
+ "minimum": 1,
340
+ "maximum": 100,
341
+ "title": "CountY",
342
+ "description": "Count y for the part."
343
+ },
344
+ "spacingX": {
345
+ "type": "number",
346
+ "exclusiveMinimum": 0,
347
+ "maximum": 10000,
348
+ "title": "SpacingX",
349
+ "description": "Spacing x in millimeters."
350
+ },
351
+ "spacingY": {
352
+ "type": "number",
353
+ "exclusiveMinimum": 0,
354
+ "maximum": 10000,
355
+ "title": "SpacingY",
356
+ "description": "Spacing y in millimeters."
357
+ }
358
+ },
359
+ "additionalProperties": false,
360
+ "title": "OneOf",
361
+ "description": "One of parameter."
362
+ },
363
+ {
364
+ "type": "object",
365
+ "required": [
366
+ "type",
367
+ "count",
368
+ "spacing"
369
+ ],
370
+ "properties": {
371
+ "type": {
372
+ "const": "linear"
373
+ },
374
+ "count": {
375
+ "type": "integer",
376
+ "minimum": 1,
377
+ "maximum": 100,
378
+ "title": "Count",
379
+ "description": "Count for the part."
380
+ },
381
+ "spacing": {
382
+ "type": "number",
383
+ "exclusiveMinimum": 0,
384
+ "maximum": 10000,
385
+ "title": "Spacing",
386
+ "description": "Spacing in millimeters."
387
+ },
388
+ "axis": {
389
+ "enum": [
390
+ "x",
391
+ "y",
392
+ "z"
393
+ ],
394
+ "title": "Axis",
395
+ "description": "Axis parameter.",
396
+ "default": "z",
397
+ "examples": [
398
+ "z"
399
+ ],
400
+ "x-printspec-enumLabels": {
401
+ "x": "X axis",
402
+ "y": "Y axis",
403
+ "z": "Z axis"
404
+ }
405
+ }
406
+ },
407
+ "additionalProperties": false,
408
+ "title": "OneOf",
409
+ "description": "One of parameter."
410
+ },
411
+ {
412
+ "type": "object",
413
+ "required": [
414
+ "type",
415
+ "count",
416
+ "radius"
417
+ ],
418
+ "properties": {
419
+ "type": {
420
+ "const": "radial"
421
+ },
422
+ "count": {
423
+ "type": "integer",
424
+ "minimum": 1,
425
+ "maximum": 100,
426
+ "title": "Count",
427
+ "description": "Count for the part."
428
+ },
429
+ "radius": {
430
+ "type": "number",
431
+ "exclusiveMinimum": 0,
432
+ "maximum": 10000,
433
+ "title": "Radius",
434
+ "description": "Radius in millimeters."
435
+ },
436
+ "startAngle": {
437
+ "type": "number",
438
+ "title": "StartAngle",
439
+ "description": "Start angle parameter."
440
+ },
441
+ "sweepAngle": {
442
+ "type": "number",
443
+ "title": "SweepAngle",
444
+ "description": "Sweep angle parameter."
445
+ }
446
+ },
447
+ "additionalProperties": false,
448
+ "title": "OneOf",
449
+ "description": "One of parameter."
450
+ }
451
+ ]
452
+ },
453
+ "SupplierReference": {
454
+ "type": "object",
455
+ "required": [
456
+ "supplier",
457
+ "partNumber"
458
+ ],
459
+ "properties": {
460
+ "supplier": {
461
+ "type": "string",
462
+ "minLength": 1,
463
+ "title": "Supplier",
464
+ "description": "Supplier parameter."
465
+ },
466
+ "partNumber": {
467
+ "type": "string",
468
+ "minLength": 1,
469
+ "title": "PartNumber",
470
+ "description": "Part number parameter."
471
+ },
472
+ "url": {
473
+ "type": "string",
474
+ "format": "uri",
475
+ "title": "Url",
476
+ "description": "Url parameter."
477
+ },
478
+ "description": {
479
+ "type": "string",
480
+ "title": "Description",
481
+ "description": "Description parameter."
482
+ }
483
+ },
484
+ "additionalProperties": false,
485
+ "title": "SupplierReference",
486
+ "description": " supplier reference parameter."
487
+ },
488
+ "HardwareItem": {
489
+ "type": "object",
490
+ "required": [
491
+ "id",
492
+ "kind",
493
+ "quantity"
494
+ ],
495
+ "properties": {
496
+ "id": {
497
+ "type": "string",
498
+ "minLength": 1,
499
+ "title": "Id",
500
+ "description": "Id parameter."
501
+ },
502
+ "kind": {
503
+ "type": "string",
504
+ "minLength": 1,
505
+ "title": "Kind",
506
+ "description": "Kind parameter."
507
+ },
508
+ "standard": {
509
+ "type": "string",
510
+ "title": "Standard",
511
+ "description": "Standard parameter."
512
+ },
513
+ "size": {
514
+ "type": "string",
515
+ "title": "Size",
516
+ "description": "Size parameter."
517
+ },
518
+ "quantity": {
519
+ "type": "integer",
520
+ "minimum": 1,
521
+ "maximum": 10000,
522
+ "title": "Quantity",
523
+ "description": "Quantity parameter."
524
+ },
525
+ "role": {
526
+ "type": "string",
527
+ "title": "Role",
528
+ "description": "Role parameter."
529
+ },
530
+ "supplierReferences": {
531
+ "type": "array",
532
+ "items": {
533
+ "$ref": "#/$defs/SupplierReference",
534
+ "title": "Items",
535
+ "description": "Items parameter."
536
+ },
537
+ "title": "SupplierReferences",
538
+ "description": "Supplier references parameter."
539
+ }
540
+ },
541
+ "additionalProperties": false,
542
+ "title": "HardwareItem",
543
+ "description": " hardware item parameter."
544
+ }
545
+ },
546
+ "title": "Common Printspec Definitions",
547
+ "description": "Reusable JSON Schema definitions shared by printspec schemas."
548
+ }