Home > PCB_PrimitiveVia > create
PCB_PrimitiveVia.create() method
创建过孔
签名
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
参数名
参数 | 类型 | 描述 |
|---|---|---|
net | string | 网络名称 |
x | number | 坐标 X |
y | number | 坐标 Y |
holeDiameter | number | 孔径 |
diameter | number | 外径 |
viaType | (可选) 过孔类型 | |
designRuleBlindViaName | string | null | (可选) 盲埋孔设计规则项名称,定义过孔的开始层与结束层, |
solderMaskExpansion | (可选) 阻焊/助焊扩展, | |
primitiveLock | boolean | (可选) 是否锁定 |
返回值
Promise<IPCB_PrimitiveVia | undefined>
过孔图元对象
示例
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