jscad-electronics 0.0.97 → 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
@@ -3133,6 +3133,74 @@ var MS012 = ({
3133
3133
  ] });
3134
3134
  };
3135
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
+
3136
3204
  // lib/TO220.tsx
3137
3205
  var TO220 = () => {
3138
3206
  const fullLength10 = 20;
@@ -3697,6 +3765,16 @@ var Footprinter3d = ({ footprint }) => {
3697
3765
  pitch: fpJson.p
3698
3766
  }
3699
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
+ );
3700
3778
  case "sot723":
3701
3779
  return /* @__PURE__ */ jsx(SOT723, {});
3702
3780
  case "to220":