jscad-electronics 0.0.126 → 0.0.128

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 CHANGED
@@ -479,7 +479,14 @@ var FootprintPad = ({
479
479
  };
480
480
 
481
481
  // lib/FootprintPlatedHole.tsx
482
- import { Colorize as Colorize4, Cuboid as Cuboid13, Translate as Translate5, Cylinder as Cylinder2, Subtract as Subtract2 } from "jscad-fiber";
482
+ import {
483
+ Colorize as Colorize4,
484
+ Cuboid as Cuboid13,
485
+ Translate as Translate5,
486
+ Cylinder as Cylinder2,
487
+ Subtract as Subtract2,
488
+ Hull as Hull2
489
+ } from "jscad-fiber";
483
490
  import { jsx as jsx13, jsxs as jsxs12 } from "react/jsx-runtime";
484
491
  var FootprintPlatedHole = ({
485
492
  hole,
@@ -497,13 +504,75 @@ var FootprintPlatedHole = ({
497
504
  /* @__PURE__ */ jsx13(
498
505
  Cuboid13,
499
506
  {
500
- size: [hole.rect_pad_width, hole.rect_pad_width, 0.01],
507
+ size: [hole.rect_pad_width, hole.rect_pad_height, 0.01],
501
508
  center: [0, 0, 0]
502
509
  }
503
510
  ),
504
511
  /* @__PURE__ */ jsx13(Cylinder2, { radius: hole.hole_diameter / 2, height: 0.01 })
505
512
  ] }) }) });
506
513
  }
514
+ if (hole.shape === "pill") {
515
+ const width10 = hole.outer_width;
516
+ const height10 = hole.outer_height;
517
+ const radius = Math.min(width10, height10) / 2;
518
+ const isHorizontal = width10 > height10;
519
+ const holeWidth = hole.hole_width ?? 0.8;
520
+ const holeHeight = hole.hole_height ?? 0.8;
521
+ return /* @__PURE__ */ jsx13(Colorize4, { color, children: /* @__PURE__ */ jsx13(Translate5, { offset: [hole.x, hole.y, 0], children: /* @__PURE__ */ jsxs12(Subtract2, { children: [
522
+ /* @__PURE__ */ jsxs12(Hull2, { children: [
523
+ /* @__PURE__ */ jsx13(
524
+ Cylinder2,
525
+ {
526
+ radius,
527
+ height: 0.01,
528
+ center: [
529
+ isHorizontal ? -(width10 / 2 - radius) : 0,
530
+ isHorizontal ? 0 : -(height10 / 2 - radius),
531
+ 0
532
+ ]
533
+ }
534
+ ),
535
+ /* @__PURE__ */ jsx13(
536
+ Cylinder2,
537
+ {
538
+ radius,
539
+ height: 0.01,
540
+ center: [
541
+ isHorizontal ? width10 / 2 - radius : 0,
542
+ isHorizontal ? 0 : height10 / 2 - radius,
543
+ 0
544
+ ]
545
+ }
546
+ )
547
+ ] }),
548
+ holeWidth === holeHeight ? /* @__PURE__ */ jsx13(Cylinder2, { radius: holeWidth / 2, height: 0.01 }) : /* @__PURE__ */ jsxs12(Hull2, { children: [
549
+ /* @__PURE__ */ jsx13(
550
+ Cylinder2,
551
+ {
552
+ radius: Math.min(holeWidth, holeHeight) / 2,
553
+ height: 0.01,
554
+ center: [
555
+ holeWidth > holeHeight ? -(holeWidth / 2 - holeHeight / 2) : 0,
556
+ holeWidth > holeHeight ? 0 : -(holeHeight / 2 - holeWidth / 2),
557
+ 0
558
+ ]
559
+ }
560
+ ),
561
+ /* @__PURE__ */ jsx13(
562
+ Cylinder2,
563
+ {
564
+ radius: Math.min(holeWidth, holeHeight) / 2,
565
+ height: 0.01,
566
+ center: [
567
+ holeWidth > holeHeight ? holeWidth / 2 - holeHeight / 2 : 0,
568
+ holeWidth > holeHeight ? 0 : holeHeight / 2 - holeWidth / 2,
569
+ 0
570
+ ]
571
+ }
572
+ )
573
+ ] })
574
+ ] }) }) });
575
+ }
507
576
  throw new Error("Shape not supported: " + hole.shape);
508
577
  };
509
578
 
@@ -1010,7 +1079,7 @@ var getLeadWidth = (pinCount, width10) => {
1010
1079
  };
1011
1080
 
1012
1081
  // lib/PinHeader.tsx
1013
- import { Colorize as Colorize6, Cuboid as Cuboid14, Hull as Hull2, Rotate as Rotate5, Translate as Translate8 } from "jscad-fiber";
1082
+ import { Colorize as Colorize6, Cuboid as Cuboid14, Hull as Hull3, Rotate as Rotate5, Translate as Translate8 } from "jscad-fiber";
1014
1083
  import { Fragment as Fragment16, jsx as jsx20, jsxs as jsxs18 } from "react/jsx-runtime";
