Home > IPCB_PrimitiveArc > done
IPCB_PrimitiveArc.done() method
This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
Apply the changes to the primitives to the canvas
Signature
typescript
function done(): Promise<IPCB_PrimitiveArc>;1
Returns
Promise<IPCB_PrimitiveArc>
Arc line primitive object
Example
javascript
// 1. 生成本次运行专用的坐标,避免与之前保留的测试圆弧重合
const x = 42000 + (Math.floor(Math.random() * 100000));
const y = 2000 + (Math.floor(Math.random() * 100000));
// 2. 创建一段测试圆弧
const arc = await eda.pcb_PrimitiveArc.create('', 1, x, y, x + 500, y + 300, 90, 10, 1, false);
// 3. 切换异步模式,连续累计两处修改(线宽 + 换层)
const asyncArc = arc.toAsync();
asyncArc.setState_LineWidth(24);
asyncArc.setState_Layer(2);
// 4. 一次性提交到画布
await asyncArc.done();
// 5. 从画布重新读取,确认两处修改都已生效(保留现场供观察)
const refetched = await eda.pcb_PrimitiveArc.get(arc.getState_PrimitiveId());
console.log('lineWidth:', 10, '→', refetched.getState_LineWidth());
console.log('layer:', 1, '→', refetched.getState_Layer());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