Home > DMT_EditorControl > generateIndicatorMarkers
DMT_EditorControl.generateIndicatorMarkers() method
此 API 当前处于 BETA 预览状态,希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改,请不要将它用于任何正式环境。
生成指示标记
签名
typescript
function generateIndicatorMarkers(
markers: Array<IDMT_IndicatorMarkerShape>,
color?: { r: number; g: number; b: number; alpha: number },
lineWidth?: number,
zoom?: boolean,
tabId?: string,
): Promise<boolean>;1
2
3
4
5
6
7
2
3
4
5
6
7
参数名
参数 | 类型 | 描述 |
|---|---|---|
markers | Array<IDMT_IndicatorMarkerShape> | 指示标记外形对象数组 |
color | { r: number; g: number; b: number; alpha: number } | (可选) 指示标记颜色 |
lineWidth | number | (可选) 线宽 |
zoom | boolean | (可选) 是否定位并缩放 |
tabId | string | (可选) 标签页 ID,如若未传入,则为最后输入焦点的画布 |
返回值
Promise<boolean>
指示标记生成是否成功,false 表示画布不支持该操作或 tabId 不存在
备注
指示标记外形数据中,原理图、符号画布坐标单位跨度为 0.01inch,PCB、封装画布坐标单位跨度为 mil
示例
javascript
// 1. 打开一个原理图页,确定标记作用的画布
const pages = await eda.dmt_Schematic.getAllSchematicPagesInfo();
const tabId = await eda.dmt_EditorControl.openDocument(pages[0].uuid);
// 2. 生成一组标记:点 + 圆 + 矩形(原理图画布坐标单位 0.01inch)
const generated = await eda.dmt_EditorControl.generateIndicatorMarkers(
[
{ type: 'point', x: 100, y: 100 },
{ type: 'circle', x: 250, y: 150, r: 50 },
{ type: 'rectangle', left: 350, right: 550, top: 100, bottom: 250 },
],
{ r: 255, g: 60, b: 60, alpha: 1 }, // 标记颜色
2, // 线宽
false, // 不自动缩放定位到标记
tabId,
);
console.log('generated:', generated);
// 3. 用完即清,保持画布干净
const removed = await eda.dmt_EditorControl.removeIndicatorMarkers(tabId);
console.log('removed:', removed);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