jscad-electronics 0.0.78 → 0.0.80
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.d.ts +38 -1
- package/dist/index.js +242 -67
- package/dist/index.js.map +1 -1
- package/dist/vanilla.js +178 -2
- package/dist/vanilla.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -163,6 +163,21 @@ declare const QFN: ({ num_pins, bodyWidth, bodyLength, bodyThickness, thermalPad
|
|
|
163
163
|
thermalPadThickness?: number;
|
|
164
164
|
}) => react_jsx_runtime.JSX.Element;
|
|
165
165
|
|
|
166
|
+
declare const DFN: ({ num_pins, bodyWidth, bodyLength, bodyThickness, thermalPadSize, padWidth, padLength, pitch, thermalPadThickness, }: {
|
|
167
|
+
num_pins: number;
|
|
168
|
+
bodyWidth?: number;
|
|
169
|
+
bodyLength?: number;
|
|
170
|
+
bodyThickness?: number;
|
|
171
|
+
thermalPadSize?: {
|
|
172
|
+
width: number;
|
|
173
|
+
length: number;
|
|
174
|
+
};
|
|
175
|
+
padWidth?: number;
|
|
176
|
+
padLength?: number;
|
|
177
|
+
pitch?: number;
|
|
178
|
+
thermalPadThickness?: number;
|
|
179
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
180
|
+
|
|
166
181
|
declare const QFP: ({ pinCount, pitch, leadWidth, padContactLength, bodyWidth, }: {
|
|
167
182
|
pinCount: number;
|
|
168
183
|
pitch?: number;
|
|
@@ -212,4 +227,26 @@ declare const SOT223: () => react_jsx_runtime.JSX.Element;
|
|
|
212
227
|
|
|
213
228
|
declare const SOT323: () => react_jsx_runtime.JSX.Element;
|
|
214
229
|
|
|
215
|
-
|
|
230
|
+
interface HC49Props {
|
|
231
|
+
/** overall body length (mm) */
|
|
232
|
+
bodyLength?: number;
|
|
233
|
+
/** body width (mm) */
|
|
234
|
+
bodyWidth?: number;
|
|
235
|
+
/** body height (mm) */
|
|
236
|
+
bodyHeight?: number;
|
|
237
|
+
/** distance between lead centers (mm) */
|
|
238
|
+
leadSpacing?: number;
|
|
239
|
+
/** lead diameter (mm) */
|
|
240
|
+
leadDiameter?: number;
|
|
241
|
+
/** length of the lead below the body (mm) */
|
|
242
|
+
leadLength?: number;
|
|
243
|
+
color?: string;
|
|
244
|
+
leadColor?: string;
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* HC-49 (through-hole crystal) simplified 3D model.
|
|
248
|
+
* Defaults chosen to match the HC-49/U-S recommended land pattern and dimensions.
|
|
249
|
+
*/
|
|
250
|
+
declare const HC49: ({ bodyLength, bodyWidth, bodyHeight, leadSpacing, leadDiameter, leadLength, color, leadColor, }: HC49Props) => react_jsx_runtime.JSX.Element;
|
|
251
|
+
|
|
252
|
+
export { A01005, A0201, A0402, A0603, A0805, A1206, A1210, A2010, A2512, BGA, ChipBody, type ChipBodyProps, DFN, ExtrudedPads, FootprintPad, FootprintPlatedHole, Footprinter3d, HC49, type HC49Props, LQFP, PinRow, QFN, QFP, SMA, SMB, SMC, SMF, SOD123, SOD123F, SOD123FL, SOD523, SOD923, SOT223, SOT233P, SOT323, SOT563, SOT723, SmdChipLead, type SmdChipLeadProps, TQFP, Tssop, VSSOP };
|
package/dist/index.js
CHANGED
|
@@ -2525,15 +2525,167 @@ var LQFP = ({
|
|
|
2525
2525
|
] });
|
|
2526
2526
|
};
|
|
2527
2527
|
|
|
2528
|
+
// lib/dfn.tsx
|
|
2529
|
+
import { Cuboid as Cuboid26 } from "jscad-fiber";
|
|
2530
|
+
import { Fragment as Fragment34, jsx as jsx38, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
2531
|
+
var DFN = ({
|
|
2532
|
+
num_pins,
|
|
2533
|
+
bodyWidth = 5.3,
|
|
2534
|
+
bodyLength: bodyLength10 = 5.3,
|
|
2535
|
+
bodyThickness = 1,
|
|
2536
|
+
thermalPadSize,
|
|
2537
|
+
// For a body length of 5 the typical pad width/length are 0.6 and 1.
|
|
2538
|
+
// Scale those values proportionally when `bodyLength` changes.
|
|
2539
|
+
padWidth = bodyLength10 / 5.3 * 0.6,
|
|
2540
|
+
padLength = bodyLength10 / 5.3 * 1,
|
|
2541
|
+
pitch = 0.5,
|
|
2542
|
+
thermalPadThickness = 0.2
|
|
2543
|
+
}) => {
|
|
2544
|
+
const pinPositions = [];
|
|
2545
|
+
const pinsPerSide = Math.floor(num_pins / 2);
|
|
2546
|
+
const pinSpan = pitch * (pinsPerSide - 1);
|
|
2547
|
+
for (let i = 0; i < num_pins; i++) {
|
|
2548
|
+
const side = i < pinsPerSide ? "left" : "right";
|
|
2549
|
+
const indexOnSide = i % pinsPerSide;
|
|
2550
|
+
const y = pinSpan / 2 - indexOnSide * pitch;
|
|
2551
|
+
const padSizeX = padLength;
|
|
2552
|
+
const padSizeY = padWidth;
|
|
2553
|
+
const x = side === "left" ? -bodyWidth / 2 + padSizeX / 2 : bodyWidth / 2 - padSizeX / 2;
|
|
2554
|
+
const pinNumber = i + 1;
|
|
2555
|
+
pinPositions.push({ pinNumber, x, y, padSizeX, padSizeY });
|
|
2556
|
+
}
|
|
2557
|
+
return /* @__PURE__ */ jsxs36(Fragment34, { children: [
|
|
2558
|
+
/* @__PURE__ */ jsx38(
|
|
2559
|
+
ChipBody,
|
|
2560
|
+
{
|
|
2561
|
+
center: { x: 0, y: 0, z: 0 },
|
|
2562
|
+
width: bodyWidth,
|
|
2563
|
+
length: bodyLength10,
|
|
2564
|
+
height: bodyThickness,
|
|
2565
|
+
heightAboveSurface: 0,
|
|
2566
|
+
color: "grey",
|
|
2567
|
+
chamferSize: 0.2,
|
|
2568
|
+
taperRatio: 0,
|
|
2569
|
+
notchPosition: {
|
|
2570
|
+
x: bodyWidth / 2 - padLength,
|
|
2571
|
+
y: bodyLength10 / 2 - padLength,
|
|
2572
|
+
z: bodyThickness
|
|
2573
|
+
}
|
|
2574
|
+
}
|
|
2575
|
+
),
|
|
2576
|
+
pinPositions.map((p, i) => /* @__PURE__ */ jsx38(
|
|
2577
|
+
Cuboid26,
|
|
2578
|
+
{
|
|
2579
|
+
center: [p.x, p.y, thermalPadThickness / 2],
|
|
2580
|
+
size: [p.padSizeX, p.padSizeY, thermalPadThickness]
|
|
2581
|
+
},
|
|
2582
|
+
i
|
|
2583
|
+
)),
|
|
2584
|
+
thermalPadSize?.length !== void 0 && thermalPadSize?.width !== void 0 && /* @__PURE__ */ jsx38(
|
|
2585
|
+
Cuboid26,
|
|
2586
|
+
{
|
|
2587
|
+
center: [0, 0, thermalPadThickness / 2],
|
|
2588
|
+
size: [
|
|
2589
|
+
thermalPadSize.width,
|
|
2590
|
+
thermalPadSize.length,
|
|
2591
|
+
thermalPadThickness
|
|
2592
|
+
]
|
|
2593
|
+
}
|
|
2594
|
+
)
|
|
2595
|
+
] });
|
|
2596
|
+
};
|
|
2597
|
+
|
|
2598
|
+
// lib/hc49.tsx
|
|
2599
|
+
import { Colorize as Colorize18, Cylinder as Cylinder6, Hull as Hull12, RoundedCylinder } from "jscad-fiber";
|
|
2600
|
+
import { Fragment as Fragment35, jsx as jsx39, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
2601
|
+
var HC49 = ({
|
|
2602
|
+
bodyLength: bodyLength10 = 10.2,
|
|
2603
|
+
bodyWidth = 4.65,
|
|
2604
|
+
bodyHeight = 13.46,
|
|
2605
|
+
leadSpacing = 5,
|
|
2606
|
+
leadDiameter = 0.8,
|
|
2607
|
+
leadLength = 12.7,
|
|
2608
|
+
color = "#ddd",
|
|
2609
|
+
leadColor = "#b87333"
|
|
2610
|
+
}) => {
|
|
2611
|
+
const halfLength = bodyLength10 / 2;
|
|
2612
|
+
const endRadius = bodyWidth / 2;
|
|
2613
|
+
const endCenterX = halfLength - endRadius;
|
|
2614
|
+
const leadCenterX = leadSpacing / 2;
|
|
2615
|
+
const baseHeight = 0.85;
|
|
2616
|
+
return /* @__PURE__ */ jsxs37(Fragment35, { children: [
|
|
2617
|
+
/* @__PURE__ */ jsxs37(Colorize18, { color, children: [
|
|
2618
|
+
/* @__PURE__ */ jsxs37(Hull12, { children: [
|
|
2619
|
+
/* @__PURE__ */ jsx39(
|
|
2620
|
+
RoundedCylinder,
|
|
2621
|
+
{
|
|
2622
|
+
height: bodyHeight,
|
|
2623
|
+
roundRadius: 0.5,
|
|
2624
|
+
radius: endRadius,
|
|
2625
|
+
center: [-endCenterX, 0, bodyHeight]
|
|
2626
|
+
}
|
|
2627
|
+
),
|
|
2628
|
+
/* @__PURE__ */ jsx39(
|
|
2629
|
+
RoundedCylinder,
|
|
2630
|
+
{
|
|
2631
|
+
height: bodyHeight,
|
|
2632
|
+
roundRadius: 0.5,
|
|
2633
|
+
radius: endRadius,
|
|
2634
|
+
center: [endCenterX, 0, bodyHeight]
|
|
2635
|
+
}
|
|
2636
|
+
)
|
|
2637
|
+
] }),
|
|
2638
|
+
/* @__PURE__ */ jsxs37(Hull12, { children: [
|
|
2639
|
+
/* @__PURE__ */ jsx39(
|
|
2640
|
+
RoundedCylinder,
|
|
2641
|
+
{
|
|
2642
|
+
height: baseHeight,
|
|
2643
|
+
roundRadius: 0.1,
|
|
2644
|
+
radius: endRadius + 0.85,
|
|
2645
|
+
center: [-endCenterX, 0, bodyHeight / 2 + baseHeight / 2]
|
|
2646
|
+
}
|
|
2647
|
+
),
|
|
2648
|
+
/* @__PURE__ */ jsx39(
|
|
2649
|
+
RoundedCylinder,
|
|
2650
|
+
{
|
|
2651
|
+
height: baseHeight,
|
|
2652
|
+
roundRadius: 0.1,
|
|
2653
|
+
radius: endRadius + 0.85,
|
|
2654
|
+
center: [endCenterX, 0, bodyHeight / 2 + baseHeight / 2]
|
|
2655
|
+
}
|
|
2656
|
+
)
|
|
2657
|
+
] })
|
|
2658
|
+
] }),
|
|
2659
|
+
/* @__PURE__ */ jsxs37(Colorize18, { color: leadColor, children: [
|
|
2660
|
+
/* @__PURE__ */ jsx39(
|
|
2661
|
+
Cylinder6,
|
|
2662
|
+
{
|
|
2663
|
+
height: leadLength + bodyHeight / 2,
|
|
2664
|
+
radius: leadDiameter / 2,
|
|
2665
|
+
center: [-leadCenterX + 0.06, 0, -(leadLength / 2) + bodyHeight / 2]
|
|
2666
|
+
}
|
|
2667
|
+
),
|
|
2668
|
+
/* @__PURE__ */ jsx39(
|
|
2669
|
+
Cylinder6,
|
|
2670
|
+
{
|
|
2671
|
+
height: leadLength + bodyHeight / 2,
|
|
2672
|
+
radius: leadDiameter / 2,
|
|
2673
|
+
center: [leadCenterX - 0.06, 0, -(leadLength / 2) + bodyHeight / 2]
|
|
2674
|
+
}
|
|
2675
|
+
)
|
|
2676
|
+
] })
|
|
2677
|
+
] });
|
|
2678
|
+
};
|
|
2679
|
+
|
|
2528
2680
|
// lib/Footprinter3d.tsx
|
|
2529
|
-
import { jsx as
|
|
2681
|
+
import { jsx as jsx40 } from "react/jsx-runtime";
|
|
2530
2682
|
var Footprinter3d = ({ footprint }) => {
|
|
2531
2683
|
const fpJson = fp3.string(footprint).json();
|
|
2532
2684
|
switch (fpJson.fn) {
|
|
2533
2685
|
case "dip":
|
|
2534
|
-
return /* @__PURE__ */
|
|
2686
|
+
return /* @__PURE__ */ jsx40(Dip, { numPins: fpJson.num_pins, pitch: fpJson.p, bodyWidth: fpJson.w });
|
|
2535
2687
|
case "tssop":
|
|
2536
|
-
return /* @__PURE__ */
|
|
2688
|
+
return /* @__PURE__ */ jsx40(
|
|
2537
2689
|
Tssop,
|
|
2538
2690
|
{
|
|
2539
2691
|
pinCount: fpJson.num_pins,
|
|
@@ -2544,7 +2696,7 @@ var Footprinter3d = ({ footprint }) => {
|
|
|
2544
2696
|
}
|
|
2545
2697
|
);
|
|
2546
2698
|
case "vssop":
|
|
2547
|
-
return /* @__PURE__ */
|
|
2699
|
+
return /* @__PURE__ */ jsx40(
|
|
2548
2700
|
VSSOP,
|
|
2549
2701
|
{
|
|
2550
2702
|
pinCount: fpJson.num_pins,
|
|
@@ -2556,7 +2708,7 @@ var Footprinter3d = ({ footprint }) => {
|
|
|
2556
2708
|
}
|
|
2557
2709
|
);
|
|
2558
2710
|
case "qfp":
|
|
2559
|
-
return /* @__PURE__ */
|
|
2711
|
+
return /* @__PURE__ */ jsx40(
|
|
2560
2712
|
QFP,
|
|
2561
2713
|
{
|
|
2562
2714
|
pinCount: fpJson.num_pins,
|
|
@@ -2567,12 +2719,12 @@ var Footprinter3d = ({ footprint }) => {
|
|
|
2567
2719
|
}
|
|
2568
2720
|
);
|
|
2569
2721
|
case "tqfp":
|
|
2570
|
-
return /* @__PURE__ */
|
|
2722
|
+
return /* @__PURE__ */ jsx40(tqfp_default, {});
|
|
2571
2723
|
case "lqfp":
|
|
2572
|
-
return /* @__PURE__ */
|
|
2573
|
-
case "qfn":
|
|
2724
|
+
return /* @__PURE__ */ jsx40(LQFP, { pinCount: fpJson.num_pins });
|
|
2725
|
+
case "qfn": {
|
|
2574
2726
|
const hasThermalPad = typeof fpJson.thermalpad?.x === "number" && typeof fpJson.thermalpad?.y === "number";
|
|
2575
|
-
return /* @__PURE__ */
|
|
2727
|
+
return /* @__PURE__ */ jsx40(
|
|
2576
2728
|
qfn_default,
|
|
2577
2729
|
{
|
|
2578
2730
|
num_pins: fpJson.num_pins,
|
|
@@ -2587,41 +2739,60 @@ var Footprinter3d = ({ footprint }) => {
|
|
|
2587
2739
|
} : void 0
|
|
2588
2740
|
}
|
|
2589
2741
|
);
|
|
2742
|
+
}
|
|
2743
|
+
case "dfn": {
|
|
2744
|
+
const hasThermalPad = typeof fpJson.thermalpad?.x === "number" && typeof fpJson.thermalpad?.y === "number";
|
|
2745
|
+
return /* @__PURE__ */ jsx40(
|
|
2746
|
+
DFN,
|
|
2747
|
+
{
|
|
2748
|
+
num_pins: fpJson.num_pins,
|
|
2749
|
+
bodyWidth: fpJson.w,
|
|
2750
|
+
bodyLength: fpJson.h,
|
|
2751
|
+
pitch: fpJson.p,
|
|
2752
|
+
padLength: fpJson.pl,
|
|
2753
|
+
padWidth: fpJson.pw,
|
|
2754
|
+
thermalPadSize: hasThermalPad ? {
|
|
2755
|
+
width: fpJson.thermalpad.x,
|
|
2756
|
+
length: fpJson.thermalpad.y
|
|
2757
|
+
} : void 0
|
|
2758
|
+
}
|
|
2759
|
+
);
|
|
2760
|
+
}
|
|
2590
2761
|
case "pinrow":
|
|
2591
2762
|
if (fpJson.male)
|
|
2592
|
-
return /* @__PURE__ */
|
|
2763
|
+
return /* @__PURE__ */ jsx40(PinRow, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
|
|
2593
2764
|
if (fpJson.female)
|
|
2594
|
-
return /* @__PURE__ */
|
|
2765
|
+
return /* @__PURE__ */ jsx40(FemaleHeader, { numberOfPins: fpJson.num_pins, pitch: fpJson.p });
|
|
2595
2766
|
case "cap": {
|
|
2596
2767
|
switch (fpJson.imperial) {
|
|
2597
2768
|
case "0402":
|
|
2598
|
-
return /* @__PURE__ */
|
|
2769
|
+
return /* @__PURE__ */ jsx40(A0402, { color: "#856c4d" });
|
|
2599
2770
|
case "0603":
|
|
2600
|
-
return /* @__PURE__ */
|
|
2771
|
+
return /* @__PURE__ */ jsx40(A0603, { color: "#856c4d" });
|
|
2601
2772
|
case "0805":
|
|
2602
|
-
return /* @__PURE__ */
|
|
2773
|
+
return /* @__PURE__ */ jsx40(A0805, { color: "#856c4d" });
|
|
2603
2774
|
case "0201":
|
|
2604
|
-
return /* @__PURE__ */
|
|
2775
|
+
return /* @__PURE__ */ jsx40(A0201, { color: "#856c4d" });
|
|
2605
2776
|
case "01005":
|
|
2606
|
-
return /* @__PURE__ */
|
|
2777
|
+
return /* @__PURE__ */ jsx40(A01005, { color: "#856c4d" });
|
|
2607
2778
|
case "1206":
|
|
2608
|
-
return /* @__PURE__ */
|
|
2779
|
+
return /* @__PURE__ */ jsx40(A1206, { color: "#856c4d" });
|
|
2609
2780
|
case "1210":
|
|
2610
|
-
return /* @__PURE__ */
|
|
2781
|
+
return /* @__PURE__ */ jsx40(A1210, { color: "#856c4d" });
|
|
2611
2782
|
case "2010":
|
|
2612
|
-
return /* @__PURE__ */
|
|
2783
|
+
return /* @__PURE__ */ jsx40(A2010, { color: "#856c4d" });
|
|
2613
2784
|
case "2512":
|
|
2614
|
-
return /* @__PURE__ */
|
|
2785
|
+
return /* @__PURE__ */ jsx40(A2512, { color: "#856c4d" });
|
|
2615
2786
|
}
|
|
2616
2787
|
}
|
|
2617
2788
|
case "sot235":
|
|
2618
|
-
return /* @__PURE__ */
|
|
2789
|
+
return /* @__PURE__ */ jsx40(SOT_235_default, {});
|
|
2619
2790
|
case "sot223":
|
|
2620
|
-
return /* @__PURE__ */
|
|
2791
|
+
return /* @__PURE__ */ jsx40(SOT223, {});
|
|
2621
2792
|
case "sot323":
|
|
2622
|
-
return /* @__PURE__ */
|
|
2793
|
+
return /* @__PURE__ */ jsx40(SOT323, {});
|
|
2623
2794
|
case "pushbutton":
|
|
2624
|
-
return /* @__PURE__ */
|
|
2795
|
+
return /* @__PURE__ */ jsx40(
|
|
2625
2796
|
PushButton,
|
|
2626
2797
|
{
|
|
2627
2798
|
width: fpJson.w,
|
|
@@ -2630,7 +2801,7 @@ var Footprinter3d = ({ footprint }) => {
|
|
|
2630
2801
|
}
|
|
2631
2802
|
);
|
|
2632
2803
|
case "soic":
|
|
2633
|
-
return /* @__PURE__ */
|
|
2804
|
+
return /* @__PURE__ */ jsx40(
|
|
2634
2805
|
SOIC,
|
|
2635
2806
|
{
|
|
2636
2807
|
pinCount: fpJson.num_pins,
|
|
@@ -2641,49 +2812,51 @@ var Footprinter3d = ({ footprint }) => {
|
|
|
2641
2812
|
}
|
|
2642
2813
|
);
|
|
2643
2814
|
case "sod523":
|
|
2644
|
-
return /* @__PURE__ */
|
|
2815
|
+
return /* @__PURE__ */ jsx40(SOD523, {});
|
|
2645
2816
|
case "sma":
|
|
2646
|
-
return /* @__PURE__ */
|
|
2817
|
+
return /* @__PURE__ */ jsx40(SMA, {});
|
|
2647
2818
|
case "smb":
|
|
2648
|
-
return /* @__PURE__ */
|
|
2819
|
+
return /* @__PURE__ */ jsx40(SMB, {});
|
|
2649
2820
|
case "smc":
|
|
2650
|
-
return /* @__PURE__ */
|
|
2821
|
+
return /* @__PURE__ */ jsx40(SMC, {});
|
|
2651
2822
|
case "smf":
|
|
2652
|
-
return /* @__PURE__ */
|
|
2823
|
+
return /* @__PURE__ */ jsx40(SMF, {});
|
|
2653
2824
|
case "sod123f":
|
|
2654
|
-
return /* @__PURE__ */
|
|
2825
|
+
return /* @__PURE__ */ jsx40(SOD123F, {});
|
|
2655
2826
|
case "sod123fl":
|
|
2656
|
-
return /* @__PURE__ */
|
|
2827
|
+
return /* @__PURE__ */ jsx40(SOD123FL, {});
|
|
2657
2828
|
case "sod923":
|
|
2658
|
-
return /* @__PURE__ */
|
|
2829
|
+
return /* @__PURE__ */ jsx40(SOD923, {});
|
|
2830
|
+
case "hc49":
|
|
2831
|
+
return /* @__PURE__ */ jsx40(HC49, {});
|
|
2659
2832
|
}
|
|
2660
2833
|
const colorMatch = footprint.match(/_color\(([^)]+)\)/);
|
|
2661
2834
|
const color = colorMatch ? colorMatch[1] : void 0;
|
|
2662
2835
|
switch (fpJson.imperial) {
|
|
2663
2836
|
case "0402":
|
|
2664
|
-
return /* @__PURE__ */
|
|
2837
|
+
return /* @__PURE__ */ jsx40(A0402, { color });
|
|
2665
2838
|
case "0603":
|
|
2666
|
-
return /* @__PURE__ */
|
|
2839
|
+
return /* @__PURE__ */ jsx40(A0603, { color });
|
|
2667
2840
|
case "0805":
|
|
2668
|
-
return /* @__PURE__ */
|
|
2841
|
+
return /* @__PURE__ */ jsx40(A0805, { color });
|
|
2669
2842
|
case "0201":
|
|
2670
|
-
return /* @__PURE__ */
|
|
2843
|
+
return /* @__PURE__ */ jsx40(A0201, { color });
|
|
2671
2844
|
case "01005":
|
|
2672
|
-
return /* @__PURE__ */
|
|
2845
|
+
return /* @__PURE__ */ jsx40(A01005, { color });
|
|
2673
2846
|
case "1206":
|
|
2674
|
-
return /* @__PURE__ */
|
|
2847
|
+
return /* @__PURE__ */ jsx40(A1206, { color });
|
|
2675
2848
|
case "1210":
|
|
2676
|
-
return /* @__PURE__ */
|
|
2849
|
+
return /* @__PURE__ */ jsx40(A1210, { color });
|
|
2677
2850
|
case "2010":
|
|
2678
|
-
return /* @__PURE__ */
|
|
2851
|
+
return /* @__PURE__ */ jsx40(A2010, { color });
|
|
2679
2852
|
case "2512":
|
|
2680
|
-
return /* @__PURE__ */
|
|
2853
|
+
return /* @__PURE__ */ jsx40(A2512, { color });
|
|
2681
2854
|
}
|
|
2682
2855
|
return null;
|
|
2683
2856
|
};
|
|
2684
2857
|
|
|
2685
2858
|
// lib/SOT-23-3P.tsx
|
|
2686
|
-
import { Fragment as
|
|
2859
|
+
import { Fragment as Fragment36, jsx as jsx41, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
2687
2860
|
var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
|
|
2688
2861
|
const bodyWidth = 1.3;
|
|
2689
2862
|
const bodyLength10 = 2.9;
|
|
@@ -2694,8 +2867,8 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
|
|
|
2694
2867
|
const padContactLength = 0.4;
|
|
2695
2868
|
const padThickness = leadThickness / 2;
|
|
2696
2869
|
const extendedBodyDistance = (fullWidth - bodyWidth) / 2 + 0.3;
|
|
2697
|
-
return /* @__PURE__ */
|
|
2698
|
-
/* @__PURE__ */
|
|
2870
|
+
return /* @__PURE__ */ jsxs38(Fragment36, { children: [
|
|
2871
|
+
/* @__PURE__ */ jsx41(
|
|
2699
2872
|
SmdChipLead,
|
|
2700
2873
|
{
|
|
2701
2874
|
rotation: Math.PI,
|
|
@@ -2712,7 +2885,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
|
|
|
2712
2885
|
},
|
|
2713
2886
|
1
|
|
2714
2887
|
),
|
|
2715
|
-
/* @__PURE__ */
|
|
2888
|
+
/* @__PURE__ */ jsx41(
|
|
2716
2889
|
SmdChipLead,
|
|
2717
2890
|
{
|
|
2718
2891
|
rotation: Math.PI,
|
|
@@ -2729,7 +2902,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
|
|
|
2729
2902
|
},
|
|
2730
2903
|
2
|
|
2731
2904
|
),
|
|
2732
|
-
/* @__PURE__ */
|
|
2905
|
+
/* @__PURE__ */ jsx41(
|
|
2733
2906
|
SmdChipLead,
|
|
2734
2907
|
{
|
|
2735
2908
|
position: {
|
|
@@ -2745,7 +2918,7 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
|
|
|
2745
2918
|
},
|
|
2746
2919
|
3
|
|
2747
2920
|
),
|
|
2748
|
-
/* @__PURE__ */
|
|
2921
|
+
/* @__PURE__ */ jsx41(
|
|
2749
2922
|
ChipBody,
|
|
2750
2923
|
{
|
|
2751
2924
|
center: { x: 0, y: 0, z: 0 },
|
|
@@ -2758,8 +2931,8 @@ var SOT233P = ({ fullWidth = 2.9, fullLength: fullLength10 = 2.8 }) => {
|
|
|
2758
2931
|
};
|
|
2759
2932
|
|
|
2760
2933
|
// lib/SOT-563.tsx
|
|
2761
|
-
import { Cuboid as
|
|
2762
|
-
import { Fragment as
|
|
2934
|
+
import { Cuboid as Cuboid27, Translate as Translate17, Rotate as Rotate6, Colorize as Colorize19 } from "jscad-fiber";
|
|
2935
|
+
import { Fragment as Fragment37, jsx as jsx42, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
2763
2936
|
var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
|
|
2764
2937
|
const bodyWidth = 1.2;
|
|
2765
2938
|
const bodyLength10 = 1.6;
|
|
@@ -2769,11 +2942,11 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
|
|
|
2769
2942
|
const leadHeight = 0.13;
|
|
2770
2943
|
const leadSpacing = 0.5;
|
|
2771
2944
|
const bodyZOffset = -0.4;
|
|
2772
|
-
return /* @__PURE__ */
|
|
2773
|
-
/* @__PURE__ */
|
|
2945
|
+
return /* @__PURE__ */ jsxs39(Fragment37, { children: [
|
|
2946
|
+
/* @__PURE__ */ jsx42(Rotate6, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx42(Translate17, { center: [0, 0, bodyZOffset], children: /* @__PURE__ */ jsx42(Colorize19, { color: "grey", children: /* @__PURE__ */ jsx42(Cuboid27, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
|
|
2774
2947
|
[-1, 0, 1].flatMap((yOffset, index) => [
|
|
2775
2948
|
// Left lead
|
|
2776
|
-
/* @__PURE__ */
|
|
2949
|
+
/* @__PURE__ */ jsx42(
|
|
2777
2950
|
Translate17,
|
|
2778
2951
|
{
|
|
2779
2952
|
center: [
|
|
@@ -2781,16 +2954,16 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
|
|
|
2781
2954
|
yOffset * leadSpacing,
|
|
2782
2955
|
leadHeight / 2
|
|
2783
2956
|
],
|
|
2784
|
-
children: /* @__PURE__ */
|
|
2957
|
+
children: /* @__PURE__ */ jsx42(Cuboid27, { size: [leadLength, leadWidth, leadHeight] })
|
|
2785
2958
|
},
|
|
2786
2959
|
`left-${index}`
|
|
2787
2960
|
),
|
|
2788
2961
|
// Right lead
|
|
2789
|
-
/* @__PURE__ */
|
|
2962
|
+
/* @__PURE__ */ jsx42(
|
|
2790
2963
|
Translate17,
|
|
2791
2964
|
{
|
|
2792
2965
|
center: [bodyWidth / 2 + 0.03, yOffset * leadSpacing, leadHeight / 2],
|
|
2793
|
-
children: /* @__PURE__ */
|
|
2966
|
+
children: /* @__PURE__ */ jsx42(Cuboid27, { size: [leadLength, leadWidth, leadHeight] })
|
|
2794
2967
|
},
|
|
2795
2968
|
`right-${index}`
|
|
2796
2969
|
)
|
|
@@ -2799,8 +2972,8 @@ var SOT563 = ({ fullWidth = 1.94, fullLength: fullLength10 = 1.6 }) => {
|
|
|
2799
2972
|
};
|
|
2800
2973
|
|
|
2801
2974
|
// lib/SOT-723.tsx
|
|
2802
|
-
import { Cuboid as
|
|
2803
|
-
import { Fragment as
|
|
2975
|
+
import { Cuboid as Cuboid28, Translate as Translate18, Rotate as Rotate7, Colorize as Colorize20 } from "jscad-fiber";
|
|
2976
|
+
import { Fragment as Fragment38, jsx as jsx43, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
2804
2977
|
var getCcwSot723Coords = (pn) => {
|
|
2805
2978
|
if (pn === 1) {
|
|
2806
2979
|
return { x: 0, y: 0 };
|
|
@@ -2818,12 +2991,12 @@ var SOT723 = () => {
|
|
|
2818
2991
|
const leadLength = 0.3;
|
|
2819
2992
|
const leadHeight = 0.1;
|
|
2820
2993
|
const centerLeadWidth = 0.42;
|
|
2821
|
-
return /* @__PURE__ */
|
|
2822
|
-
/* @__PURE__ */
|
|
2994
|
+
return /* @__PURE__ */ jsxs40(Fragment38, { children: [
|
|
2995
|
+
/* @__PURE__ */ jsx43(Rotate7, { rotation: [45 * Math.PI, 0, 0], children: /* @__PURE__ */ jsx43(Translate18, { center: [0.475, leadHeight / 2, -0.25], children: /* @__PURE__ */ jsx43(Colorize20, { color: "grey", children: /* @__PURE__ */ jsx43(Cuboid28, { size: [bodyWidth, bodyLength10, bodyHeight] }) }) }) }),
|
|
2823
2996
|
[1, 2, 3].map((pn) => {
|
|
2824
2997
|
const { x, y } = getCcwSot723Coords(pn);
|
|
2825
|
-
return /* @__PURE__ */
|
|
2826
|
-
|
|
2998
|
+
return /* @__PURE__ */ jsx43(Translate18, { center: [x, y, 0.05], children: /* @__PURE__ */ jsx43(
|
|
2999
|
+
Cuboid28,
|
|
2827
3000
|
{
|
|
2828
3001
|
size: [
|
|
2829
3002
|
leadLength,
|
|
@@ -2837,7 +3010,7 @@ var SOT723 = () => {
|
|
|
2837
3010
|
};
|
|
2838
3011
|
|
|
2839
3012
|
// lib/sod-123.tsx
|
|
2840
|
-
import { Fragment as
|
|
3013
|
+
import { Fragment as Fragment39, jsx as jsx44, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
2841
3014
|
var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
|
|
2842
3015
|
const bodyWidth = 2.9;
|
|
2843
3016
|
const bodyLength10 = 1.3;
|
|
@@ -2848,8 +3021,8 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
|
|
|
2848
3021
|
const padContactLength = 0.4;
|
|
2849
3022
|
const padThickness = leadThickness / 2;
|
|
2850
3023
|
const bodyDistance = (fullWidth - bodyWidth) / 2;
|
|
2851
|
-
return /* @__PURE__ */
|
|
2852
|
-
/* @__PURE__ */
|
|
3024
|
+
return /* @__PURE__ */ jsxs41(Fragment39, { children: [
|
|
3025
|
+
/* @__PURE__ */ jsx44(
|
|
2853
3026
|
SmdChipLead,
|
|
2854
3027
|
{
|
|
2855
3028
|
position: {
|
|
@@ -2865,7 +3038,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
|
|
|
2865
3038
|
},
|
|
2866
3039
|
1
|
|
2867
3040
|
),
|
|
2868
|
-
/* @__PURE__ */
|
|
3041
|
+
/* @__PURE__ */ jsx44(
|
|
2869
3042
|
SmdChipLead,
|
|
2870
3043
|
{
|
|
2871
3044
|
rotation: Math.PI,
|
|
@@ -2882,7 +3055,7 @@ var SOD123 = ({ fullWidth = 3.8, fullLength: fullLength10 = 1.6 }) => {
|
|
|
2882
3055
|
},
|
|
2883
3056
|
2
|
|
2884
3057
|
),
|
|
2885
|
-
/* @__PURE__ */
|
|
3058
|
+
/* @__PURE__ */ jsx44(
|
|
2886
3059
|
ChipBody,
|
|
2887
3060
|
{
|
|
2888
3061
|
center: { x: 0, y: 0, z: 0 },
|
|
@@ -2905,10 +3078,12 @@ export {
|
|
|
2905
3078
|
A2512,
|
|
2906
3079
|
BGA,
|
|
2907
3080
|
ChipBody,
|
|
3081
|
+
DFN,
|
|
2908
3082
|
ExtrudedPads,
|
|
2909
3083
|
FootprintPad,
|
|
2910
3084
|
FootprintPlatedHole,
|
|
2911
3085
|
Footprinter3d,
|
|
3086
|
+
HC49,
|
|
2912
3087
|
LQFP,
|
|
2913
3088
|
PinRow,
|
|
2914
3089
|
QFN,
|