Home > ISCH_PrimitiveCbbSymbolComponent > done
ISCH_PrimitiveCbbSymbolComponent.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<ISCH_PrimitiveCbbSymbolComponent>;1
Returns
Promise<ISCH_PrimitiveCbbSymbolComponent>
Reuse block symbol primitive object
Example
javascript
// 1. 生成本次运行专用的坐标,避免与之前保留的测试符号重合
const x = 2000 + Math.floor(Math.random() * 6000);
const y = 2000 + Math.floor(Math.random() * 6000);
// 2. 放置一个测试复用模块符号(SCH 坐标单位 10mil)
const cbbList = await eda.lib_Cbb.search('');
const cbb = cbbList[0];
const symbol = await eda.sch_PrimitiveComponent.createCbbSymbol(
{ libraryUuid: cbb.libraryUuid, cbbUuid: cbb.uuid },
x,
y
);
// 3. 切换异步模式,把符号向右移动 200(约 5mm)
const asyncSymbol = symbol.toAsync();
asyncSymbol.setState_X(x + 200);
// 4. 一次性提交到画布
await asyncSymbol.done();
// 5. 从画布重新读取,确认位置修改已生效(保留现场供观察)
const refetched = await eda.sch_Primitive.getPrimitiveByPrimitiveId(symbol.getState_PrimitiveId());
console.log('x:', x, '→', refetched.getState_X());1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24