图层管理
大约 1 分钟
图层管理
图层的创建、切换、属性设置和实体筛选。
在线示例
| 示例 | 描述 | 链接 |
|---|---|---|
| 创建图层 | Engine.createLayer 用法 | 在线演示{target="_blank"} |
| 切换当前图层 | Engine.setCurrentLayer 用法 | 在线演示{target="_blank"} |
| 图层可见性 | layerOn 属性控制图层开关 | 在线演示{target="_blank"} |
| 获取图层列表 | Engine.getLayers 用法 | 在线演示{target="_blank"} |
| 根据图层获取实体 | 按图层名称筛选实体 | 在线演示{target="_blank"} |
| 冻结图层 | isFrozen 属性控制图层冻结状态 | 在线演示{target="_blank"} |
| 锁定图层 | isLocked 属性控制图层锁定状态 | 在线演示{target="_blank"} |
| 图层状态综合 | layerOn、isFrozen、isLocked 三种状态对比 | 在线演示{target="_blank"} |
核心 API
创建图层
// 创建新图层
const layer = Engine.createLayer("新图层", {
color: 1, // 图层颜色
lineType: "CONTINUOUS", // 线型
lineWeight: 0.25 // 线宽
});切换当前图层
// 设置当前图层
Engine.setCurrentLayer("图层名称");
// 获取当前图层
const currentLayer = Engine.getCurrentLayer();图层属性
// 获取图层
const layer = Engine.getLayer("图层名称");
// 图层开关(是否显示)
layer.layerOn = false; // 关闭图层
layer.layerOn = true; // 打开图层
// 冻结图层(不显示且不参与选择)
layer.isFrozen = true;
// 锁定图层(显示但不可编辑)
layer.isLocked = true;按图层获取实体
// 获取指定图层的所有实体
const entities = Engine.getEntities().filter(e => e.layer === "图层名称");
// 或使用 getEntitiesByLayer
const entities = Engine.getEntitiesByLayer("图层名称");图层状态对比
| 状态 | 显示 | 可选择 | 可编辑 |
|---|---|---|---|
| layerOn = true | ✓ | ✓ | ✓ |
| layerOn = false | ✗ | ✗ | ✗ |
| isFrozen = true | ✗ | ✗ | ✗ |
| isLocked = true | ✓ | ✓ | ✗ |