Home > IPCB_PrimitivePad > setState_Layer
IPCB_PrimitivePad.setState_Layer() method
此 API 当前处于 BETA 预览状态,希望得到开发者的反馈。它的任何功能都可能在接下来的开发进程中被修改,请不要将它用于任何正式环境。
设置属性状态:层
签名
typescript
function setState_Layer(layer: TPCB_LayersOfPad): IPCB_PrimitivePad;1
参数名
参数 | 类型 | 描述 |
|---|---|---|
layer | 层 |
返回值
焊盘图元对象
备注
设置层时将会联动设置部分其它属性状态:
顶层与底层切换时:阻焊/助焊扩展属性将会跟随切换,数据值不变
多层切换到单层时:判断切换到顶层还是底层,阻焊/助焊扩展属性将只保留指定层对应的数据;如若存在特殊焊盘,将转换为普通焊盘属性,并且只保留指定层对应的数据;与孔有关的属性将被重置到默认值
单层切换到多层时:阻焊/助焊扩展属性将只保留阻焊扩展,并复制原数据应用于顶层和底层;焊盘钻孔属性将被赋指定值,长宽均为焊盘直径(焊盘为长圆形或正多边形)、宽(焊盘为矩形)的 60% 的长圆形(数据层面上是长圆形,实则是正圆形),如若焊盘为折线复杂多边形,则通过专用算法计算得出数据(通常比较抽象,建议后期修改)
示例
javascript
// 1. 生成本次运行专用的坐标,在顶层创建一个贴片焊盘
const x = 3000 + Math.floor(Math.random() * 100000);
const pad = await eda.pcb_PrimitivePad.create(1, '1', x, 3000, 0, ['ELLIPSE', 60, 60], '', null, 0, 0, 0, false, 0);
const before = pad.getState_Layer();
// 2. 异步模式下切换到底层并提交
const a = pad.toAsync();
a.setState_Layer(2);
await a.done();
// 3. 从画布重新读取,确认层已切换(保留现场供观察)
const ref = await eda.pcb_PrimitivePad.get(pad.getState_PrimitiveId());
console.log('layer:', before, '→', ref.getState_Layer());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