Home > PCB_PrimitiveRegion > create
PCB_PrimitiveRegion.create() method
此 API 当前处于 BETA 预览状态,希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改,请不要将它用于任何正式环境。
创建区域
签名
typescript
public create(layer: TPCB_LayersOfRegion, complexPolygon: IPCB_Polygon, ruleType?: Array<EPCB_PrimitiveRegionRuleType>, regionName?: string, lineWidth?: number, primitiveLock?: boolean): Promise<IPCB_PrimitiveRegion | undefined>;1
参数名
参数 | 类型 | 描述 |
|---|---|---|
layer | 层 | |
complexPolygon | 复杂多边形对象 | |
ruleType | Array<EPCB_PrimitiveRegionRuleType> | (可选) 区域规则类型 |
regionName | string | (可选) 区域名称 |
lineWidth | number | (可选) 线宽 |
primitiveLock | boolean | (可选) 是否锁定 |
返回值
Promise<IPCB_PrimitiveRegion | undefined>
区域图元对象
示例
javascript
// 1. 生成随机起点坐标,避免与画布上已有的区域重合
const x = 2000 + Math.floor(Math.random() * 100000);
const y = 2000 + Math.floor(Math.random() * 100000);
// 2. 用 pcb_MathPolygon.createPolygon 构造矩形边界:宽 500、高 300
const polygon = eda.pcb_MathPolygon.createPolygon(['R', x, y, 500, 300, 0, 0]);
// 3. 在顶层铜层创建禁止区域:规则 [2, 5] 即禁止元件 + 禁止布线,线宽 10mil,不锁定
const region = await eda.pcb_PrimitiveRegion.create(1, polygon, [2, 5], '嘉立创示例_禁布区', 10, false);
// 4. 创建类保留现场,不删除图元
console.log('primitiveId:', region.getState_PrimitiveId());
console.log('primitiveType:', region.getState_PrimitiveType());
console.log('layer:', region.getState_Layer());
console.log('ruleType:', region.getState_RuleType());
console.log('regionName:', region.getState_RegionName());1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16