Home > IPCB_PrimitiveFill > setState_ComplexPolygon
IPCB_PrimitiveFill.setState_ComplexPolygon() method
此 API 当前处于 BETA 预览状态,希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改,请不要将它用于任何正式环境。
设置属性状态:复杂多边形
签名
typescript
function setState_ComplexPolygon(complexPolygon: IPCB_Polygon): IPCB_PrimitiveFill;1
参数名
参数 | 类型 | 描述 |
|---|---|---|
complexPolygon | 复杂多边形 |
返回值
填充图元对象
示例
javascript
// 1. 生成本次运行专用的坐标,避免与之前保留的测试图元重合
const x = 2000 + Math.floor(Math.random() * 100000);
const y = 2000 + Math.floor(Math.random() * 100000);
// 2. 创建一个 500 x 300 的矩形填充
const polygon = eda.pcb_MathPolygon.createPolygon(['R', x, y, 500, 300, 0, 0]);
const fill = await eda.pcb_PrimitiveFill.create(1, polygon, '', 0, 10, false);
const before = JSON.stringify(fill.getState_ComplexPolygon().getSource());
// 3. 构造新轮廓(放大到 800 x 400),异步模式提交
const newPolygon = eda.pcb_MathPolygon.createPolygon(['R', x, y, 800, 400, 0, 0]);
const asyncFill = fill.toAsync();
asyncFill.setState_ComplexPolygon(newPolygon);
await asyncFill.done();
// 4. 从画布重新读取,确认轮廓已替换(保留现场供观察)
const refetched = await eda.pcb_PrimitiveFill.get(fill.getState_PrimitiveId());
const after = JSON.stringify(refetched.getState_ComplexPolygon().getSource());
console.log('polygonSource:', before, '→', after);1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20