@tscircuit/footprinter 0.0.323 → 0.0.325
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +263 -15
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -316,12 +316,27 @@ var dip = (raw_params) => {
|
|
|
316
316
|
});
|
|
317
317
|
}
|
|
318
318
|
const silkscreenRefText = silkscreenRef(0, sh / 2 + 0.5, 0.4);
|
|
319
|
+
const courtyardPadding = 0.25;
|
|
320
|
+
const crtMinX = -(parameters.w / 2 + parameters.od / 2) - courtyardPadding;
|
|
321
|
+
const crtMaxX = parameters.w / 2 + parameters.od / 2 + courtyardPadding;
|
|
322
|
+
const crtMinY = -sh / 2 - courtyardPadding;
|
|
323
|
+
const crtMaxY = sh / 2 + courtyardPadding;
|
|
324
|
+
const courtyard = {
|
|
325
|
+
type: "pcb_courtyard_rect",
|
|
326
|
+
pcb_courtyard_rect_id: "",
|
|
327
|
+
pcb_component_id: "",
|
|
328
|
+
center: { x: (crtMinX + crtMaxX) / 2, y: (crtMinY + crtMaxY) / 2 },
|
|
329
|
+
width: crtMaxX - crtMinX,
|
|
330
|
+
height: crtMaxY - crtMinY,
|
|
331
|
+
layer: "top"
|
|
332
|
+
};
|
|
319
333
|
return {
|
|
320
334
|
circuitJson: [
|
|
321
335
|
...platedHoles,
|
|
322
336
|
silkscreenBorder,
|
|
323
337
|
silkscreenRefText,
|
|
324
|
-
...silkscreenPins
|
|
338
|
+
...silkscreenPins,
|
|
339
|
+
courtyard
|
|
325
340
|
],
|
|
326
341
|
parameters
|
|
327
342
|
};
|
|
@@ -1217,7 +1232,29 @@ var soicWithoutParsing = (parameters) => {
|
|
|
1217
1232
|
{ x: -sw / 2, y: -sh / 2 }
|
|
1218
1233
|
]
|
|
1219
1234
|
};
|
|
1220
|
-
|
|
1235
|
+
const courtyardPadding = 0.25;
|
|
1236
|
+
const silkXs = silkscreenBorder.route.map((pt) => pt.x);
|
|
1237
|
+
const silkYs = silkscreenBorder.route.map((pt) => pt.y);
|
|
1238
|
+
const padXExtent = parameters.legsoutside ? parameters.w / 2 + parameters.pl : parameters.w / 2;
|
|
1239
|
+
const crtMinX = Math.min(-padXExtent, ...silkXs) - courtyardPadding;
|
|
1240
|
+
const crtMaxX = Math.max(padXExtent, ...silkXs) + courtyardPadding;
|
|
1241
|
+
const crtMinY = Math.min(...silkYs) - courtyardPadding;
|
|
1242
|
+
const crtMaxY = Math.max(...silkYs) + courtyardPadding;
|
|
1243
|
+
const courtyard = {
|
|
1244
|
+
type: "pcb_courtyard_rect",
|
|
1245
|
+
pcb_courtyard_rect_id: "",
|
|
1246
|
+
pcb_component_id: "",
|
|
1247
|
+
center: { x: (crtMinX + crtMaxX) / 2, y: (crtMinY + crtMaxY) / 2 },
|
|
1248
|
+
width: crtMaxX - crtMinX,
|
|
1249
|
+
height: crtMaxY - crtMinY,
|
|
1250
|
+
layer: "top"
|
|
1251
|
+
};
|
|
1252
|
+
return [
|
|
1253
|
+
...pads,
|
|
1254
|
+
silkscreenBorder,
|
|
1255
|
+
silkscreenRefText,
|
|
1256
|
+
courtyard
|
|
1257
|
+
];
|
|
1221
1258
|
};
|
|
1222
1259
|
|
|
1223
1260
|
// src/fn/quad.ts
|
|
@@ -1542,11 +1579,28 @@ var quad = (raw_params) => {
|
|
|
1542
1579
|
parameters.h / 2 + (parameters.legsoutside ? parameters.pl * 1.2 : 0.5),
|
|
1543
1580
|
0.3
|
|
1544
1581
|
);
|
|
1582
|
+
const courtyardPadding = 0.25;
|
|
1583
|
+
const padExtentX = parameters.legsoutside ? parameters.w / 2 + parameters.pl : parameters.w / 2;
|
|
1584
|
+
const padExtentY = parameters.legsoutside ? parameters.h / 2 + parameters.pl : parameters.h / 2;
|
|
1585
|
+
const crtMinX = -padExtentX - courtyardPadding;
|
|
1586
|
+
const crtMaxX = padExtentX + courtyardPadding;
|
|
1587
|
+
const crtMinY = -padExtentY - courtyardPadding;
|
|
1588
|
+
const crtMaxY = padExtentY + courtyardPadding;
|
|
1589
|
+
const courtyard = {
|
|
1590
|
+
type: "pcb_courtyard_rect",
|
|
1591
|
+
pcb_courtyard_rect_id: "",
|
|
1592
|
+
pcb_component_id: "",
|
|
1593
|
+
center: { x: (crtMinX + crtMaxX) / 2, y: (crtMinY + crtMaxY) / 2 },
|
|
1594
|
+
width: crtMaxX - crtMinX,
|
|
1595
|
+
height: crtMaxY - crtMinY,
|
|
1596
|
+
layer: "top"
|
|
1597
|
+
};
|
|
1545
1598
|
return {
|
|
1546
1599
|
circuitJson: [
|
|
1547
1600
|
...pads,
|
|
1548
1601
|
...silkscreen_corners,
|
|
1549
|
-
silkscreenRefText
|
|
1602
|
+
silkscreenRefText,
|
|
1603
|
+
courtyard
|
|
1550
1604
|
],
|
|
1551
1605
|
parameters
|
|
1552
1606
|
};
|
|
@@ -1764,8 +1818,25 @@ var ssop = (raw_params) => {
|
|
|
1764
1818
|
{ x: -sw / 2, y: -sh / 2 }
|
|
1765
1819
|
]
|
|
1766
1820
|
};
|
|
1821
|
+
const courtyardPadding = 0.25;
|
|
1822
|
+
const silkXs = silkscreenBorder.route.map((pt) => pt.x);
|
|
1823
|
+
const silkYs = silkscreenBorder.route.map((pt) => pt.y);
|
|
1824
|
+
const padXExtent = parameters.legsoutside ? parameters.w / 2 + parameters.pl : (parameters.w + 0.2) / 2 + parameters.pl / 2;
|
|
1825
|
+
const crtMinX = Math.min(-padXExtent, ...silkXs) - courtyardPadding;
|
|
1826
|
+
const crtMaxX = Math.max(padXExtent, ...silkXs) + courtyardPadding;
|
|
1827
|
+
const crtMinY = Math.min(...silkYs) - courtyardPadding;
|
|
1828
|
+
const crtMaxY = Math.max(...silkYs) + courtyardPadding;
|
|
1829
|
+
const courtyard = {
|
|
1830
|
+
type: "pcb_courtyard_rect",
|
|
1831
|
+
pcb_courtyard_rect_id: "",
|
|
1832
|
+
pcb_component_id: "",
|
|
1833
|
+
center: { x: (crtMinX + crtMaxX) / 2, y: (crtMinY + crtMaxY) / 2 },
|
|
1834
|
+
width: crtMaxX - crtMinX,
|
|
1835
|
+
height: crtMaxY - crtMinY,
|
|
1836
|
+
layer: "top"
|
|
1837
|
+
};
|
|
1767
1838
|
return {
|
|
1768
|
-
circuitJson: [...pads, silkscreenBorder, silkscreenRefText],
|
|
1839
|
+
circuitJson: [...pads, silkscreenBorder, silkscreenRefText, courtyard],
|
|
1769
1840
|
parameters
|
|
1770
1841
|
};
|
|
1771
1842
|
};
|
|
@@ -1840,8 +1911,25 @@ var tssop = (raw_params) => {
|
|
|
1840
1911
|
{ x: -sw / 2, y: -sh / 2 }
|
|
1841
1912
|
]
|
|
1842
1913
|
};
|
|
1914
|
+
const courtyardPadding = 0.25;
|
|
1915
|
+
const silkXs = silkscreenBorder.route.map((pt) => pt.x);
|
|
1916
|
+
const silkYs = silkscreenBorder.route.map((pt) => pt.y);
|
|
1917
|
+
const padXExtent = parameters.legsoutside ? parameters.w / 2 + parameters.pl : parameters.w / 2;
|
|
1918
|
+
const crtMinX = Math.min(-padXExtent, ...silkXs) - courtyardPadding;
|
|
1919
|
+
const crtMaxX = Math.max(padXExtent, ...silkXs) + courtyardPadding;
|
|
1920
|
+
const crtMinY = Math.min(...silkYs) - courtyardPadding;
|
|
1921
|
+
const crtMaxY = Math.max(...silkYs) + courtyardPadding;
|
|
1922
|
+
const courtyard = {
|
|
1923
|
+
type: "pcb_courtyard_rect",
|
|
1924
|
+
pcb_courtyard_rect_id: "",
|
|
1925
|
+
pcb_component_id: "",
|
|
1926
|
+
center: { x: (crtMinX + crtMaxX) / 2, y: (crtMinY + crtMaxY) / 2 },
|
|
1927
|
+
width: crtMaxX - crtMinX,
|
|
1928
|
+
height: crtMaxY - crtMinY,
|
|
1929
|
+
layer: "top"
|
|
1930
|
+
};
|
|
1843
1931
|
return {
|
|
1844
|
-
circuitJson: [...pads, silkscreenBorder, silkscreenRefText],
|
|
1932
|
+
circuitJson: [...pads, silkscreenBorder, silkscreenRefText, courtyard],
|
|
1845
1933
|
parameters
|
|
1846
1934
|
};
|
|
1847
1935
|
};
|
|
@@ -1908,13 +1996,28 @@ var sot363 = (raw_params) => {
|
|
|
1908
1996
|
pcb_silkscreen_path_id: "pin_marker_1"
|
|
1909
1997
|
};
|
|
1910
1998
|
const silkscreenRefText = silkscreenRef(0, h / 2 + 0.4, 0.25);
|
|
1999
|
+
const courtyardPadding = 0.25;
|
|
2000
|
+
const crtMinX = -(0.84 + pl / 2) - courtyardPadding;
|
|
2001
|
+
const crtMaxX = 0.84 + pl / 2 + courtyardPadding;
|
|
2002
|
+
const crtMinY = -(h / 2 + 0.1) - courtyardPadding;
|
|
2003
|
+
const crtMaxY = h / 2 + 0.1 + courtyardPadding;
|
|
2004
|
+
const courtyard = {
|
|
2005
|
+
type: "pcb_courtyard_rect",
|
|
2006
|
+
pcb_courtyard_rect_id: "",
|
|
2007
|
+
pcb_component_id: "",
|
|
2008
|
+
center: { x: (crtMinX + crtMaxX) / 2, y: (crtMinY + crtMaxY) / 2 },
|
|
2009
|
+
width: crtMaxX - crtMinX,
|
|
2010
|
+
height: crtMaxY - crtMinY,
|
|
2011
|
+
layer: "top"
|
|
2012
|
+
};
|
|
1911
2013
|
return {
|
|
1912
2014
|
circuitJson: [
|
|
1913
2015
|
...pads,
|
|
1914
2016
|
silkscreenTopLine,
|
|
1915
2017
|
silkscreenBottomLine,
|
|
1916
2018
|
silkscreenRefText,
|
|
1917
|
-
pin1Marking
|
|
2019
|
+
pin1Marking,
|
|
2020
|
+
courtyard
|
|
1918
2021
|
],
|
|
1919
2022
|
parameters
|
|
1920
2023
|
};
|
|
@@ -1989,13 +2092,28 @@ var sot886 = (raw_params) => {
|
|
|
1989
2092
|
pcb_silkscreen_path_id: "pin_marker_1"
|
|
1990
2093
|
};
|
|
1991
2094
|
const silkscreenRefText = silkscreenRef(0, h / 2 + 0.4, 0.25);
|
|
2095
|
+
const courtyardPadding = 0.25;
|
|
2096
|
+
const crtMinX = -w / 2 - courtyardPadding;
|
|
2097
|
+
const crtMaxX = w / 2 + courtyardPadding;
|
|
2098
|
+
const crtMinY = -h / 2 - courtyardPadding;
|
|
2099
|
+
const crtMaxY = h / 2 + courtyardPadding;
|
|
2100
|
+
const courtyard = {
|
|
2101
|
+
type: "pcb_courtyard_rect",
|
|
2102
|
+
pcb_courtyard_rect_id: "",
|
|
2103
|
+
pcb_component_id: "",
|
|
2104
|
+
center: { x: (crtMinX + crtMaxX) / 2, y: (crtMinY + crtMaxY) / 2 },
|
|
2105
|
+
width: crtMaxX - crtMinX,
|
|
2106
|
+
height: crtMaxY - crtMinY,
|
|
2107
|
+
layer: "top"
|
|
2108
|
+
};
|
|
1992
2109
|
return {
|
|
1993
2110
|
circuitJson: [
|
|
1994
2111
|
...pads,
|
|
1995
2112
|
silkscreenTopLine,
|
|
1996
2113
|
silkscreenBottomLine,
|
|
1997
2114
|
silkscreenRefText,
|
|
1998
|
-
pin1Marking
|
|
2115
|
+
pin1Marking,
|
|
2116
|
+
courtyard
|
|
1999
2117
|
],
|
|
2000
2118
|
parameters
|
|
2001
2119
|
};
|
|
@@ -2092,7 +2210,24 @@ var sot23_3 = (parameters) => {
|
|
|
2092
2210
|
Number.parseInt(parameters.h),
|
|
2093
2211
|
0.3
|
|
2094
2212
|
);
|
|
2095
|
-
|
|
2213
|
+
const courtyardPadding = 0.25;
|
|
2214
|
+
const pl_val = Number.parseFloat(parameters.pl);
|
|
2215
|
+
const pw_val = Number.parseFloat(parameters.pw);
|
|
2216
|
+
const p_val = Number.parseFloat(parameters.p);
|
|
2217
|
+
const crtMinX = -1.155 - pl_val / 2 - courtyardPadding;
|
|
2218
|
+
const crtMaxX = 1.15 + pl_val / 2 + courtyardPadding;
|
|
2219
|
+
const crtMinY = -(p_val + pw_val / 2) - courtyardPadding;
|
|
2220
|
+
const crtMaxY = p_val + pw_val / 2 + courtyardPadding;
|
|
2221
|
+
const courtyard = {
|
|
2222
|
+
type: "pcb_courtyard_rect",
|
|
2223
|
+
pcb_courtyard_rect_id: "",
|
|
2224
|
+
pcb_component_id: "",
|
|
2225
|
+
center: { x: (crtMinX + crtMaxX) / 2, y: (crtMinY + crtMaxY) / 2 },
|
|
2226
|
+
width: crtMaxX - crtMinX,
|
|
2227
|
+
height: crtMaxY - crtMinY,
|
|
2228
|
+
layer: "top"
|
|
2229
|
+
};
|
|
2230
|
+
return [...pads, silkscreenRefText, courtyard];
|
|
2096
2231
|
};
|
|
2097
2232
|
var getCcwSot235Coords = (parameters) => {
|
|
2098
2233
|
const { p, h, pn } = parameters;
|
|
@@ -2193,12 +2328,32 @@ var sot23_5 = (parameters) => {
|
|
|
2193
2328
|
],
|
|
2194
2329
|
stroke_width: 0.05
|
|
2195
2330
|
};
|
|
2331
|
+
const courtyardPadding = 0.25;
|
|
2332
|
+
const pl_val = Number.parseFloat(parameters.pl);
|
|
2333
|
+
const pw_val = Number.parseFloat(parameters.pw);
|
|
2334
|
+
const p_val = Number.parseFloat(parameters.p);
|
|
2335
|
+
const silkY = height / 2 + p_val / 1.3;
|
|
2336
|
+
const padYExtent = p_val + pw_val / 2;
|
|
2337
|
+
const crtMinX = -(height / 2 + 0.5 + pl_val / 2) - courtyardPadding;
|
|
2338
|
+
const crtMaxX = height / 2 + 0.5 + pl_val / 2 + courtyardPadding;
|
|
2339
|
+
const crtMinY = -Math.max(silkY, padYExtent) - courtyardPadding;
|
|
2340
|
+
const crtMaxY = Math.max(silkY, padYExtent) + courtyardPadding;
|
|
2341
|
+
const courtyard = {
|
|
2342
|
+
type: "pcb_courtyard_rect",
|
|
2343
|
+
pcb_courtyard_rect_id: "",
|
|
2344
|
+
pcb_component_id: "",
|
|
2345
|
+
center: { x: (crtMinX + crtMaxX) / 2, y: (crtMinY + crtMaxY) / 2 },
|
|
2346
|
+
width: crtMaxX - crtMinX,
|
|
2347
|
+
height: crtMaxY - crtMinY,
|
|
2348
|
+
layer: "top"
|
|
2349
|
+
};
|
|
2196
2350
|
return [
|
|
2197
2351
|
...pads,
|
|
2198
2352
|
silkscreenRefText,
|
|
2199
2353
|
silkscreenPath1,
|
|
2200
2354
|
silkscreenPath2,
|
|
2201
|
-
pin1Indicator
|
|
2355
|
+
pin1Indicator,
|
|
2356
|
+
courtyard
|
|
2202
2357
|
];
|
|
2203
2358
|
};
|
|
2204
2359
|
|
|
@@ -2297,11 +2452,26 @@ var dfn = (raw_params) => {
|
|
|
2297
2452
|
sh / 2 + 0.4,
|
|
2298
2453
|
sh / 12
|
|
2299
2454
|
);
|
|
2455
|
+
const courtyardPadding = 0.25;
|
|
2456
|
+
const crtMinX = -sw / 2 - courtyardPadding;
|
|
2457
|
+
const crtMaxX = sw / 2 + courtyardPadding;
|
|
2458
|
+
const crtMinY = -sh / 2 - courtyardPadding;
|
|
2459
|
+
const crtMaxY = sh / 2 + courtyardPadding;
|
|
2460
|
+
const courtyard = {
|
|
2461
|
+
type: "pcb_courtyard_rect",
|
|
2462
|
+
pcb_courtyard_rect_id: "",
|
|
2463
|
+
pcb_component_id: "",
|
|
2464
|
+
center: { x: (crtMinX + crtMaxX) / 2, y: (crtMinY + crtMaxY) / 2 },
|
|
2465
|
+
width: crtMaxX - crtMinX,
|
|
2466
|
+
height: crtMaxY - crtMinY,
|
|
2467
|
+
layer: "top"
|
|
2468
|
+
};
|
|
2300
2469
|
return {
|
|
2301
2470
|
circuitJson: [
|
|
2302
2471
|
...pads,
|
|
2303
2472
|
silkscreenRefText,
|
|
2304
|
-
...silkscreenPaths
|
|
2473
|
+
...silkscreenPaths,
|
|
2474
|
+
courtyard
|
|
2305
2475
|
],
|
|
2306
2476
|
parameters
|
|
2307
2477
|
};
|
|
@@ -2732,13 +2902,28 @@ var sot563 = (raw_params) => {
|
|
|
2732
2902
|
pcb_silkscreen_path_id: "pin_marker_1"
|
|
2733
2903
|
};
|
|
2734
2904
|
const silkscreenRefText = silkscreenRef(0, h / 2 + 0.4, 0.25);
|
|
2905
|
+
const courtyardPadding = 0.25;
|
|
2906
|
+
const crtMinX = -w / 2 - courtyardPadding;
|
|
2907
|
+
const crtMaxX = w / 2 + courtyardPadding;
|
|
2908
|
+
const crtMinY = -h / 2 - courtyardPadding;
|
|
2909
|
+
const crtMaxY = h / 2 + courtyardPadding;
|
|
2910
|
+
const courtyard = {
|
|
2911
|
+
type: "pcb_courtyard_rect",
|
|
2912
|
+
pcb_courtyard_rect_id: "",
|
|
2913
|
+
pcb_component_id: "",
|
|
2914
|
+
center: { x: (crtMinX + crtMaxX) / 2, y: (crtMinY + crtMaxY) / 2 },
|
|
2915
|
+
width: crtMaxX - crtMinX,
|
|
2916
|
+
height: crtMaxY - crtMinY,
|
|
2917
|
+
layer: "top"
|
|
2918
|
+
};
|
|
2735
2919
|
return {
|
|
2736
2920
|
circuitJson: [
|
|
2737
2921
|
...pads,
|
|
2738
2922
|
silkscreenTopLine,
|
|
2739
2923
|
silkscreenBottomLine,
|
|
2740
2924
|
silkscreenRefText,
|
|
2741
|
-
pin1Marking
|
|
2925
|
+
pin1Marking,
|
|
2926
|
+
courtyard
|
|
2742
2927
|
],
|
|
2743
2928
|
parameters
|
|
2744
2929
|
};
|
|
@@ -4422,11 +4607,26 @@ var sop8 = (raw_params) => {
|
|
|
4422
4607
|
],
|
|
4423
4608
|
stroke_width: 0.1
|
|
4424
4609
|
};
|
|
4610
|
+
const courtyardPadding = 0.25;
|
|
4611
|
+
const crtMinX = -parameters.w / 2 - courtyardPadding;
|
|
4612
|
+
const crtMaxX = parameters.w / 2 + courtyardPadding;
|
|
4613
|
+
const crtMinY = -sh / 2 - courtyardPadding;
|
|
4614
|
+
const crtMaxY = sh / 2 + 0.4 + courtyardPadding;
|
|
4615
|
+
const courtyard = {
|
|
4616
|
+
type: "pcb_courtyard_rect",
|
|
4617
|
+
pcb_courtyard_rect_id: "",
|
|
4618
|
+
pcb_component_id: "",
|
|
4619
|
+
center: { x: (crtMinX + crtMaxX) / 2, y: (crtMinY + crtMaxY) / 2 },
|
|
4620
|
+
width: crtMaxX - crtMinX,
|
|
4621
|
+
height: crtMaxY - crtMinY,
|
|
4622
|
+
layer: "top"
|
|
4623
|
+
};
|
|
4425
4624
|
return {
|
|
4426
4625
|
circuitJson: [
|
|
4427
4626
|
...pads,
|
|
4428
4627
|
silkscreenRefText,
|
|
4429
|
-
silkscreenLine
|
|
4628
|
+
silkscreenLine,
|
|
4629
|
+
courtyard
|
|
4430
4630
|
],
|
|
4431
4631
|
parameters
|
|
4432
4632
|
};
|
|
@@ -6959,13 +7159,29 @@ var vssop = (raw_params) => {
|
|
|
6959
7159
|
silkscreenBoxHeight / 2 + 0.5,
|
|
6960
7160
|
0.3
|
|
6961
7161
|
);
|
|
7162
|
+
const courtyardPadding = 0.25;
|
|
7163
|
+
const padCenterX = parameters.num_pins === 10 ? length50.parse("2.2mm") : length50.parse("1.8mm");
|
|
7164
|
+
const crtMinX = -(padCenterX + pl / 2) - courtyardPadding;
|
|
7165
|
+
const crtMaxX = padCenterX + pl / 2 + courtyardPadding;
|
|
7166
|
+
const crtMinY = -silkscreenBoxHeight / 2 - courtyardPadding;
|
|
7167
|
+
const crtMaxY = silkscreenBoxHeight / 2 + courtyardPadding;
|
|
7168
|
+
const courtyard = {
|
|
7169
|
+
type: "pcb_courtyard_rect",
|
|
7170
|
+
pcb_courtyard_rect_id: "",
|
|
7171
|
+
pcb_component_id: "",
|
|
7172
|
+
center: { x: (crtMinX + crtMaxX) / 2, y: (crtMinY + crtMaxY) / 2 },
|
|
7173
|
+
width: crtMaxX - crtMinX,
|
|
7174
|
+
height: crtMaxY - crtMinY,
|
|
7175
|
+
layer: "top"
|
|
7176
|
+
};
|
|
6962
7177
|
return {
|
|
6963
7178
|
circuitJson: [
|
|
6964
7179
|
...pads,
|
|
6965
7180
|
silkscreenTopLine,
|
|
6966
7181
|
silkscreenBottomLine,
|
|
6967
7182
|
silkscreenRefText,
|
|
6968
|
-
pin1Marking
|
|
7183
|
+
pin1Marking,
|
|
7184
|
+
courtyard
|
|
6969
7185
|
],
|
|
6970
7186
|
parameters
|
|
6971
7187
|
};
|
|
@@ -7105,13 +7321,29 @@ var msop = (raw_params) => {
|
|
|
7105
7321
|
silkscreenBoxHeight / 2 + 0.5,
|
|
7106
7322
|
0.3
|
|
7107
7323
|
);
|
|
7324
|
+
const courtyardPadding = 0.25;
|
|
7325
|
+
const padCenterX = length51.parse("2mm");
|
|
7326
|
+
const crtMinX = -(padCenterX + pl / 2) - courtyardPadding;
|
|
7327
|
+
const crtMaxX = padCenterX + pl / 2 + courtyardPadding;
|
|
7328
|
+
const crtMinY = -silkscreenBoxHeight / 2 - courtyardPadding;
|
|
7329
|
+
const crtMaxY = silkscreenBoxHeight / 2 + courtyardPadding;
|
|
7330
|
+
const courtyard = {
|
|
7331
|
+
type: "pcb_courtyard_rect",
|
|
7332
|
+
pcb_courtyard_rect_id: "",
|
|
7333
|
+
pcb_component_id: "",
|
|
7334
|
+
center: { x: (crtMinX + crtMaxX) / 2, y: (crtMinY + crtMaxY) / 2 },
|
|
7335
|
+
width: crtMaxX - crtMinX,
|
|
7336
|
+
height: crtMaxY - crtMinY,
|
|
7337
|
+
layer: "top"
|
|
7338
|
+
};
|
|
7108
7339
|
return {
|
|
7109
7340
|
circuitJson: [
|
|
7110
7341
|
...pads,
|
|
7111
7342
|
silkscreenTopLine,
|
|
7112
7343
|
silkscreenBottomLine,
|
|
7113
7344
|
silkscreenRefText,
|
|
7114
|
-
pin1Marking
|
|
7345
|
+
pin1Marking,
|
|
7346
|
+
courtyard
|
|
7115
7347
|
],
|
|
7116
7348
|
parameters
|
|
7117
7349
|
};
|
|
@@ -7370,13 +7602,29 @@ var son = (raw_params) => {
|
|
|
7370
7602
|
silkscreenBoxHeight / 2 + 0.5,
|
|
7371
7603
|
0.3
|
|
7372
7604
|
);
|
|
7605
|
+
const courtyardPadding = 0.25;
|
|
7606
|
+
const padCenterX = length54.parse("1.4mm");
|
|
7607
|
+
const crtMinX = -(padCenterX + pl / 2) - courtyardPadding;
|
|
7608
|
+
const crtMaxX = padCenterX + pl / 2 + courtyardPadding;
|
|
7609
|
+
const crtMinY = -silkscreenBoxHeight / 2 - courtyardPadding;
|
|
7610
|
+
const crtMaxY = silkscreenBoxHeight / 2 + courtyardPadding;
|
|
7611
|
+
const courtyard = {
|
|
7612
|
+
type: "pcb_courtyard_rect",
|
|
7613
|
+
pcb_courtyard_rect_id: "",
|
|
7614
|
+
pcb_component_id: "",
|
|
7615
|
+
center: { x: (crtMinX + crtMaxX) / 2, y: (crtMinY + crtMaxY) / 2 },
|
|
7616
|
+
width: crtMaxX - crtMinX,
|
|
7617
|
+
height: crtMaxY - crtMinY,
|
|
7618
|
+
layer: "top"
|
|
7619
|
+
};
|
|
7373
7620
|
return {
|
|
7374
7621
|
circuitJson: [
|
|
7375
7622
|
...pads,
|
|
7376
7623
|
silkscreenTopLine,
|
|
7377
7624
|
silkscreenBottomLine,
|
|
7378
7625
|
silkscreenRefText,
|
|
7379
|
-
pin1Marking
|
|
7626
|
+
pin1Marking,
|
|
7627
|
+
courtyard
|
|
7380
7628
|
],
|
|
7381
7629
|
parameters
|
|
7382
7630
|
};
|