jscad-electronics 0.0.96 → 0.0.98

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
@@ -2147,6 +2147,80 @@ var SOD123FL = () => {
2147
2147
  ] });
2148
2148
  };
2149
2149
 
2150
+ // lib/sod-123W.tsx
2151
+ var SOD123W = () => {
2152
+ const fullWidth = 2.6;
2153
+ const bodyLength10 = 1.7;
2154
+ const bodyHeight = 1;
2155
+ const padWidth = 0.9;
2156
+ const padLength = 0.9;
2157
+ const padThickness = 0.2;
2158
+ const leftPadCenterX = -(fullWidth / 2 - 0.075);
2159
+ const rightPadCenterX = fullWidth / 2 - 0.075;
2160
+ const taperOffset = 0.4;
2161
+ const lowerTaperOffset = 0.1;
2162
+ const straightHeight = bodyHeight * 0.2;
2163
+ return /* @__PURE__ */ jsxs(Fragment2, { children: [
2164
+ /* @__PURE__ */ jsx(
2165
+ Cuboid,
2166
+ {
2167
+ color: "#ccc",
2168
+ size: [padLength, padWidth, padThickness],
2169
+ center: [leftPadCenterX, 0, padThickness / 2]
2170
+ }
2171
+ ),
2172
+ /* @__PURE__ */ jsx(
2173
+ Cuboid,
2174
+ {
2175
+ color: "#ccc",
2176
+ size: [padLength, padWidth, padThickness],
2177
+ center: [rightPadCenterX, 0, padThickness / 2]
2178
+ }
2179
+ ),
2180
+ /* @__PURE__ */ jsx(Colorize, { color: "#222", children: /* @__PURE__ */ jsxs(Union, { children: [
2181
+ /* @__PURE__ */ jsxs(Hull, { children: [
2182
+ /* @__PURE__ */ jsx(Translate, { z: straightHeight, children: /* @__PURE__ */ jsx(
2183
+ Cuboid,
2184
+ {
2185
+ size: [
2186
+ fullWidth - lowerTaperOffset / 2,
2187
+ bodyLength10 - lowerTaperOffset / 2,
2188
+ 0.01
2189
+ ]
2190
+ }
2191
+ ) }),
2192
+ /* @__PURE__ */ jsx(Translate, { z: 0.01, children: /* @__PURE__ */ jsx(
2193
+ Cuboid,
2194
+ {
2195
+ size: [
2196
+ fullWidth - lowerTaperOffset,
2197
+ bodyLength10 - lowerTaperOffset,
2198
+ 0.01
2199
+ ]
2200
+ }
2201
+ ) })
2202
+ ] }),
2203
+ /* @__PURE__ */ jsxs(Hull, { children: [
2204
+ /* @__PURE__ */ jsx(Translate, { z: straightHeight, children: /* @__PURE__ */ jsx(Cuboid, { size: [fullWidth, bodyLength10, 0.01] }) }),
2205
+ /* @__PURE__ */ jsx(Translate, { z: bodyHeight, children: /* @__PURE__ */ jsx(
2206
+ Cuboid,
2207
+ {
2208
+ size: [fullWidth - taperOffset, bodyLength10 - taperOffset, 0.01]
2209
+ }
2210
+ ) })
2211
+ ] })
2212
+ ] }) }),
2213
+ /* @__PURE__ */ jsx(
2214
+ Cuboid,
2215
+ {
2216
+ color: "#777",
2217
+ size: [padThickness * 2.7, bodyLength10 - taperOffset, 0.02],
2218
+ center: [leftPadCenterX + taperOffset, 0, bodyHeight]
2219
+ }
2220
+ )
2221
+ ] });
2222
+ };
2223
+
2150
2224
  // lib/sod-128.tsx
2151
2225
  var SOD128 = () => {
2152
2226
  const fullWidth = 3.8;
@@ -3059,6 +3133,74 @@ var MS012 = ({
3059
3133
  ] });
3060
3134
  };
3061
3135
 
