await eda.dmt_EditorControl.openDocument('7e9415a16a909c51'); await new Promise(r => setTimeout(r, 1200)); const M = 39.3701; const R = (x0,y0,x1,y1) => [x0*M,y0*M,'L',x1*M,y0*M,x1*M,y1*M,x0*M,y1*M]; const Rc= (x0,y0,x1,y1) => [x0*M,y0*M,'L',x1*M,y0*M,x1*M,y1*M,x0*M,y1*M,x0*M,y0*M]; // 显式闭合 const Rr= (x0,y0,x1,y1) => ['R',x0*M,y0*M,x1*M,y1*M,0,0]; // R 矩形模式 const cases = [ ['L15-rect', 'GND', 15, R(100,20,120,30)], ['L16-rect-close','+12V',16, Rc(100,35,120,45)], ['L16-Rmode', '+12V',16, Rr(100,50,120,60)], ['L1-rect', '+12V', 1, R(100,65,120,75)], ]; const out = []; for (const [name, net, layer, src] of cases) { const row = {name}; try { const poly = await eda.pcb_MathPolygon.createComplexPolygon([src]); row.poly = !!poly; const pour = await eda.pcb_PrimitivePour.create(net, layer, poly, 'solid', false, name, 3, 10); row.pour = !!pour; if (pour) await eda.pcb_PrimitivePour.delete(pour.primitiveId); } catch (e) { row.err = String(e).slice(0, 90); } out.push(row); } return out;