Home > SCH_PrimitiveObject > modify
SCH_PrimitiveObject.modify() method
此 API 当前处于 BETA 预览状态,希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改,请不要将它用于任何正式环境。
修改二进制内嵌对象
签名
typescript
function modify(
primitiveId: string | ISCH_PrimitiveObject,
property: {
content?: undefined | string | File;
startX?: undefined | number;
startY?: undefined | number;
width?: undefined | number;
height?: undefined | number;
rotation?: undefined | number;
mirror?: undefined | false | true;
fileName?: undefined | string;
},
): Promise<ISCH_PrimitiveObject | undefined>;1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
参数名
参数 | 类型 | 描述 |
|---|---|---|
primitiveId | string | ISCH_PrimitiveObject | 图元 ID |
property | { content?: undefined | string | File; startX?: undefined | number; startY?: undefined | number; width?: undefined | number; height?: undefined | number; rotation?: undefined | number; mirror?: undefined | false | true; fileName?: undefined | string } | 修改参数 |
返回值
Promise<ISCH_PrimitiveObject | undefined>
二进制内嵌对象图元对象,undefined 表示修改失败
示例
javascript
// 1. 创建待修改的测试对象(随机坐标避免重合,SCH 坐标单位 10mil)
const x = 2000 + Math.floor(Math.random() * 8000);
const y = 2000 + Math.floor(Math.random() * 8000);
const png = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAIAAAAmkwkpAAAAEElEQVR4nGP4z8AARwzEcQCukw/x0F8jngAAAABJRU5ErkJggg==';
const obj = await eda.sch_PrimitiveObject.create(png, x, y, 400, 300, 0, false, 'edit.png');
const objId = obj.getState_PrimitiveId();
// 2. 读取修改前的宽与旋转角
const beforeWidth = obj.getState_Width();
const beforeRotation = obj.getState_Rotation();
// 3. 批量修改:宽 400 → 500,旋转 0 → 90 度
await eda.sch_PrimitiveObject.modify(objId, { width: 500, rotation: 90 });
// 4. modify 返回后需要重新 get() 才能读到画布上的最新值
const refreshed = await eda.sch_PrimitiveObject.get(objId);
// 5. 修改类保留现场,供观察修改结果
console.log('primitiveId:', objId);
console.log('width:', beforeWidth, '→', refreshed.getState_Width());
console.log('rotation:', beforeRotation, '→', refreshed.getState_Rotation());1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21