@tscircuit/footprinter 0.0.41 → 0.0.43
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.cjs +90 -11
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -0
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -2705,16 +2705,16 @@ var require_dist = __commonJS({
|
|
|
2705
2705
|
};
|
|
2706
2706
|
}
|
|
2707
2707
|
};
|
|
2708
|
-
var
|
|
2709
|
-
var resistance =
|
|
2710
|
-
var capacitance =
|
|
2711
|
-
var inductance =
|
|
2712
|
-
var voltage =
|
|
2713
|
-
var length5 =
|
|
2708
|
+
var import_zod9 = require("zod");
|
|
2709
|
+
var resistance = import_zod9.z.string().or(import_zod9.z.number()).transform((v) => parseAndConvertSiUnit(v).value);
|
|
2710
|
+
var capacitance = import_zod9.z.string().or(import_zod9.z.number()).transform((v) => parseAndConvertSiUnit(v).value);
|
|
2711
|
+
var inductance = import_zod9.z.string().or(import_zod9.z.number()).transform((v) => parseAndConvertSiUnit(v).value);
|
|
2712
|
+
var voltage = import_zod9.z.string().or(import_zod9.z.number()).transform((v) => parseAndConvertSiUnit(v).value);
|
|
2713
|
+
var length5 = import_zod9.z.string().or(import_zod9.z.number()).transform((v) => parseAndConvertSiUnit(v).value);
|
|
2714
2714
|
var distance2 = length5;
|
|
2715
|
-
var current =
|
|
2716
|
-
var time =
|
|
2717
|
-
var rotation =
|
|
2715
|
+
var current = import_zod9.z.string().or(import_zod9.z.number()).transform((v) => parseAndConvertSiUnit(v).value);
|
|
2716
|
+
var time = import_zod9.z.string().or(import_zod9.z.number()).transform((v) => parseAndConvertSiUnit(v).value);
|
|
2717
|
+
var rotation = import_zod9.z.string().or(import_zod9.z.number()).transform((v) => parseAndConvertSiUnit(v).value);
|
|
2718
2718
|
var import_zod22 = require("zod");
|
|
2719
2719
|
var point = import_zod22.z.object({
|
|
2720
2720
|
x: distance2,
|
|
@@ -2758,9 +2758,9 @@ var require_dist = __commonJS({
|
|
|
2758
2758
|
var source_simple_diode = source_component_base.extend({
|
|
2759
2759
|
ftype: import_zod82.z.literal("simple_diode")
|
|
2760
2760
|
});
|
|
2761
|
-
var
|
|
2761
|
+
var import_zod92 = require("zod");
|
|
2762
2762
|
var source_simple_ground = source_component_base.extend({
|
|
2763
|
-
ftype:
|
|
2763
|
+
ftype: import_zod92.z.literal("simple_ground")
|
|
2764
2764
|
});
|
|
2765
2765
|
var import_zod10 = require("zod");
|
|
2766
2766
|
var source_simple_bug = source_component_base.extend({
|
|
@@ -3225,6 +3225,7 @@ var fn_exports = {};
|
|
|
3225
3225
|
__export(fn_exports, {
|
|
3226
3226
|
bga: () => bga,
|
|
3227
3227
|
cap: () => cap,
|
|
3228
|
+
dfn: () => dfn,
|
|
3228
3229
|
diode: () => diode,
|
|
3229
3230
|
dip: () => dip,
|
|
3230
3231
|
led: () => led,
|
|
@@ -3692,6 +3693,9 @@ var extendSoicDef = (newDefaults) => import_zod5.z.object({
|
|
|
3692
3693
|
});
|
|
3693
3694
|
var soic_def = extendSoicDef({});
|
|
3694
3695
|
var getCcwSoicCoords = (params) => {
|
|
3696
|
+
if (params.widthincludeslegs !== void 0) {
|
|
3697
|
+
params.legsoutside = !params.widthincludeslegs;
|
|
3698
|
+
}
|
|
3695
3699
|
const { num_pins, pn, w, p, pl, legsoutside } = params;
|
|
3696
3700
|
const ph = num_pins / 2;
|
|
3697
3701
|
const isLeft = pn <= ph;
|
|
@@ -4109,6 +4113,81 @@ var sot236 = (params) => {
|
|
|
4109
4113
|
return soicWithoutParsing(sot236_def.parse({ ...params, num_pins: 6 }));
|
|
4110
4114
|
};
|
|
4111
4115
|
|
|
4116
|
+
// src/fn/dfn.ts
|
|
4117
|
+
var import_zod8 = require("zod");
|
|
4118
|
+
|
|
4119
|
+
// src/helpers/corner.ts
|
|
4120
|
+
var CORNERS = [
|
|
4121
|
+
{ name: "top-left", dx: -1, dy: 1 },
|
|
4122
|
+
{ name: "top-right", dx: 1, dy: 1 },
|
|
4123
|
+
{ name: "bottom-left", dx: -1, dy: -1 },
|
|
4124
|
+
{ name: "bottom-right", dx: 1, dy: -1 }
|
|
4125
|
+
];
|
|
4126
|
+
|
|
4127
|
+
// src/fn/dfn.ts
|
|
4128
|
+
var dfn_def = extendSoicDef({});
|
|
4129
|
+
var dfn = (raw_params) => {
|
|
4130
|
+
const params = dfn_def.parse(raw_params);
|
|
4131
|
+
const pads = [];
|
|
4132
|
+
for (let i = 0; i < params.num_pins; i++) {
|
|
4133
|
+
const { x, y } = getCcwSoicCoords({
|
|
4134
|
+
num_pins: params.num_pins,
|
|
4135
|
+
pn: i + 1,
|
|
4136
|
+
w: params.w,
|
|
4137
|
+
p: params.p ?? 1.27,
|
|
4138
|
+
pl: params.pl,
|
|
4139
|
+
widthincludeslegs: true
|
|
4140
|
+
});
|
|
4141
|
+
pads.push(rectpad(i + 1, x, y, params.pl ?? "1mm", params.pw ?? "0.6mm"));
|
|
4142
|
+
}
|
|
4143
|
+
const m = Math.min(1, params.p / 2);
|
|
4144
|
+
const sw = params.w + m;
|
|
4145
|
+
const sh = (params.num_pins / 2 - 1) * params.p + params.pw + m;
|
|
4146
|
+
const silkscreenPaths = [];
|
|
4147
|
+
for (const corner of CORNERS) {
|
|
4148
|
+
const { dx, dy } = corner;
|
|
4149
|
+
silkscreenPaths.push({
|
|
4150
|
+
layer: "top",
|
|
4151
|
+
pcb_component_id: "",
|
|
4152
|
+
pcb_silkscreen_path_id: "",
|
|
4153
|
+
route: [
|
|
4154
|
+
{ x: dx * sw / 2 - dx * params.p, y: dy * sh / 2 },
|
|
4155
|
+
{ x: dx * sw / 2, y: dy * sh / 2 },
|
|
4156
|
+
{ x: dx * sw / 2, y: dy * sh / 2 - dy * params.p }
|
|
4157
|
+
],
|
|
4158
|
+
type: "pcb_silkscreen_path"
|
|
4159
|
+
});
|
|
4160
|
+
}
|
|
4161
|
+
const as = params.p / 4;
|
|
4162
|
+
const atx = -sw / 2 - as / 2;
|
|
4163
|
+
const aty = sh / 2 - params.p / 2;
|
|
4164
|
+
silkscreenPaths.push({
|
|
4165
|
+
layer: "top",
|
|
4166
|
+
pcb_component_id: "",
|
|
4167
|
+
pcb_silkscreen_path_id: "",
|
|
4168
|
+
type: "pcb_silkscreen_path",
|
|
4169
|
+
route: [
|
|
4170
|
+
{
|
|
4171
|
+
x: atx,
|
|
4172
|
+
y: aty
|
|
4173
|
+
},
|
|
4174
|
+
{
|
|
4175
|
+
x: atx - as,
|
|
4176
|
+
y: aty + as
|
|
4177
|
+
},
|
|
4178
|
+
{
|
|
4179
|
+
x: atx - as,
|
|
4180
|
+
y: aty - as
|
|
4181
|
+
},
|
|
4182
|
+
{
|
|
4183
|
+
x: atx,
|
|
4184
|
+
y: aty
|
|
4185
|
+
}
|
|
4186
|
+
]
|
|
4187
|
+
});
|
|
4188
|
+
return [...pads, ...silkscreenPaths];
|
|
4189
|
+
};
|
|
4190
|
+
|
|
4112
4191
|
// src/helpers/is-not-null.ts
|
|
4113
4192
|
function isNotNull(value) {
|
|
4114
4193
|
return value !== null;
|