easyeda 0.0.253 → 0.0.255
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/browser/index.js +55 -14
- package/dist/browser/index.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +55 -14
- package/dist/index.js.map +1 -1
- package/dist/main.cjs +57 -16
- package/dist/main.cjs.map +1 -1
- package/package.json +2 -2
package/dist/main.cjs
CHANGED
|
@@ -997,7 +997,7 @@ var import_promises2 = __toESM(require("fs/promises"), 1);
|
|
|
997
997
|
var package_default = {
|
|
998
998
|
name: "easyeda",
|
|
999
999
|
type: "module",
|
|
1000
|
-
version: "0.0.
|
|
1000
|
+
version: "0.0.254",
|
|
1001
1001
|
files: [
|
|
1002
1002
|
"dist"
|
|
1003
1003
|
],
|
|
@@ -1035,7 +1035,7 @@ var package_default = {
|
|
|
1035
1035
|
"@biomejs/biome": "^1.9.4",
|
|
1036
1036
|
"@tscircuit/alphabet": "^0.0.22",
|
|
1037
1037
|
"@tscircuit/circuit-json-util": "^0.0.90",
|
|
1038
|
-
"@tscircuit/mm": "^0.0.
|
|
1038
|
+
"@tscircuit/mm": "^0.0.9",
|
|
1039
1039
|
"@types/bun": "latest",
|
|
1040
1040
|
"bun-match-svg": "^0.0.13",
|
|
1041
1041
|
"circuit-json-to-gltf": "^0.0.87",
|
|
@@ -6047,6 +6047,11 @@ var unitToMm = {
|
|
|
6047
6047
|
ft: 304.8,
|
|
6048
6048
|
feet: 304.8
|
|
6049
6049
|
};
|
|
6050
|
+
var mmNumberFormatter = new Intl.NumberFormat("en-US", {
|
|
6051
|
+
useGrouping: false,
|
|
6052
|
+
notation: "standard",
|
|
6053
|
+
maximumFractionDigits: 12
|
|
6054
|
+
});
|
|
6050
6055
|
var mm = (n) => {
|
|
6051
6056
|
let unit = typeof n === "number" ? "mm" : n.replace(/^[^a-zA-Z]+/g, "").toLowerCase();
|
|
6052
6057
|
if (!unit)
|
|
@@ -6058,11 +6063,15 @@ var mm = (n) => {
|
|
|
6058
6063
|
throw new Error(`Unsupported unit: ${unit}`);
|
|
6059
6064
|
};
|
|
6060
6065
|
var mmStr = (n) => {
|
|
6061
|
-
return `${mm(n)}mm`;
|
|
6066
|
+
return `${mmNumberFormatter.format(mm(n))}mm`;
|
|
6067
|
+
};
|
|
6068
|
+
var mil2mm = (mil) => {
|
|
6069
|
+
if (typeof mil === "number")
|
|
6070
|
+
return mm(`${mil}mil`);
|
|
6071
|
+
if (mil.match(/^\d+$/))
|
|
6072
|
+
return mm(`${mil}mil`);
|
|
6073
|
+
return mm(mil);
|
|
6062
6074
|
};
|
|
6063
|
-
|
|
6064
|
-
// lib/constants.ts
|
|
6065
|
-
var DEFAULT_PCB_THICKNESS_MM = 1.6;
|
|
6066
6075
|
|
|
6067
6076
|
// lib/math/arc-utils.ts
|
|
6068
6077
|
function generateArcFromSweep(startX, startY, endX, endY, radius, largeArcFlag, sweepFlag) {
|
|
@@ -6189,15 +6198,13 @@ var normalizeSymbolName = (name) => {
|
|
|
6189
6198
|
return trimmedName;
|
|
6190
6199
|
};
|
|
6191
6200
|
|
|
6201
|
+
// lib/constants.ts
|
|
6202
|
+
var DEFAULT_PCB_THICKNESS_MM = 1.6;
|
|
6203
|
+
|
|
6192
6204
|
// lib/convert-easyeda-json-to-tscircuit-soup-json.ts
|
|
6193
6205
|
var EASYEDA_STEP_MODEL_URL = "https://modules.easyeda.com/qAxj6KHrDKw4blvCG8QJPs7Y";
|
|
6194
6206
|
var EASYEDA_OBJ_MODEL_URL = "https://modules.easyeda.com/3dmodel";
|
|
6195
6207
|
var TSCIRCUIT_MODEL_CDN_URL = "https://modelcdn.tscircuit.com/easyeda_models";
|
|
6196
|
-
var mil2mm = (mil) => {
|
|
6197
|
-
if (typeof mil === "number") return mm(`${mil}mil`);
|
|
6198
|
-
if (mil.match(/^\d+$/)) return mm(`${mil}mil`);
|
|
6199
|
-
return mm(mil);
|
|
6200
|
-
};
|
|
6201
6208
|
var milx10 = (mil10) => {
|
|
6202
6209
|
if (typeof mil10 === "number") return mil2mm(mil10) * 10;
|
|
6203
6210
|
if (mil10.match(/^\d+$/)) return mil2mm(mil10) * 10;
|
|
@@ -6329,7 +6336,8 @@ var convertEasyEdaJsonToCircuitJson = (easyEdaJson, {
|
|
|
6329
6336
|
shouldRecenter = true,
|
|
6330
6337
|
cadPositionXMm,
|
|
6331
6338
|
cadPositionYMm,
|
|
6332
|
-
cadPositionZMm
|
|
6339
|
+
cadPositionZMm,
|
|
6340
|
+
showDesignator = false
|
|
6333
6341
|
} = {}) => {
|
|
6334
6342
|
const resolvedCadPositionZMm = cadPositionZMm ?? getCadPositionZMmFromMetadata(easyEdaJson);
|
|
6335
6343
|
const circuitElements = [];
|
|
@@ -6518,6 +6526,7 @@ var convertEasyEdaJsonToCircuitJson = (easyEdaJson, {
|
|
|
6518
6526
|
).forEach((sr, index) => {
|
|
6519
6527
|
circuitElements.push(handleCutout(sr, index));
|
|
6520
6528
|
});
|
|
6529
|
+
let hasFoundDesignator = false;
|
|
6521
6530
|
easyEdaJson.packageDetail.dataStr.shape.forEach((shape, index) => {
|
|
6522
6531
|
if (shape.type === "TRACK") {
|
|
6523
6532
|
if (!isCourtyardLayer(shape.layer)) {
|
|
@@ -6529,12 +6538,22 @@ var convertEasyEdaJsonToCircuitJson = (easyEdaJson, {
|
|
|
6529
6538
|
}
|
|
6530
6539
|
} else if (shape.type === "TEXT") {
|
|
6531
6540
|
if (isCourtyardLayer(shape.layer)) return;
|
|
6541
|
+
let text = shape.text;
|
|
6542
|
+
const designatorPrefix = easyEdaJson.dataStr.head.c_para.pre || "U";
|
|
6543
|
+
const normalizedPrefix = designatorPrefix.replace(/\?/g, "");
|
|
6544
|
+
const trimmedText = text.trim();
|
|
6545
|
+
const isDesignator = trimmedText === designatorPrefix || trimmedText === `${normalizedPrefix}?` || trimmedText === normalizedPrefix;
|
|
6546
|
+
if (isDesignator) {
|
|
6547
|
+
if (!showDesignator) return;
|
|
6548
|
+
text = "{NAME}";
|
|
6549
|
+
hasFoundDesignator = true;
|
|
6550
|
+
}
|
|
6532
6551
|
circuitElements.push(
|
|
6533
6552
|
pcb_silkscreen_text.parse({
|
|
6534
6553
|
type: "pcb_silkscreen_text",
|
|
6535
6554
|
pcb_silkscreen_text_id: `pcb_silkscreen_text_${index + 1}`,
|
|
6536
6555
|
pcb_component_id: "pcb_component_1",
|
|
6537
|
-
text
|
|
6556
|
+
text,
|
|
6538
6557
|
anchor_position: {
|
|
6539
6558
|
x: mil2mm(shape.x),
|
|
6540
6559
|
y: mil2mm(shape.y)
|
|
@@ -6544,12 +6563,31 @@ var convertEasyEdaJsonToCircuitJson = (easyEdaJson, {
|
|
|
6544
6563
|
C: "center",
|
|
6545
6564
|
R: "bottom_right"
|
|
6546
6565
|
}[shape.textAnchor ?? "L"],
|
|
6547
|
-
font_size: shape.size_mm
|
|
6566
|
+
font_size: shape.size_mm || 1,
|
|
6548
6567
|
layer: "top"
|
|
6549
6568
|
})
|
|
6550
6569
|
);
|
|
6551
6570
|
}
|
|
6552
6571
|
});
|
|
6572
|
+
if (!hasFoundDesignator && showDesignator) {
|
|
6573
|
+
const bbox = easyEdaJson.packageDetail.dataStr.BBox;
|
|
6574
|
+
circuitElements.push(
|
|
6575
|
+
pcb_silkscreen_text.parse({
|
|
6576
|
+
type: "pcb_silkscreen_text",
|
|
6577
|
+
pcb_silkscreen_text_id: `pcb_silkscreen_text_designator_fallback`,
|
|
6578
|
+
pcb_component_id: "pcb_component_1",
|
|
6579
|
+
text: "{NAME}",
|
|
6580
|
+
anchor_position: {
|
|
6581
|
+
x: milx10(bbox.x + bbox.width / 2),
|
|
6582
|
+
y: milx10(bbox.y) - 1
|
|
6583
|
+
// 1mm above top edge
|
|
6584
|
+
},
|
|
6585
|
+
anchor_alignment: "center",
|
|
6586
|
+
font_size: 1,
|
|
6587
|
+
layer: "top"
|
|
6588
|
+
})
|
|
6589
|
+
);
|
|
6590
|
+
}
|
|
6553
6591
|
const pcbElements = circuitElements.filter(
|
|
6554
6592
|
(e) => e.type === "pcb_smtpad" || e.type === "pcb_plated_hole" || e.type === "pcb_hole" || e.type === "pcb_via" || e.type === "pcb_courtyard_outline" || e.type === "pcb_silkscreen_path" || e.type === "pcb_silkscreen_text"
|
|
6555
6593
|
);
|
|
@@ -7716,8 +7754,10 @@ var generateFootprintTsx = (circuitJson) => {
|
|
|
7716
7754
|
);
|
|
7717
7755
|
}
|
|
7718
7756
|
for (const silkscreenText of silkscreenTexts) {
|
|
7757
|
+
const isRefDes = silkscreenText.text === "{NAME}";
|
|
7758
|
+
const textValue = isRefDes ? "{props.name}" : JSON.stringify(silkscreenText.text);
|
|
7719
7759
|
elementStrings.push(
|
|
7720
|
-
`<silkscreentext text
|
|
7760
|
+
`<silkscreentext text=${textValue} pcbX="${mmStr(silkscreenText.anchor_position.x)}" pcbY="${mmStr(silkscreenText.anchor_position.y)}" anchorAlignment="${silkscreenText.anchor_alignment}" ${silkscreenText.font_size ? `fontSize="${mmStr(silkscreenText.font_size)}"` : ""} />`
|
|
7721
7761
|
);
|
|
7722
7762
|
}
|
|
7723
7763
|
for (const courtyardOutline of courtyardOutlines) {
|
|
@@ -7801,7 +7841,8 @@ var convertBetterEasyToTsx = async ({
|
|
|
7801
7841
|
shouldRecenter: true,
|
|
7802
7842
|
cadPositionXMm: cadPlacement?.positionXMm,
|
|
7803
7843
|
cadPositionYMm: cadPlacement?.positionYMm,
|
|
7804
|
-
cadPositionZMm: cadPlacement?.positionZMm
|
|
7844
|
+
cadPositionZMm: cadPlacement?.positionZMm,
|
|
7845
|
+
showDesignator: true
|
|
7805
7846
|
});
|
|
7806
7847
|
const [cadComponent] = su(circuitJson).cad_component.list();
|
|
7807
7848
|
if (cadComponent) {
|