1. 根据名称查询指定的图层
查看层表中是否含有名为"MyLayer"的图层。
csharp
using var tr = new DBTrans();
if(tr.LayerTable.Has("MyLayer"))
{
//要执行的操作
}
2. 遍历图层名称
遍历图层表并打印每个图层的名字 。
csharp
using var tr = new DBTrans();
tr.LayerTable.GetRecordNames().ForEach(action: (layname) => layname.Print());
3. 图层新增
创建一个名为"MyLayer"的图层,要求图层颜色为红色,线宽为 0.3mm,可打印。
csharp
[CommandMethod(nameof(createLayer))]
public void createLayer()
{
using var tr = new DBTrans();
tr.LayerTable.Add("MyLayer",it =>
{
it.Color = Color.FromColorIndex(ColorMethod.ByColor, 1);
it.LineWeight = LineWeight.LineWeight030;
it.IsPlottable = true;
});
}
4. 图层修改
查找名为"MyLayer"的图层,并将图层"MyLayer"的名称改为"MyLayer2",颜色改为 2 号色,设为不可打印。
csharp
[CommandMethod(nameof(updateLayer))]
public void updateLayer()
{
using var tr = new DBTrans();
if (tr.LayerTable.Has("MyLayer"))
{
tr.LayerTable.Change("MyLayer", lt => {
lt.Name = "MyLayer2";
lt.Color = Color.FromColorIndex(ColorMethod.ByAci, 2);
lt.IsPlottable = false;
});
}
}
5. 图层删除
csharp
using var tr = new DBTrans();
tr.LayerTable.Delete("0");// 删除图层 0
tr.LayerTable.Delete("Defpoints");// 删除图层Defpoints
tr.LayerTable.Delete("1");// 删除不存在的图层 1
tr.LayerTable.Delete("2");// 删除有图元的图层 2
tr.LayerTable.Delete("3");// 删除图层 3
强制删除图层
csharp
using var tr = new DBTrans();
tr.LayerTable.Remove("2"); // 强制删除存在图元的图层 2
上面基本上涵盖了咱们对图层的基本操作,