Home > PCB_PrimitiveVia > create
PCB_PrimitiveVia.create() method
Create Via
Signature
typescript
public create(net: string, x: number, y: number, holeDiameter: number, diameter: number, viaType?: EPCB_PrimitiveViaType, designRuleBlindViaName?: string | null, solderMaskExpansion?: IPCB_PrimitiveSolderMaskAndPasteMaskExpansion | null, primitiveLock?: boolean): Promise<IPCB_PrimitiveVia | undefined>;1
Parameters
Parameter | Type | Description |
|---|---|---|
net | string | Net name |
x | number | X coordinate |
y | number | Y coordinate |
holeDiameter | number | Hole diameter |
diameter | number | Outer diameter |
viaType | (Optional) Via type | |
designRuleBlindViaName | string | null | (Optional) Blind/buried via design rule item name, which defines the start and end layers of the via. |
solderMaskExpansion | (Optional) Solder mask/paste mask expansion. | |
primitiveLock | boolean | (Optional) Whether it is locked |
Returns
Promise<IPCB_PrimitiveVia | undefined>
Via primitive object
Example
javascript
// 1. 生成随机放置坐标,避免与画布上已有的过孔重合
const x = 2000 + Math.floor(Math.random() * 100000);
const y = 2000 + Math.floor(Math.random() * 100000);
// 2. 创建通孔:孔径 20mil、外径 40mil,不挂网络、不锁定(viaType 省略时默认通孔 0)
const via = await eda.pcb_PrimitiveVia.create('', x, y, 20, 40);
// 3. 创建类保留现场,不删除图元
console.log('primitiveId:', via.getState_PrimitiveId());
console.log('primitiveType:', via.getState_PrimitiveType());
console.log('net:', via.getState_Net());
console.log('holeDiameter:', via.getState_HoleDiameter());
console.log('diameter:', via.getState_Diameter());
console.log('x:', via.getState_X(), 'y:', via.getState_Y());1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14