在删除图层前,最好判断一个该图层上是否有CAD绘图对象,如果有的话就不要删除图层
C#代码:
private bool DeleteLayer(String sLayerName)
{
// 判断图上是否对象。
MxDrawResbuf param = (MxDrawResbuf)axMxDrawX1.Call("ExApp_isUselessLayer", sLayerName);
if (param.AtLong(1) != 1)
{
// 图上还有对象,不能删除。
return false;
}
// 得到数据库对象.
MxDrawDatabase database = (MxDrawDatabase)axMxDrawX1.GetDatabase();
// 得到层表.
MxDrawLayerTable layerTable = database.GetLayerTable();
// 得到层。
MxDrawLayerTableRecord layer = layerTable.GetAt(sLayerName, false);
if (layer == null)
{
// 没有该层
return false;
}
else
{
// 删除图层。
layer.Erase();
return true;
}
}