3136
+ // lib/ms013.tsx
3137
+ var MS013 = ({
3138
+ pinCount = 16,
3139
+ padContactLength = 0.6,
3140
+ leadWidth = 0.41,
3141
+ pitch = 1.27
3142
+ }) => {
3143
+ if (pinCount !== 16) {
3144
+ throw new Error("MS013 only supports 16 pins");
3145
+ }
3146
+ const sidePinCount = pinCount / 2;
3147
+ const bodyWidth = 7.5;
3148
+ const bodyLength10 = 10.3;
3149
+ const pinOffsetToCenter = (sidePinCount - 1) * pitch / 2;
3150
+ const leadThickness = 0.2;
3151
+ return /* @__PURE__ */ jsxs(Fragment2, { children: [
3152
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx(
3153
+ SmdChipLead,
3154
+ {
3155
+ position: {
3156
+ x: -bodyWidth / 2 - padContactLength - 0.3,
3157
+ y: i * pitch - pinOffsetToCenter,
3158
+ z: leadThickness / 2
3159
+ },
3160
+ width: leadWidth,
3161
+ thickness: leadThickness,
3162
+ padContactLength,
3163
+ bodyDistance: padContactLength + 0.4,
3164
+ height: 0.85
3165
+ },
3166
+ i
3167
+ )),
3168
+ Array.from({ length: sidePinCount }).map((_, i) => /* @__PURE__ */ jsx(
3169
+ SmdChipLead,
3170
+ {
3171
+ rotation: Math.PI,
3172
+ position: {
3173
+ x: bodyWidth / 2 + padContactLength + 0.3,
3174
+ y: i * pitch - pinOffsetToCenter,
3175
+ z: leadThickness / 2
3176
+ },
3177
+ width: leadWidth,
3178
+ thickness: leadThickness,
3179
+ padContactLength,
3180
+ bodyDistance: padContactLength + 0.4,
3181
+ height: 0.85
3182
+ },
3183
+ `right-${i}`
3184
+ )),
3185
+ /* @__PURE__ */ jsx(
3186
+ ChipBody,
3187
+ {
3188
+ center: { x: 0, y: 0, z: leadThickness / 2 },
3189
+ width: bodyWidth,
3190
+ length: bodyLength10,
3191
+ height: 1.1,
3192
+ notchPosition: {
3193
+ x: bodyWidth / 2 - 1.5,
3194
+ y: bodyLength10 / 2 - 1.5,
3195
+ z: 1.1
3196
+ },
3197
+ heightAboveSurface: 0.17,
3198
+ taperRatio: 0.05
3199
+ }
3200
+ )
3201
+ ] });
3202
+ };
3203
+
3062
3204
  // lib/TO220.tsx
3063
3205
  var TO220 = () => {
3064
3206
  const fullLength10 = 20;
@@ -3599,6 +3741,8 @@ var Footprinter3d = ({ footprint }) => {
3599
3741
  return /* @__PURE__ */ jsx(SOD123F, {});
3600
3742
  case "sod123fl":
3601
3743
  return /* @__PURE__ */ jsx(SOD123FL, {});
3744
+ case "sod123w":
3745
+ return /* @__PURE__ */ jsx(SOD123W, {});
3602
3746
  case "sod128":
3603
3747
  return /* @__PURE__ */ jsx(SOD128, {});
3604
3748
  case "sod923":
@@ -3621,6 +3765,16 @@ var Footprinter3d = ({ footprint }) => {
3621
3765
  pitch: fpJson.p
3622
3766
  }
3623
3767
  );
3768
+ case "ms013":
3769
+ return /* @__PURE__ */ jsx(
3770
+ MS013,
3771
+ {
3772
+ pinCount: fpJson.num_pins,
3773
+ padContactLength: fpJson.pl,
3774
+ leadWidth: fpJson.pw,
3775
+ pitch: fpJson.p
3776
+ }
3777
+ );
3624
3778
  case "sot723":
3625
3779
  return /* @__PURE__ */ jsx(SOT723, {});
3626
3780
  case "to220":