jscad-electronics 0.0.81 → 0.0.82

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/vanilla.js CHANGED
@@ -108,7 +108,7 @@ var ChipBody = ({
108
108
  }
109
109
  return /* @__PURE__ */ jsx(Colorize, { color, children: /* @__PURE__ */ jsx(Translate, { offset: center, children: /* @__PURE__ */ jsx(Translate, { offset: { x: 0, y: 0, z: heightAboveSurface2 }, children: includeNotch ? /* @__PURE__ */ jsxs(Subtract, { children: [
110
110
  finalBody,
111
- /* @__PURE__ */ jsx(Translate, { offset: actualNotchPosition, children: /* @__PURE__ */ jsx(Rotate, { rotation: notchRotation, children: /* @__PURE__ */ jsx(Cylinder, { radius: notchLength, height: notchWidth }) }) })
111
+ /* @__PURE__ */ jsx(Translate, { offset: actualNotchPosition, children: /* @__PURE__ */ jsx(Rotate, { rotation: notchRotation, children: /* @__PURE__ */ jsx(Cylinder, { radius: actualNotchRadius, height: notchWidth }) }) })
112
112
  ] }) : finalBody }) }) });
113
113
  };
114
114
 
@@ -356,6 +356,66 @@ var Tssop = ({
356
356
  ] });
357
357
  };
358
358
 
359
+ // lib/MSOP.tsx
360
+ var MSOP = ({
361
+ pinCount,
362
+ padContactLength = 0.4,
363
+ leadWidth = 0.2,
364
+ pitch = 0.65,
365
+ bodyWidth = 3
366
+ }) => {
367
+ const sidePinCount = Math.ceil(pinCount / 2);
368
+ const pinOffsetToCenter = (sidePinCount - 1) * pitch / 2;
369
+ const leadThickness = 0.2;
370
+ return /* @__PURE__ */ jsxs(Fragment2, { children: [
371
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx(
372
+ SmdChipLead,
373
+ {
374
+ position: {
375
+ x: -bodyWidth / 2 - padContactLength - 0.3,
376
+ y: i * pitch - pinOffsetToCenter,
377
+ z: leadThickness / 2
378
+ },
379
+ width: leadWidth,
380
+ thickness: leadThickness,
381
+ padContactLength,
382
+ bodyDistance: padContactLength + 0.4,
383
+ height: 0.6
384
+ },
385
+ i
386
+ )),
387
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx(
388
+ SmdChipLead,
389
+ {
390
+ rotation: Math.PI,
391
+ position: {
392
+ x: bodyWidth / 2 + padContactLength + 0.3,
393
+ y: i * pitch - pinOffsetToCenter,
394
+ z: leadThickness / 2
395
+ },
396
+ width: leadWidth,
397
+ thickness: leadThickness,
398
+ padContactLength,
399
+ bodyDistance: padContactLength + 0.4,
400
+ height: 0.6
401
+ },
402
+ i
403
+ )),
404
+ /* @__PURE__ */ jsx(
405
+ ChipBody,
406
+ {
407
+ center: { x: 0, y: 0, z: leadThickness / 2 },
408
+ width: bodyWidth,
409
+ length: bodyWidth,
410
+ height: 1.1,
411
+ notchRadius: 0.35,
412
+ heightAboveSurface: 0.1,
413
+ taperRatio: 0.09
414
+ }
415
+ )
416
+ ] });
417
+ };
418
+
359
419
  // lib/A0402.tsx
360
420
  var fullLength = 1;
361
421
  var width = 0.5;
@@ -2599,6 +2659,17 @@ var Footprinter3d = ({ footprint }) => {
2599
2659
  bodyWidth: fpJson.w
2600
2660
  }
2601
2661
  );
2662
+ case "msop":
2663
+ return /* @__PURE__ */ jsx(
2664
+ MSOP,
2665
+ {
2666
+ pinCount: fpJson.num_pins,
2667
+ padContactLength: fpJson.pl,
2668
+ leadWidth: fpJson.pw,
2669
+ pitch: fpJson.p,
2670
+ bodyWidth: fpJson.w
2671
+ }
2672
+ );
2602
2673
  case "vssop":
2603
2674
  return /* @__PURE__ */ jsx(
2604
2675
  VSSOP,