2026-09-12 10:52:17 +08:00

26 lines
1.0 KiB
JavaScript

import { readFileSync } from 'node:fs';
const { compData, wireData, pinData } = JSON.parse(readFileSync('H:/caiic_workspace/mothercup/hardware_design/_dump.json', 'utf8'));
console.log('=== SW1/Q1/Q7/Q4/Q2/Q3/D1 pins (x,y,rot,len) ===');
for (const k of ['SW1','Q1','Q7','Q4','Q2','Q3','D1']) {
const pd = pinData[k];
if (!pd) continue;
console.log(`${k} @ (${pd.pos.x},${pd.pos.y})`);
for (const p of pd.pins) console.log(` pin${p.num} ${p.name} (${p.x},${p.y}) rot=${p.rot} len=${p.len}`);
}
console.log('\n=== wires near power-switch region (x -2000..-1500, y -1100..-400) ===');
let cnt = 0;
for (const w of wireData) {
const p = Array.isArray(w.line) ? (Array.isArray(w.line[0]) ? w.line.flat() : w.line) : [];
let near = false, pts = [];
for (let i=0;i+1<p.length;i+=2) {
if (p[i]>=-2000 && p[i]<=-1500 && p[i+1]>=-1100 && p[i+1]<=-400) { near=true; pts.push([p[i],p[i+1]]); }
}
if (near && cnt < 60) {
cnt++;
console.log(` net=${w.net} pts=${JSON.stringify(pts.slice(0,10))}`);
}
}
console.log('total near wires:', cnt);