隐藏一个图层的实现思路,得到数据库层表对象,然后根据层名得到层表记录对象,设置层表记录IsOff属性值。

例如代码,让用户在CAD图上选择一个对象,然后隐藏对象所在的图层C#:

private void HideLayer()
{
// 隐藏选择实体的层。
MxDrawUtility mxUtility = new MxDrawUtility();

// 当用户在图上选择一个对象。
MxDrawPoint getPt;
MxDrawEntity ent = mxUtility.GetEntity(out getPt, "\n 选择要关闭图层的实体:");
if (ent == null)
{
return;
}

// 该对象层属性。
string sLayerName = ent.Layer;

MxDrawApplication app = new MxDrawApplication();
//返回数据库中的层表对象
MxDrawLayerTable layerTable = app.WorkingDatabase().GetLayerTable();

//关闭指定图层
MxDrawLayerTableRecord layerTableRec = layerTable.GetAt(sLayerName, false);

//返回图层是否处于关闭状态
layerTableRec.IsOff = true;
}

文章例子运行效果:

隐藏图层前:

CAD关于图层隐藏图层操作(com接口c#语言)_数据库

隐藏图层后:

CAD关于图层隐藏图层操作(com接口c#语言)_图层_02