@tscircuit/footprinter 0.0.274 → 0.0.275
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 +111 -45
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -3437,6 +3437,29 @@ var pad = (params) => {
|
|
|
3437
3437
|
|
|
3438
3438
|
// src/fn/to92.ts
|
|
3439
3439
|
import { z as z25 } from "zod";
|
|
3440
|
+
import "@tscircuit/mm";
|
|
3441
|
+
|
|
3442
|
+
// src/helpers/platedHolePill.ts
|
|
3443
|
+
import { mm as mm6 } from "@tscircuit/mm";
|
|
3444
|
+
var platedHolePill = (pn, x, y, holeDiameter, outerWidth, outerHeight) => {
|
|
3445
|
+
return {
|
|
3446
|
+
pcb_plated_hole_id: "",
|
|
3447
|
+
type: "pcb_plated_hole",
|
|
3448
|
+
shape: "pill",
|
|
3449
|
+
x,
|
|
3450
|
+
y,
|
|
3451
|
+
outer_width: mm6(outerWidth),
|
|
3452
|
+
outer_height: mm6(outerHeight),
|
|
3453
|
+
hole_width: mm6(holeDiameter),
|
|
3454
|
+
hole_height: mm6(holeDiameter),
|
|
3455
|
+
pcb_port_id: "",
|
|
3456
|
+
layers: ["top", "bottom"],
|
|
3457
|
+
port_hints: [pn.toString()],
|
|
3458
|
+
ccw_rotation: 0
|
|
3459
|
+
};
|
|
3460
|
+
};
|
|
3461
|
+
|
|
3462
|
+
// src/fn/to92.ts
|
|
3440
3463
|
var to92_def = base_def.extend({
|
|
3441
3464
|
fn: z25.string(),
|
|
3442
3465
|
num_pins: z25.union([z25.literal(3), z25.literal(2)]).default(3),
|
|
@@ -3457,15 +3480,6 @@ var generateSemicircle = (centerX, centerY, radius) => {
|
|
|
3457
3480
|
};
|
|
3458
3481
|
});
|
|
3459
3482
|
};
|
|
3460
|
-
var to92_2 = (parameters) => {
|
|
3461
|
-
const { p, id, od, h } = parameters;
|
|
3462
|
-
const holeY = Number.parseFloat(h) / 2;
|
|
3463
|
-
const padSpacing = Number.parseFloat(p);
|
|
3464
|
-
return [
|
|
3465
|
-
platedhole(1, -padSpacing, holeY - padSpacing, id, od),
|
|
3466
|
-
platedhole(2, padSpacing, holeY - padSpacing, id, od)
|
|
3467
|
-
];
|
|
3468
|
-
};
|
|
3469
3483
|
var to92 = (raw_params) => {
|
|
3470
3484
|
const match = raw_params.string?.match(/^to92_(\d+)/);
|
|
3471
3485
|
const numPins = match ? Number.parseInt(match[1], 10) : 3;
|
|
@@ -3476,19 +3490,71 @@ var to92 = (raw_params) => {
|
|
|
3476
3490
|
const { p, id, od, w, h, inline } = parameters;
|
|
3477
3491
|
const holeY = Number.parseFloat(h) / 2;
|
|
3478
3492
|
const padSpacing = Number.parseFloat(p);
|
|
3493
|
+
const holeDia = Number.parseFloat(id);
|
|
3494
|
+
const padDia = Number.parseFloat(od);
|
|
3495
|
+
const padWidth = padDia;
|
|
3496
|
+
const padHeight = padDia * (1.5 / 1.05);
|
|
3479
3497
|
let platedHoles = [];
|
|
3480
3498
|
if (parameters.num_pins === 3) {
|
|
3481
|
-
|
|
3482
|
-
|
|
3483
|
-
|
|
3484
|
-
|
|
3485
|
-
|
|
3486
|
-
|
|
3487
|
-
|
|
3488
|
-
|
|
3489
|
-
|
|
3499
|
+
if (inline) {
|
|
3500
|
+
platedHoles = [
|
|
3501
|
+
platedHoleWithRectPad(
|
|
3502
|
+
1,
|
|
3503
|
+
-padSpacing,
|
|
3504
|
+
holeY - padSpacing,
|
|
3505
|
+
holeDia,
|
|
3506
|
+
padDia,
|
|
3507
|
+
padHeight,
|
|
3508
|
+
0,
|
|
3509
|
+
0
|
|
3510
|
+
),
|
|
3511
|
+
platedHolePill(2, 0, holeY - padSpacing, holeDia, padWidth, padHeight),
|
|
3512
|
+
platedHolePill(
|
|
3513
|
+
3,
|
|
3514
|
+
padSpacing,
|
|
3515
|
+
holeY - padSpacing,
|
|
3516
|
+
holeDia,
|
|
3517
|
+
padWidth,
|
|
3518
|
+
padHeight
|
|
3519
|
+
)
|
|
3520
|
+
];
|
|
3521
|
+
} else {
|
|
3522
|
+
platedHoles = [
|
|
3523
|
+
platedHoleWithRectPad(
|
|
3524
|
+
1,
|
|
3525
|
+
-padSpacing,
|
|
3526
|
+
holeY - padSpacing,
|
|
3527
|
+
holeDia,
|
|
3528
|
+
padDia,
|
|
3529
|
+
padDia,
|
|
3530
|
+
0,
|
|
3531
|
+
0
|
|
3532
|
+
),
|
|
3533
|
+
platedhole(2, 0, holeY, holeDia, padDia),
|
|
3534
|
+
platedhole(3, padSpacing, holeY - padSpacing, holeDia, padDia)
|
|
3535
|
+
];
|
|
3536
|
+
}
|
|
3490
3537
|
} else if (parameters.num_pins === 2) {
|
|
3491
|
-
platedHoles =
|
|
3538
|
+
platedHoles = [
|
|
3539
|
+
platedHoleWithRectPad(
|
|
3540
|
+
1,
|
|
3541
|
+
-padSpacing,
|
|
3542
|
+
holeY - padSpacing,
|
|
3543
|
+
holeDia,
|
|
3544
|
+
padWidth,
|
|
3545
|
+
padHeight,
|
|
3546
|
+
0,
|
|
3547
|
+
0
|
|
3548
|
+
),
|
|
3549
|
+
platedHolePill(
|
|
3550
|
+
2,
|
|
3551
|
+
padSpacing,
|
|
3552
|
+
holeY - padSpacing,
|
|
3553
|
+
holeDia,
|
|
3554
|
+
padWidth,
|
|
3555
|
+
padHeight
|
|
3556
|
+
)
|
|
3557
|
+
];
|
|
3492
3558
|
} else {
|
|
3493
3559
|
throw new Error("Invalid number of pins for TO-92");
|
|
3494
3560
|
}
|
|
@@ -7187,7 +7253,7 @@ var sot323_3 = (parameters) => {
|
|
|
7187
7253
|
// src/fn/smtpad.ts
|
|
7188
7254
|
import { z as z63 } from "zod";
|
|
7189
7255
|
import { length as length48 } from "circuit-json";
|
|
7190
|
-
import { mm as
|
|
7256
|
+
import { mm as mm8 } from "@tscircuit/mm";
|
|
7191
7257
|
var smtpad_def = base_def.extend({
|
|
7192
7258
|
fn: z63.string(),
|
|
7193
7259
|
circle: z63.boolean().optional(),
|
|
@@ -7219,27 +7285,27 @@ var smtpad_def = base_def.extend({
|
|
|
7219
7285
|
let width;
|
|
7220
7286
|
let height;
|
|
7221
7287
|
if (shape === "circle") {
|
|
7222
|
-
if (v.r !== void 0) radius =
|
|
7223
|
-
else if (v.pr !== void 0) radius =
|
|
7224
|
-
else if (v.radius !== void 0) radius =
|
|
7225
|
-
else if (v.d !== void 0) radius =
|
|
7226
|
-
else if (v.pd !== void 0) radius =
|
|
7227
|
-
else if (v.diameter !== void 0) radius =
|
|
7228
|
-
else radius =
|
|
7288
|
+
if (v.r !== void 0) radius = mm8(v.r);
|
|
7289
|
+
else if (v.pr !== void 0) radius = mm8(v.pr);
|
|
7290
|
+
else if (v.radius !== void 0) radius = mm8(v.radius);
|
|
7291
|
+
else if (v.d !== void 0) radius = mm8(v.d) / 2;
|
|
7292
|
+
else if (v.pd !== void 0) radius = mm8(v.pd) / 2;
|
|
7293
|
+
else if (v.diameter !== void 0) radius = mm8(v.diameter) / 2;
|
|
7294
|
+
else radius = mm8("1mm") / 2;
|
|
7229
7295
|
} else {
|
|
7230
|
-
if (v.w !== void 0) width =
|
|
7231
|
-
else if (v.pw !== void 0) width =
|
|
7232
|
-
else if (v.width !== void 0) width =
|
|
7233
|
-
else if (v.s !== void 0) width =
|
|
7234
|
-
else if (v.size !== void 0) width =
|
|
7235
|
-
else width =
|
|
7236
|
-
if (v.h !== void 0) height =
|
|
7237
|
-
else if (v.ph !== void 0) height =
|
|
7238
|
-
else if (v.height !== void 0) height =
|
|
7296
|
+
if (v.w !== void 0) width = mm8(v.w);
|
|
7297
|
+
else if (v.pw !== void 0) width = mm8(v.pw);
|
|
7298
|
+
else if (v.width !== void 0) width = mm8(v.width);
|
|
7299
|
+
else if (v.s !== void 0) width = mm8(v.s);
|
|
7300
|
+
else if (v.size !== void 0) width = mm8(v.size);
|
|
7301
|
+
else width = mm8("1mm");
|
|
7302
|
+
if (v.h !== void 0) height = mm8(v.h);
|
|
7303
|
+
else if (v.ph !== void 0) height = mm8(v.ph);
|
|
7304
|
+
else if (v.height !== void 0) height = mm8(v.height);
|
|
7239
7305
|
else if (shape === "square") height = width;
|
|
7240
7306
|
else if (shape === "rect")
|
|
7241
7307
|
height = width;
|
|
7242
|
-
else height =
|
|
7308
|
+
else height = mm8("1mm");
|
|
7243
7309
|
}
|
|
7244
7310
|
return {
|
|
7245
7311
|
fn: v.fn,
|
|
@@ -7276,7 +7342,7 @@ var smtpad = (raw_params) => {
|
|
|
7276
7342
|
// src/fn/platedhole.ts
|
|
7277
7343
|
import { z as z64 } from "zod";
|
|
7278
7344
|
import { length as length49 } from "circuit-json";
|
|
7279
|
-
import { mm as
|
|
7345
|
+
import { mm as mm9 } from "@tscircuit/mm";
|
|
7280
7346
|
var platedhole_def = base_def.extend({
|
|
7281
7347
|
fn: z64.string(),
|
|
7282
7348
|
d: length49.optional(),
|
|
@@ -7288,14 +7354,14 @@ var platedhole_def = base_def.extend({
|
|
|
7288
7354
|
squarepad: z64.boolean().optional().default(false)
|
|
7289
7355
|
}).transform((v) => {
|
|
7290
7356
|
let holeD;
|
|
7291
|
-
if (v.d !== void 0) holeD =
|
|
7292
|
-
else if (v.hd !== void 0) holeD =
|
|
7293
|
-
else if (v.r !== void 0) holeD =
|
|
7294
|
-
else if (v.hr !== void 0) holeD =
|
|
7295
|
-
else holeD =
|
|
7357
|
+
if (v.d !== void 0) holeD = mm9(v.d);
|
|
7358
|
+
else if (v.hd !== void 0) holeD = mm9(v.hd);
|
|
7359
|
+
else if (v.r !== void 0) holeD = mm9(v.r) * 2;
|
|
7360
|
+
else if (v.hr !== void 0) holeD = mm9(v.hr) * 2;
|
|
7361
|
+
else holeD = mm9("1mm");
|
|
7296
7362
|
let padD;
|
|
7297
|
-
if (v.pd !== void 0) padD =
|
|
7298
|
-
else if (v.pr !== void 0) padD =
|
|
7363
|
+
if (v.pd !== void 0) padD = mm9(v.pd);
|
|
7364
|
+
else if (v.pr !== void 0) padD = mm9(v.pr) * 2;
|
|
7299
7365
|
else padD = holeD * (1.5 / 1);
|
|
7300
7366
|
return {
|
|
7301
7367
|
fn: v.fn,
|