在删除图层前,最好判断一个该图层上是否有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;}}