Home > PCB_PrimitiveDimension > create
PCB_PrimitiveDimension.create() method
Create a dimension
Signature
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
Parameters
Parameter | Type | Description |
|---|---|---|
dimensionType | Dimension type | |
coordinateSet | Dimension coordinate set | |
layer | (Optional) Layer | |
unit | ESYS_Unit.MILLIMETER | ESYS_Unit.CENTIMETER | ESYS_Unit.INCH | ESYS_Unit.MIL | (Optional) Unit |
lineWidth | number | (Optional) Line width |
precision | number | (Optional) Precision, value range |
primitiveLock | boolean | (Optional) Whether it is locked |
Returns
Promise<IPCB_PrimitiveDimension | undefined>
Dimension primitive object
Example
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