@tscircuit/footprinter 0.0.347 → 0.0.349
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 +36 -31
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1400,6 +1400,8 @@ var soic = (raw_params) => {
|
|
|
1400
1400
|
};
|
|
1401
1401
|
var soicWithoutParsing = (parameters) => {
|
|
1402
1402
|
const pads = [];
|
|
1403
|
+
let maxPadExtentX = 0;
|
|
1404
|
+
let maxPadExtentY = 0;
|
|
1403
1405
|
for (let i = 0; i < parameters.num_pins; i++) {
|
|
1404
1406
|
const { x, y } = getCcwSoicCoords({
|
|
1405
1407
|
num_pins: parameters.num_pins,
|
|
@@ -1409,6 +1411,8 @@ var soicWithoutParsing = (parameters) => {
|
|
|
1409
1411
|
pl: parameters.pl,
|
|
1410
1412
|
legsoutside: parameters.legsoutside
|
|
1411
1413
|
});
|
|
1414
|
+
maxPadExtentX = Math.max(maxPadExtentX, Math.abs(x) + parameters.pl / 2);
|
|
1415
|
+
maxPadExtentY = Math.max(maxPadExtentY, Math.abs(y) + parameters.pw / 2);
|
|
1412
1416
|
if (parameters.pillpads) {
|
|
1413
1417
|
pads.push(pillpad(i + 1, x, y, parameters.pl, parameters.pw));
|
|
1414
1418
|
} else {
|
|
@@ -1442,11 +1446,12 @@ var soicWithoutParsing = (parameters) => {
|
|
|
1442
1446
|
{ x: -sw / 2, y: -sh / 2 }
|
|
1443
1447
|
]
|
|
1444
1448
|
};
|
|
1445
|
-
const
|
|
1446
|
-
const
|
|
1447
|
-
const courtyardStepOuterHalfWidth =
|
|
1448
|
-
const courtyardStepInnerHalfHeight =
|
|
1449
|
-
const
|
|
1449
|
+
const bodyHalfWidth = parameters.w / 2;
|
|
1450
|
+
const bodyHalfHeight = sh / 2;
|
|
1451
|
+
const courtyardStepOuterHalfWidth = Math.max(maxPadExtentX, bodyHalfWidth) + 0.25;
|
|
1452
|
+
const courtyardStepInnerHalfHeight = Math.min(maxPadExtentY, bodyHalfHeight) + 0.25;
|
|
1453
|
+
const courtyardStepInnerHalfWidth = Math.min(maxPadExtentX, bodyHalfWidth) + 0.25;
|
|
1454
|
+
const courtyardStepOuterHalfHeight = Math.max(maxPadExtentY, bodyHalfHeight) + 0.25;
|
|
1450
1455
|
const courtyard = {
|
|
1451
1456
|
type: "pcb_courtyard_outline",
|
|
1452
1457
|
pcb_courtyard_outline_id: "",
|
|
@@ -5012,9 +5017,9 @@ var sod_def2 = base_def.extend({
|
|
|
5012
5017
|
fn: z36.string(),
|
|
5013
5018
|
num_pins: z36.literal(2).default(2),
|
|
5014
5019
|
w: z36.string().default("2.15mm"),
|
|
5015
|
-
h: z36.string().default("
|
|
5016
|
-
pl: z36.string().default("0.
|
|
5017
|
-
pw: z36.string().default("0.
|
|
5020
|
+
h: z36.string().default("0.7mm"),
|
|
5021
|
+
pl: z36.string().default("0.6mm"),
|
|
5022
|
+
pw: z36.string().default("0.7mm"),
|
|
5018
5023
|
p: z36.string().default("1.4mm")
|
|
5019
5024
|
});
|
|
5020
5025
|
var sod523 = (raw_params) => {
|
|
@@ -5031,19 +5036,19 @@ var sod523 = (raw_params) => {
|
|
|
5031
5036
|
route: [
|
|
5032
5037
|
{
|
|
5033
5038
|
x: length27.parse(parameters.p) / 2,
|
|
5034
|
-
y: length27.parse(parameters.h) / 2
|
|
5039
|
+
y: length27.parse(parameters.h) / 2 + 0.2
|
|
5035
5040
|
},
|
|
5036
5041
|
{
|
|
5037
5042
|
x: -length27.parse(parameters.w) / 2 - 0.2,
|
|
5038
|
-
y: length27.parse(parameters.h) / 2
|
|
5043
|
+
y: length27.parse(parameters.h) / 2 + 0.2
|
|
5039
5044
|
},
|
|
5040
5045
|
{
|
|
5041
5046
|
x: -length27.parse(parameters.w) / 2 - 0.2,
|
|
5042
|
-
y: -length27.parse(parameters.h) / 2
|
|
5047
|
+
y: -length27.parse(parameters.h) / 2 - 0.2
|
|
5043
5048
|
},
|
|
5044
5049
|
{
|
|
5045
5050
|
x: length27.parse(parameters.p) / 2,
|
|
5046
|
-
y: -length27.parse(parameters.h) / 2
|
|
5051
|
+
y: -length27.parse(parameters.h) / 2 - 0.2
|
|
5047
5052
|
}
|
|
5048
5053
|
],
|
|
5049
5054
|
stroke_width: 0.1,
|
|
@@ -5264,10 +5269,10 @@ var sod_def3 = base_def.extend({
|
|
|
5264
5269
|
fn: z38.string(),
|
|
5265
5270
|
num_pins: z38.literal(2).default(2),
|
|
5266
5271
|
w: z38.string().default("4.4mm"),
|
|
5267
|
-
h: z38.string().default("
|
|
5272
|
+
h: z38.string().default("1.7mm"),
|
|
5268
5273
|
pl: z38.string().default("1.2mm"),
|
|
5269
5274
|
pw: z38.string().default("1.2mm"),
|
|
5270
|
-
p: z38.string().default("2.
|
|
5275
|
+
p: z38.string().default("2.8mm")
|
|
5271
5276
|
});
|
|
5272
5277
|
var sod123w = (raw_params) => {
|
|
5273
5278
|
const parameters = sod_def3.parse(raw_params);
|
|
@@ -5654,9 +5659,9 @@ var sod_def7 = base_def.extend({
|
|
|
5654
5659
|
fn: z42.string(),
|
|
5655
5660
|
num_pins: z42.literal(2).default(2),
|
|
5656
5661
|
w: z42.string().default("3.05mm"),
|
|
5657
|
-
h: z42.string().default("1.
|
|
5658
|
-
pl: z42.string().default("0.
|
|
5659
|
-
pw: z42.string().default("0.
|
|
5662
|
+
h: z42.string().default("1.4mm"),
|
|
5663
|
+
pl: z42.string().default("0.5mm"),
|
|
5664
|
+
pw: z42.string().default("0.5mm"),
|
|
5660
5665
|
pad_spacing: z42.string().default("2.2mm")
|
|
5661
5666
|
});
|
|
5662
5667
|
var sod323f = (raw_params) => {
|
|
@@ -9955,9 +9960,9 @@ import { z as z77 } from "zod";
|
|
|
9955
9960
|
var sot_def = base_def.extend({
|
|
9956
9961
|
fn: z77.string(),
|
|
9957
9962
|
num_pins: z77.literal(6).default(6),
|
|
9958
|
-
h: z77.string().default("1.
|
|
9959
|
-
pl: z77.string().default("
|
|
9960
|
-
pw: z77.string().default("0.
|
|
9963
|
+
h: z77.string().default("1.3mm"),
|
|
9964
|
+
pl: z77.string().default("1.325mm"),
|
|
9965
|
+
pw: z77.string().default("0.6mm"),
|
|
9961
9966
|
p: z77.string().default("0.95mm")
|
|
9962
9967
|
});
|
|
9963
9968
|
var sot = (raw_params) => {
|
|
@@ -9970,22 +9975,22 @@ var sot = (raw_params) => {
|
|
|
9970
9975
|
var getCcwSotCoords = (parameters) => {
|
|
9971
9976
|
const { p, h, pn } = parameters;
|
|
9972
9977
|
if (pn === 1) {
|
|
9973
|
-
return { x: -h / 2 - 0.
|
|
9978
|
+
return { x: -h / 2 - 0.4875, y: p };
|
|
9974
9979
|
}
|
|
9975
9980
|
if (pn === 2) {
|
|
9976
|
-
return { x: -h / 2 - 0.
|
|
9981
|
+
return { x: -h / 2 - 0.4875, y: 0 };
|
|
9977
9982
|
}
|
|
9978
9983
|
if (pn === 3) {
|
|
9979
|
-
return { x: -h / 2 - 0.
|
|
9984
|
+
return { x: -h / 2 - 0.4875, y: -p };
|
|
9980
9985
|
}
|
|
9981
9986
|
if (pn === 4) {
|
|
9982
|
-
return { x: h / 2 + 0.
|
|
9987
|
+
return { x: h / 2 + 0.4875, y: -p };
|
|
9983
9988
|
}
|
|
9984
9989
|
if (pn === 5) {
|
|
9985
|
-
return { x: h / 2 + 0.
|
|
9990
|
+
return { x: h / 2 + 0.4875, y: 0 };
|
|
9986
9991
|
}
|
|
9987
9992
|
if (pn === 6) {
|
|
9988
|
-
return { x: h / 2 + 0.
|
|
9993
|
+
return { x: h / 2 + 0.4875, y: p };
|
|
9989
9994
|
}
|
|
9990
9995
|
throw new Error("Invalid pin number");
|
|
9991
9996
|
};
|
|
@@ -10047,7 +10052,7 @@ var sotWithoutParsing = (parameters) => {
|
|
|
10047
10052
|
pcb_silkscreen_path_id: "pin1_indicator",
|
|
10048
10053
|
route: [
|
|
10049
10054
|
{
|
|
10050
|
-
x: pin1Position.x + triangleHeight / 2,
|
|
10055
|
+
x: pin1Position.x + triangleHeight / 2 - 0.2,
|
|
10051
10056
|
y: pin1Position.y
|
|
10052
10057
|
},
|
|
10053
10058
|
{
|
|
@@ -10059,7 +10064,7 @@ var sotWithoutParsing = (parameters) => {
|
|
|
10059
10064
|
y: pin1Position.y - triangleWidth / 2
|
|
10060
10065
|
},
|
|
10061
10066
|
{
|
|
10062
|
-
x: pin1Position.x + triangleHeight / 2,
|
|
10067
|
+
x: pin1Position.x + triangleHeight / 2 - 0.2,
|
|
10063
10068
|
y: pin1Position.y
|
|
10064
10069
|
}
|
|
10065
10070
|
],
|
|
@@ -10069,12 +10074,12 @@ var sotWithoutParsing = (parameters) => {
|
|
|
10069
10074
|
const p_val = Number.parseFloat(parameters.p);
|
|
10070
10075
|
const pl_val = Number.parseFloat(parameters.pl);
|
|
10071
10076
|
const pw_val = Number.parseFloat(parameters.pw);
|
|
10072
|
-
const pinColumnCenterX = h_val / 2 + 0.
|
|
10077
|
+
const pinColumnCenterX = h_val / 2 + 0.4875;
|
|
10073
10078
|
const pinRowSpanY = p_val * 2 + pw_val;
|
|
10074
10079
|
const pinToeHalfSpanX = pinColumnCenterX + pl_val / 2;
|
|
10075
|
-
const courtyardStepInnerHalfWidth = h_val / 2 + 0.
|
|
10080
|
+
const courtyardStepInnerHalfWidth = h_val / 2 + 0.4;
|
|
10076
10081
|
const courtyardStepOuterHalfWidth = pinToeHalfSpanX + 0.25;
|
|
10077
|
-
const courtyardStepInnerHalfHeight = pinRowSpanY / 2 + 0.
|
|
10082
|
+
const courtyardStepInnerHalfHeight = pinRowSpanY / 2 + 0.25;
|
|
10078
10083
|
const courtyardStepOuterHalfHeight = courtyardStepInnerHalfHeight + 0.2;
|
|
10079
10084
|
const courtyard = {
|
|
10080
10085
|
type: "pcb_courtyard_outline",
|