1015
1084
  var PinHeader = ({
1016
1085
  x,
@@ -1050,7 +1119,7 @@ var PinHeader = ({
1050
1119
  padContactLength: 2,
1051
1120
  bodyDistance: 3
1052
1121
  }
1053
- ) : /* @__PURE__ */ jsxs18(Hull2, { children: [
1122
+ ) : /* @__PURE__ */ jsxs18(Hull3, { children: [
1054
1123
  /* @__PURE__ */ jsx20(
1055
1124
  Cuboid14,
1056
1125
  {
@@ -1072,7 +1141,7 @@ var PinHeader = ({
1072
1141
  }
1073
1142
  )
1074
1143
  ] }) }),
1075
- /* @__PURE__ */ jsx20(Colorize6, { color: "gold", children: /* @__PURE__ */ jsx20(Translate8, { y: rightangle ? -3.9 : 0, z: rightangle ? 1 : 0, children: /* @__PURE__ */ jsx20(Rotate5, { rotation: rightangle ? [-Math.PI / 2, 0, 0] : [0, 0, 0], children: /* @__PURE__ */ jsxs18(Hull2, { children: [
1144
+ /* @__PURE__ */ jsx20(Colorize6, { color: "gold", children: /* @__PURE__ */ jsx20(Translate8, { y: rightangle ? -3.9 : 0, z: rightangle ? 1 : 0, children: /* @__PURE__ */ jsx20(Rotate5, { rotation: rightangle ? [-Math.PI / 2, 0, 0] : [0, 0, 0], children: /* @__PURE__ */ jsxs18(Hull3, { children: [
1076
1145
  /* @__PURE__ */ jsx20(
1077
1146
  Cuboid14,
1078
1147
  {
@@ -1491,7 +1560,7 @@ var SOT23W = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
1491
1560
  };
1492
1561
 
1493
1562
  // lib/FemaleHeader.tsx
1494
- import { Colorize as Colorize8, Cuboid as Cuboid16, Cylinder as Cylinder3, Hull as Hull3, Subtract as Subtract3 } from "jscad-fiber";
1563
+ import { Colorize as Colorize8, Cuboid as Cuboid16, Cylinder as Cylinder3, Hull as Hull4, Subtract as Subtract3 } from "jscad-fiber";
1495
1564
  import { Fragment as Fragment21, jsx as jsx25, jsxs as jsxs22 } from "react/jsx-runtime";
1496
1565
  var FemaleHeader = ({
1497
1566
  x,
@@ -1534,7 +1603,7 @@ var FemaleHeader = ({
1534
1603
  )
1535
1604
  ] }) }),
1536
1605
  /* @__PURE__ */ jsxs22(Colorize8, { color: "silver", children: [
1537
- /* @__PURE__ */ jsxs22(Hull3, { children: [
1606
+ /* @__PURE__ */ jsxs22(Hull4, { children: [
1538
1607
  /* @__PURE__ */ jsx25(
1539
1608
  Cuboid16,
1540
1609
  {
@@ -1925,7 +1994,7 @@ var VSSOP = ({
1925
1994
  };
1926
1995
 
1927
1996
  // lib/SOD523.tsx
1928
- import { Colorize as Colorize10, Cuboid as Cuboid18, Hull as Hull4, Translate as Translate10, Union as Union4 } from "jscad-fiber";
1997
+ import { Colorize as Colorize10, Cuboid as Cuboid18, Hull as Hull5, Translate as Translate10, Union as Union4 } from "jscad-fiber";
1929
1998
  import { Fragment as Fragment26, jsx as jsx30, jsxs as jsxs26 } from "react/jsx-runtime";
1930
1999
  var SOD523 = () => {
1931
2000
  const fullWidth = 2.15;
@@ -1958,7 +2027,7 @@ var SOD523 = () => {
1958
2027
  ),
1959
2028
  /* @__PURE__ */ jsx30(Colorize10, { color: "#222", children: /* @__PURE__ */ jsxs26(Union4, { children: [
1960
2029
  /* @__PURE__ */ jsx30(Translate10, { z: straightHeight / 2, children: /* @__PURE__ */ jsx30(Cuboid18, { size: [bodyWidth, bodyLength10, straightHeight] }) }),
1961
- /* @__PURE__ */ jsxs26(Hull4, { children: [
2030
+ /* @__PURE__ */ jsxs26(Hull5, { children: [
1962
2031
  /* @__PURE__ */ jsx30(Translate10, { z: straightHeight, children: /* @__PURE__ */ jsx30(Cuboid18, { size: [bodyWidth, bodyLength10, 0.01] }) }),
1963
2032
  /* @__PURE__ */ jsx30(Translate10, { z: bodyHeight, children: /* @__PURE__ */ jsx30(
1964
2033
  Cuboid18,
@@ -2038,7 +2107,7 @@ var SOD882 = () => {
2038
2107
  };
2039
2108
 
2040
2109
  // lib/SMA.tsx
2041
- import { Cuboid as Cuboid20, Colorize as Colorize12, Union as Union6, Hull as Hull6, Translate as Translate12 } from "jscad-fiber";
2110
+ import { Cuboid as Cuboid20, Colorize as Colorize12, Union as Union6, Hull as Hull7, Translate as Translate12 } from "jscad-fiber";
2042
2111
  import { Fragment as Fragment28, jsx as jsx32, jsxs as jsxs28 } from "react/jsx-runtime";
2043
2112
  var SMA = () => {
2044
2113
  const bodyWidth = 4.4;
@@ -2051,7 +2120,7 @@ var SMA = () => {
2051
2120
  const taperOffset = 0.4;
2052
2121
  const straightHeight = bodyHeight * 0.5;
2053
2122
  const Body = /* @__PURE__ */ jsx32(Colorize12, { color: "#1a1a1a", children: /* @__PURE__ */ jsxs28(Union6, { children: [
2054
- /* @__PURE__ */ jsxs28(Hull6, { children: [
2123
+ /* @__PURE__ */ jsxs28(Hull7, { children: [
2055
2124
  /* @__PURE__ */ jsx32(Translate12, { z: padThickness + 0.01, children: /* @__PURE__ */ jsx32(
2056
2125
  Cuboid20,
2057
2126
  {
@@ -2060,7 +2129,7 @@ var SMA = () => {
2060
2129
  ) }),
2061
2130
  /* @__PURE__ */ jsx32(Translate12, { z: straightHeight, children: /* @__PURE__ */ jsx32(Cuboid20, { size: [bodyWidth, bodyLength10, 0.01] }) })
2062
2131
  ] }),
2063
- /* @__PURE__ */ jsxs28(Hull6, { children: [
2132
+ /* @__PURE__ */ jsxs28(Hull7, { children: [
2064
2133
  /* @__PURE__ */ jsx32(Translate12, { z: straightHeight, children: /* @__PURE__ */ jsx32(Cuboid20, { size: [bodyWidth, bodyLength10, 0.01] }) }),
2065
2134
  /* @__PURE__ */ jsx32(Translate12, { z: bodyHeight, children: /* @__PURE__ */ jsx32(
2066
2135
  Cuboid20,
@@ -2110,7 +2179,7 @@ var SMA = () => {
2110
2179
  };
2111
2180
 
2112
2181
  // lib/SMB.tsx
2113
- import { Cuboid as Cuboid21, Colorize as Colorize13, Union as Union7, Hull as Hull7, Translate as Translate13 } from "jscad-fiber";
2182
+ import { Cuboid as Cuboid21, Colorize as Colorize13, Union as Union7, Hull as Hull8, Translate as Translate13 } from "jscad-fiber";
2114
2183
  import { Fragment as Fragment29, jsx as jsx33, jsxs as jsxs29 } from "react/jsx-runtime";
2115
2184
  var SMB = () => {
2116
2185
  const bodyWidth = 4.4;
@@ -2123,7 +2192,7 @@ var SMB = () => {
2123
2192
  const taperOffset = 0.4;
2124
2193
  const straightHeight = bodyHeight * 0.5;
2125
2194
  const Body = /* @__PURE__ */ jsx33(Colorize13, { color: "#1a1a1a", children: /* @__PURE__ */ jsxs29(Union7, { children: [
2126
- /* @__PURE__ */ jsxs29(Hull7, { children: [
2195
+ /* @__PURE__ */ jsxs29(Hull8, { children: [
2127
2196
  /* @__PURE__ */ jsx33(Translate13, { z: padThickness + 0.01, children: /* @__PURE__ */ jsx33(
2128
2197
  Cuboid21,
2129
2198
  {
@@ -2132,7 +2201,7 @@ var SMB = () => {
2132
2201
  ) }),
2133
2202
  /* @__PURE__ */ jsx33(Translate13, { z: straightHeight, children: /* @__PURE__ */ jsx33(Cuboid21, { size: [bodyWidth, bodyLength10, 0.01] }) })
2134
2203
  ] }),
2135
- /* @__PURE__ */ jsxs29(Hull7, { children: [
2204
+ /* @__PURE__ */ jsxs29(Hull8, { children: [
2136
2205
  /* @__PURE__ */ jsx33(Translate13, { z: straightHeight, children: /* @__PURE__ */ jsx33(Cuboid21, { size: [bodyWidth, bodyLength10, 0.01] }) }),
2137
2206
  /* @__PURE__ */ jsx33(Translate13, { z: bodyHeight, children: /* @__PURE__ */ jsx33(
2138
2207
  Cuboid21,
@@ -2182,7 +2251,7 @@ var SMB = () => {
2182
2251
  };
2183
2252
 
2184
2253
  // lib/SMC.tsx
2185
- import { Cuboid as Cuboid22, Colorize as Colorize14, Union as Union8, Hull as Hull8, Translate as Translate14 } from "jscad-fiber";
2254
+ import { Cuboid as Cuboid22, Colorize as Colorize14, Union as Union8, Hull as Hull9, Translate as Translate14 } from "jscad-fiber";
2186
2255
  import { Fragment as Fragment30, jsx as jsx34, jsxs as jsxs30 } from "react/jsx-runtime";
2187
2256
  var SMC = () => {
2188
2257
  const bodyWidth = 6.8;
@@ -2195,7 +2264,7 @@ var SMC = () => {
2195
2264
  const taperOffset = 0.4;
2196
2265
  const straightHeight = bodyHeight * 0.5;
2197
2266
  const Body = /* @__PURE__ */ jsx34(Colorize14, { color: "#1a1a1a", children: /* @__PURE__ */ jsxs30(Union8, { children: [
2198
- /* @__PURE__ */ jsxs30(Hull8, { children: [
2267
+ /* @__PURE__ */ jsxs30(Hull9, { children: [
2199
2268
  /* @__PURE__ */ jsx34(Translate14, { z: padThickness + 0.01, children: /* @__PURE__ */ jsx34(
2200
2269
  Cuboid22,
2201
2270
  {
@@ -2204,7 +2273,7 @@ var SMC = () => {
2204
2273
  ) }),
2205
2274
  /* @__PURE__ */ jsx34(Translate14, { z: straightHeight, children: /* @__PURE__ */ jsx34(Cuboid22, { size: [bodyWidth, bodyLength10, 0.01] }) })
2206
2275
  ] }),
2207
- /* @__PURE__ */ jsxs30(Hull8, { children: [
2276
+ /* @__PURE__ */ jsxs30(Hull9, { children: [
2208
2277
  /* @__PURE__ */ jsx34(Translate14, { z: straightHeight, children: /* @__PURE__ */ jsx34(Cuboid22, { size: [bodyWidth, bodyLength10, 0.01] }) }),
2209
2278
  /* @__PURE__ */ jsx34(Translate14, { z: bodyHeight, children: /* @__PURE__ */ jsx34(
2210
2279
  Cuboid22,
@@ -2254,7 +2323,7 @@ var SMC = () => {
2254
2323
  };
2255
2324
 
2256
2325
  // lib/SMF.tsx
2257
- import { Colorize as Colorize15, Cuboid as Cuboid23, Hull as Hull9, Translate as Translate15, Union as Union9 } from "jscad-fiber";
2326
+ import { Colorize as Colorize15, Cuboid as Cuboid23, Hull as Hull10, Translate as Translate15, Union as Union9 } from "jscad-fiber";
2258
2327
  import { Fragment as Fragment31, jsx as jsx35, jsxs as jsxs31 } from "react/jsx-runtime";
2259
2328
  var SMF = () => {
2260
2329
  const fullWidth = 2.9;
@@ -2270,7 +2339,7 @@ var SMF = () => {
2270
2339
  const straightHeight = bodyHeight * 0.5;
2271
2340
  const Body = /* @__PURE__ */ jsx35(Colorize15, { color: "#222", children: /* @__PURE__ */ jsxs31(Union9, { children: [
2272
2341
  /* @__PURE__ */ jsx35(Translate15, { z: straightHeight / 2, children: /* @__PURE__ */ jsx35(Cuboid23, { size: [bodyWidth, bodyLength10, straightHeight] }) }),
2273
- /* @__PURE__ */ jsxs31(Hull9, { children: [
2342
+ /* @__PURE__ */ jsxs31(Hull10, { children: [
2274
2343
  /* @__PURE__ */ jsx35(Translate15, { z: straightHeight, children: /* @__PURE__ */ jsx35(Cuboid23, { size: [bodyWidth, bodyLength10, 0.01] }) }),
2275
2344
  /* @__PURE__ */ jsx35(Translate15, { z: bodyHeight, children: /* @__PURE__ */ jsx35(
2276
2345
  Cuboid23,
@@ -2302,7 +2371,7 @@ var SMF = () => {
2302
2371
  };
2303
2372
 
2304
2373
  // lib/sod-123F.tsx
2305
- import { Colorize as Colorize16, Cuboid as Cuboid24, Hull as Hull10, Translate as Translate16, Union as Union10 } from "jscad-fiber";
2374
+ import { Colorize as Colorize16, Cuboid as Cuboid24, Hull as Hull11, Translate as Translate16, Union as Union10 } from "jscad-fiber";
2306
2375
  import { Fragment as Fragment32, jsx as jsx36, jsxs as jsxs32 } from "react/jsx-runtime";
2307
2376
  var SOD123F = () => {
2308
2377
  const fullWidth = 2.7;
@@ -2334,7 +2403,7 @@ var SOD123F = () => {
2334
2403
  ),
2335
2404
  /* @__PURE__ */ jsx36(Colorize16, { color: "#222", children: /* @__PURE__ */ jsxs32(Union10, { children: [
2336
2405
  /* @__PURE__ */ jsx36(Translate16, { z: straightHeight / 2, children: /* @__PURE__ */ jsx36(Cuboid24, { size: [fullWidth, bodyLength10, straightHeight] }) }),
2337
- /* @__PURE__ */ jsxs32(Hull10, { children: [
2406
+ /* @__PURE__ */ jsxs32(Hull11, { children: [
2338
2407
  /* @__PURE__ */ jsx36(Translate16, { z: straightHeight, children: /* @__PURE__ */ jsx36(Cuboid24, { size: [fullWidth, bodyLength10, 0.01] }) }),
2339
2408
  /* @__PURE__ */ jsx36(Translate16, { z: bodyHeight, children: /* @__PURE__ */ jsx36(
2340
2409
  Cuboid24,
@@ -2348,7 +2417,7 @@ var SOD123F = () => {
2348
2417
  };
2349
2418
 
2350
2419
  // lib/sod-123FL.tsx
2351
- import { Colorize as Colorize17, Cuboid as Cuboid25, Hull as Hull11, Translate as Translate17, Union as Union11 } from "jscad-fiber";
2420
+ import { Colorize as Colorize17, Cuboid as Cuboid25, Hull as Hull12, Translate as Translate17, Union as Union11 } from "jscad-fiber";
2352
2421
  import { Fragment as Fragment33, jsx as jsx37, jsxs as jsxs33 } from "react/jsx-runtime";
2353
2422
  var SOD123FL = () => {
2354
2423
  const fullWidth = 2.75;
@@ -2380,7 +2449,7 @@ var SOD123FL = () => {
2380
2449
  ),
2381
2450
  /* @__PURE__ */ jsx37(Colorize17, { color: "#222", children: /* @__PURE__ */ jsxs33(Union11, { children: [
2382
2451
  /* @__PURE__ */ jsx37(Translate17, { z: straightHeight / 2, children: /* @__PURE__ */ jsx37(Cuboid25, { size: [fullWidth, bodyLength10, straightHeight] }) }),
2383
- /* @__PURE__ */ jsxs33(Hull11, { children: [
2452
+ /* @__PURE__ */ jsxs33(Hull12, { children: [
2384
2453
  /* @__PURE__ */ jsx37(Translate17, { z: straightHeight, children: /* @__PURE__ */ jsx37(Cuboid25, { size: [fullWidth, bodyLength10, 0.01] }) }),
2385
2454
  /* @__PURE__ */ jsx37(Translate17, { z: bodyHeight, children: /* @__PURE__ */ jsx37(
2386
2455
  Cuboid25,
@@ -2402,7 +2471,7 @@ var SOD123FL = () => {
2402
2471
  };
2403
2472
 
2404
2473
  // lib/sod-123W.tsx
2405
- import { Colorize as Colorize18, Cuboid as Cuboid26, Hull as Hull12, Translate as Translate18, Union as Union12 } from "jscad-fiber";
2474
+ import { Colorize as Colorize18, Cuboid as Cuboid26, Hull as Hull13, Translate as Translate18, Union as Union12 } from "jscad-fiber";
2406
2475
  import { Fragment as Fragment34, jsx as jsx38, jsxs as jsxs34 } from "react/jsx-runtime";
2407
2476
  var SOD123W = () => {
2408
2477
  const fullWidth = 2.6;
@@ -2434,7 +2503,7 @@ var SOD123W = () => {
2434
2503
  }
2435
2504
  ),
2436
2505
  /* @__PURE__ */ jsx38(Colorize18, { color: "#222", children: /* @__PURE__ */ jsxs34(Union12, { children: [
2437
- /* @__PURE__ */ jsxs34(Hull12, { children: [
2506
+ /* @__PURE__ */ jsxs34(Hull13, { children: [
2438
2507
  /* @__PURE__ */ jsx38(Translate18, { z: straightHeight, children: /* @__PURE__ */ jsx38(
2439
2508
  Cuboid26,
2440
2509
  {
@@ -2456,7 +2525,7 @@ var SOD123W = () => {
2456
2525
  }
2457
2526
  ) })
2458
2527
  ] }),
2459
- /* @__PURE__ */ jsxs34(Hull12, { children: [
2528
+ /* @__PURE__ */ jsxs34(Hull13, { children: [
2460
2529
  /* @__PURE__ */ jsx38(Translate18, { z: straightHeight, children: /* @__PURE__ */ jsx38(Cuboid26, { size: [fullWidth, bodyLength10, 0.01] }) }),
2461
2530
  /* @__PURE__ */ jsx38(Translate18, { z: bodyHeight, children: /* @__PURE__ */ jsx38(
2462
2531
  Cuboid26,
@@ -2478,7 +2547,7 @@ var SOD123W = () => {
2478
2547
  };
2479
2548
 
2480
2549
  // lib/sod-128.tsx
2481
- import { Colorize as Colorize19, Cuboid as Cuboid27, Hull as Hull13, Translate as Translate19, Union as Union13 } from "jscad-fiber";
2550
+ import { Colorize as Colorize19, Cuboid as Cuboid27, Hull as Hull14, Translate as Translate19, Union as Union13 } from "jscad-fiber";
2482
2551
  import { Fragment as Fragment35, jsx as jsx39, jsxs as jsxs35 } from "react/jsx-runtime";
2483
2552
  var SOD128 = () => {
2484
2553
  const fullWidth = 3.8;
@@ -2510,7 +2579,7 @@ var SOD128 = () => {
2510
2579
  }
2511
2580
  ),
2512
2581
  /* @__PURE__ */ jsx39(Colorize19, { color: "#222", children: /* @__PURE__ */ jsxs35(Union13, { children: [
2513
- /* @__PURE__ */ jsxs35(Hull13, { children: [
2582
+ /* @__PURE__ */ jsxs35(Hull14, { children: [
2514
2583
  /* @__PURE__ */ jsx39(Translate19, { z: straightHeight, children: /* @__PURE__ */ jsx39(
2515
2584
  Cuboid27,
2516
2585
  {
@@ -2532,7 +2601,7 @@ var SOD128 = () => {
2532
2601
  }
2533
2602
  ) })
2534
2603
  ] }),
2535
- /* @__PURE__ */ jsxs35(Hull13, { children: [
2604
+ /* @__PURE__ */ jsxs35(Hull14, { children: [
2536
2605
  /* @__PURE__ */ jsx39(Translate19, { z: straightHeight, children: /* @__PURE__ */ jsx39(Cuboid27, { size: [fullWidth, bodyLength10, 0.01] }) }),
2537
2606
  /* @__PURE__ */ jsx39(Translate19, { z: bodyHeight, children: /* @__PURE__ */ jsx39(
2538
2607
  Cuboid27,
@@ -2554,7 +2623,7 @@ var SOD128 = () => {
2554
2623
  };
2555
2624
 
2556
2625
  // lib/SOD-923.tsx
2557
- import { Colorize as Colorize20, Cuboid as Cuboid28, Hull as Hull14, Translate as Translate20, Union as Union14 } from "jscad-fiber";
2626
+ import { Colorize as Colorize20, Cuboid as Cuboid28, Hull as Hull15, Translate as Translate20, Union as Union14 } from "jscad-fiber";
2558
2627
  import { Fragment as Fragment36, jsx as jsx40, jsxs as jsxs36 } from "react/jsx-runtime";
2559
2628
  var SOD923 = () => {
2560
2629
  const fullWidth = 0.8;
@@ -2586,7 +2655,7 @@ var SOD923 = () => {
2586
2655
  ),
2587
2656
  /* @__PURE__ */ jsx40(Colorize20, { color: "#222", children: /* @__PURE__ */ jsxs36(Union14, { children: [
2588
2657
  /* @__PURE__ */ jsx40(Translate20, { z: straightHeight / 2, children: /* @__PURE__ */ jsx40(Cuboid28, { size: [fullWidth, bodyLength10, straightHeight] }) }),
2589
- /* @__PURE__ */ jsxs36(Hull14, { children: [
2658
+ /* @__PURE__ */ jsxs36(Hull15, { children: [
2590
2659
  /* @__PURE__ */ jsx40(Translate20, { z: straightHeight, children: /* @__PURE__ */ jsx40(Cuboid28, { size: [fullWidth, bodyLength10, 0.01] }) }),
2591
2660
  /* @__PURE__ */ jsx40(Translate20, { z: bodyHeight, children: /* @__PURE__ */ jsx40(
2592
2661
  Cuboid28,
@@ -2988,7 +3057,7 @@ var LQFP = ({
2988
3057
  };
2989
3058
 
2990
3059
  // lib/SOT-723.tsx
2991
- import { Cuboid as Cuboid29, Translate as Translate21, Colorize as Colorize21, Hull as Hull15, Union as Union15 } from "jscad-fiber";
3060
+ import { Cuboid as Cuboid29, Translate as Translate21, Colorize as Colorize21, Hull as Hull16, Union as Union15 } from "jscad-fiber";
2992
3061
  import { Fragment as Fragment41, jsx as jsx45, jsxs as jsxs41 } from "react/jsx-runtime";
2993
3062
  var SOT723 = () => {
2994
3063
  const bodyWidth = 0.85;
@@ -3015,7 +3084,7 @@ var SOT723 = () => {
3015
3084
  center: [0, 0, straightHeight / 2]
3016
3085
  }
3017
3086
  ),
3018
- /* @__PURE__ */ jsxs41(Hull15, { children: [
3087
+ /* @__PURE__ */ jsxs41(Hull16, { children: [
3019
3088
  /* @__PURE__ */ jsx45(Translate21, { z: straightHeight, children: /* @__PURE__ */ jsx45(Cuboid29, { size: [bodyWidth, bodyLength10, 0.01] }) }),
3020
3089
  /* @__PURE__ */ jsx45(Translate21, { z: bodyHeight, children: /* @__PURE__ */ jsx45(
3021
3090
  Cuboid29,
@@ -3123,7 +3192,7 @@ var DFN = ({
3123
3192
  };
3124
3193
 
3125
3194
  // lib/hc49.tsx
3126
- import { Colorize as Colorize22, Cylinder as Cylinder5, Hull as Hull16, RoundedCylinder } from "jscad-fiber";
3195
+ import { Colorize as Colorize22, Cylinder as Cylinder5, Hull as Hull17, RoundedCylinder } from "jscad-fiber";
3127
3196
  import { Fragment as Fragment43, jsx as jsx47, jsxs as jsxs43 } from "react/jsx-runtime";
3128
3197
  var HC49 = ({
3129
3198
  bodyLength: bodyLength10 = 10.2,
@@ -3142,7 +3211,7 @@ var HC49 = ({
3142
3211
  const baseHeight = 0.85;
3143
3212
  return /* @__PURE__ */ jsxs43(Fragment43, { children: [
3144
3213
  /* @__PURE__ */ jsxs43(Colorize22, { color, children: [
3145
- /* @__PURE__ */ jsxs43(Hull16, { children: [
3214
+ /* @__PURE__ */ jsxs43(Hull17, { children: [
3146
3215
  /* @__PURE__ */ jsx47(
3147
3216
  RoundedCylinder,
3148
3217
  {
@@ -3162,7 +3231,7 @@ var HC49 = ({
3162
3231
  }
3163
3232
  )
3164
3233
  ] }),
3165
- /* @__PURE__ */ jsxs43(Hull16, { children: [
3234
+ /* @__PURE__ */ jsxs43(Hull17, { children: [
3166
3235
  /* @__PURE__ */ jsx47(
3167
3236
  RoundedCylinder,
3168
3237
  {
@@ -3493,7 +3562,7 @@ var MS013 = ({
3493
3562
  import {
3494
3563
  Colorize as Colorize26,
3495
3564
  Cuboid as Cuboid33,
3496
- Hull as Hull17,
3565
+ Hull as Hull18,
3497
3566
  Rotate as Rotate10,
3498
3567
  Translate as Translate22,
3499
3568
  Cylinder as Cylinder7,
@@ -3558,7 +3627,7 @@ var TO220 = () => {
3558
3627
  const y = (i - 1) * prongPitch;
3559
3628
  const z = -prongHeight - 0.6;
3560
3629
  return /* @__PURE__ */ jsxs49(Colorize26, { color: "gold", children: [
3561
- /* @__PURE__ */ jsxs49(Hull17, { children: [
3630
+ /* @__PURE__ */ jsxs49(Hull18, { children: [
3562
3631
  /* @__PURE__ */ jsx53(Translate22, { center: [bodyFrontX - bodyHeight / 2 + 0.1, y, z], children: /* @__PURE__ */ jsx53(Cuboid33, { size: [bodyHeight, prongWidth + 1, prongHeight] }) }),
3563
3632
  /* @__PURE__ */ jsx53(
3564
3633
  Translate22,
@@ -3775,7 +3844,7 @@ var SOT963 = () => {
3775
3844
  import {
3776
3845
  Colorize as Colorize27,
3777
3846
  Cuboid as Cuboid35,
3778
- Hull as Hull18,
3847
+ Hull as Hull19,
3779
3848
  Translate as Translate23,
3780
3849
  Cylinder as Cylinder8,
3781
3850
  Subtract as Subtract5
@@ -3807,7 +3876,7 @@ var TO92 = () => {
3807
3876
  /* @__PURE__ */ jsx56(Translate23, { center: [0, -(bodyRadius - flatCut / 2), bodyZ], children: /* @__PURE__ */ jsx56(Cuboid35, { size: [bodyRadius * 2, flatCut, bodyHeight + 0.2] }) })
3808
3877
  ] }) }),
3809
3878
  /* @__PURE__ */ jsx56(Translate23, { center: leadTipPos1, children: /* @__PURE__ */ jsx56(Cuboid35, { size: leadTipSize }) }),
3810
- /* @__PURE__ */ jsxs52(Hull18, { children: [
3879
+ /* @__PURE__ */ jsxs52(Hull19, { children: [
3811
3880
  /* @__PURE__ */ jsx56(Translate23, { center: leadMidPosA, children: /* @__PURE__ */ jsx56(Cuboid35, { size: leadSmallSize }) }),
3812
3881
  /* @__PURE__ */ jsx56(Translate23, { center: leadMidPosB, children: /* @__PURE__ */ jsx56(Cuboid35, { size: leadSmallSize }) })
3813
3882
  ] }),
@@ -4082,7 +4151,7 @@ var SOD323 = () => {
4082
4151
  };
4083
4152
 
4084
4153
  // lib/sod-323F.tsx
4085
- import { Colorize as Colorize29, Cuboid as Cuboid38, Hull as Hull20, Translate as Translate25, Union as Union17 } from "jscad-fiber";
4154
+ import { Colorize as Colorize29, Cuboid as Cuboid38, Hull as Hull21, Translate as Translate25, Union as Union17 } from "jscad-fiber";
4086
4155
  import { Fragment as Fragment55, jsx as jsx60, jsxs as jsxs56 } from "react/jsx-runtime";
4087
4156
  var SOD323F = () => {
4088
4157
  const fullWidth = 1.7;
@@ -4114,7 +4183,7 @@ var SOD323F = () => {
4114
4183
  ),
4115
4184
  /* @__PURE__ */ jsx60(Colorize29, { color: "#222", children: /* @__PURE__ */ jsxs56(Union17, { children: [
4116
4185
  /* @__PURE__ */ jsx60(Translate25, { z: straightHeight / 2, children: /* @__PURE__ */ jsx60(Cuboid38, { size: [fullWidth, bodyLength10, straightHeight] }) }),
4117
- /* @__PURE__ */ jsxs56(Hull20, { children: [
4186
+ /* @__PURE__ */ jsxs56(Hull21, { children: [
4118
4187
  /* @__PURE__ */ jsx60(Translate25, { z: straightHeight, children: /* @__PURE__ */ jsx60(Cuboid38, { size: [fullWidth, bodyLength10, 0.01] }) }),
4119
4188
  /* @__PURE__ */ jsx60(Translate25, { z: bodyHeight, children: /* @__PURE__ */ jsx60(
4120
4189
  Cuboid38,
@@ -4635,7 +4704,7 @@ var MountedPcbModule = ({
4635
4704
  };
4636
4705
 
4637
4706
  // lib/SOD723.tsx
4638
- import { Colorize as Colorize35, Cuboid as Cuboid43, Hull as Hull22, Translate as Translate29, Union as Union20 } from "jscad-fiber";
4707
+ import { Colorize as Colorize35, Cuboid as Cuboid43, Hull as Hull23, Translate as Translate29, Union as Union20 } from "jscad-fiber";
4639
4708
  import { Fragment as Fragment60, jsx as jsx66, jsxs as jsxs62 } from "react/jsx-runtime";
4640
4709
  var SOD723 = () => {
4641
4710
  const fullWidth = 1.4;
@@ -4668,7 +4737,7 @@ var SOD723 = () => {
4668
4737
  ),
4669
4738
  /* @__PURE__ */ jsx66(Colorize35, { color: "#222", children: /* @__PURE__ */ jsxs62(Union20, { children: [
4670
4739
  /* @__PURE__ */ jsx66(Translate29, { z: straightHeight / 2, children: /* @__PURE__ */ jsx66(Cuboid43, { size: [bodyWidth, bodyLength10, straightHeight] }) }),
4671
- /* @__PURE__ */ jsxs62(Hull22, { children: [
4740
+ /* @__PURE__ */ jsxs62(Hull23, { children: [
4672
4741
  /* @__PURE__ */ jsx66(Translate29, { z: straightHeight, children: /* @__PURE__ */ jsx66(Cuboid43, { size: [bodyWidth, bodyLength10, 0.01] }) }),
4673
4742
  /* @__PURE__ */ jsx66(Translate29, { z: bodyHeight, children: /* @__PURE__ */ jsx66(
4674
4743
  Cuboid43,
@@ -4810,21 +4879,33 @@ var JSTZH1_5mm = ({
4810
4879
  }
4811
4880
  ) }, i)),
4812
4881
  showFootprint && Array.from({ length: numPins }).map((_, i) => {
4813
- const hole = {
4882
+ const isPin1 = i === 0;
4883
+ const hole = isPin1 ? {
4814
4884
  type: "pcb_plated_hole",
4815
4885
  pcb_plated_hole_id: `jstzh_${i}`,
4816
4886
  shape: "circular_hole_with_rect_pad",
4817
4887
  x: startX + i * pitch,
4818
4888
  y: 0,
4819
4889
  hole_diameter: 0.73,
4820
- hole_shape: "circle",
4821
- pad_shape: "rect",
4822
4890
  rect_pad_width: 1.03,
4823
4891
  rect_pad_height: 1.73,
4892
+ hole_shape: "circle",
4893
+ pad_shape: "rect",
4894
+ layers: ["top", "bottom"],
4895
+ port_hints: [`${i + 1}`]
4896
+ } : {
4897
+ type: "pcb_plated_hole",
4898
+ pcb_plated_hole_id: `jstzh_${i}`,
4899
+ shape: "pill",
4900
+ x: startX + i * pitch,
4901
+ y: 0,
4902
+ hole_height: 0.73,
4903
+ hole_width: 0.73,
4904
+ outer_height: 1.73,
4905
+ outer_width: 1.03,
4824
4906
  layers: ["top", "bottom"],
4825
4907
  port_hints: [`${i + 1}`]
4826
4908
  };
4827
- const isPin1 = i === 0;
4828
4909
  return /* @__PURE__ */ jsx67(
4829
4910
  FootprintPlatedHole,
4830
4911
  {