Home > PCB_PrimitiveDimension > create
PCB_PrimitiveDimension.create() method
创建尺寸标注
签名
typescript
function create(
dimensionType: EPCB_PrimitiveDimensionType,
coordinateSet: TPCB_PrimitiveDimensionCoordinateSet,
layer?: TPCB_LayersOfDimension,
unit?: ESYS_Unit.MILLIMETER | ESYS_Unit.CENTIMETER | ESYS_Unit.INCH | ESYS_Unit.MIL,
lineWidth?: number,
precision?: number,
primitiveLock?: boolean,
): Promise<IPCB_PrimitiveDimension | undefined>;1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
参数名
参数 | 类型 | 描述 |
|---|---|---|
dimensionType | 尺寸标注类型 | |
coordinateSet | 尺寸标注坐标集 | |
layer | (可选) 层 | |
unit | ESYS_Unit.MILLIMETER | ESYS_Unit.CENTIMETER | ESYS_Unit.INCH | ESYS_Unit.MIL | (可选) 单位 |
lineWidth | number | (可选) 线宽 |
precision | number | (可选) 精度,取值范围 |
primitiveLock | boolean | (可选) 是否锁定 |
返回值
Promise<IPCB_PrimitiveDimension | undefined>
尺寸标注图元对象
示例
javascript
// 1. 生成随机基准坐标,避免与画布上已有的标注重合
const x = 2000 + Math.floor(Math.random() * 100000);
const y = 2000 + Math.floor(Math.random() * 100000);
// 2. 在顶层丝印(3)创建长度标注:测量 (x, y) 到 (x+2000, y) 的水平距离,
// 箭头端点向内收 200mil,单位毫米(mm),线宽 10mil,精度 2 位小数
const dim = await eda.pcb_PrimitiveDimension.create(
'Length Dimension',
[x, y, x, y - 200, x + 2000, y - 200, x + 2000, y],
3,
'mm',
10,
2,
false
);
// 3. 创建类保留现场,不删除图元
console.log('primitiveId:', dim.getState_PrimitiveId());
console.log('dimensionType:', dim.getState_DimensionType());
console.log('layer:', dim.getState_Layer());
console.log('unit:', dim.getState_Unit());
console.log('lineWidth:', dim.getState_LineWidth());
console.log('precision:', dim.getState_Precision());1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23