可以通过调用如下方法进行删除

        static public void EraseLayer(Document doc, Database db,List<string> listStrLayerName){using (Transaction tr=db.TransactionManager.StartTransaction()){//open layertableLayerTable lt = tr.GetObject(db.LayerTableId, OpenMode.ForRead) as LayerTable;foreach (string strLayerName in listStrLayerName){if (lt.Has(strLayerName)==true){ObjectId layerId=lt[strLayerName];if (db.Clayer==layerId)  //current layer can't be delete{continue;}LayerTableRecord layerTableRecord = tr.GetObject(layerId, OpenMode.ForWrite) as LayerTableRecord;layerTableRecord.IsLocked = false;BlockTable bt = tr.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;foreach (ObjectId btrId in bt){BlockTableRecord btr = tr.GetObject(btrId, OpenMode.ForRead) as BlockTableRecord;foreach (ObjectId entId in btr){Entity entity = tr.GetObject(entId, OpenMode.ForRead) as Entity;if (entity.Layer==strLayerName){entity.UpgradeOpen();try{entity.Erase();}catch {continue;}                                    }}}try{layerTableRecord.Erase();}catch {continue;}                    }}tr.Commit();}}

调用方法

[CommandMethod("SmartEraseLayer")]
public void SmartEraseLayer()
{Database db = HostApplicationServices.WorkingDatabase;Document doc = Application.DocumentManager.MdiActiveDocument;  List<string> listStrLayerName = new List<string>();listStrLayerName.Add("FORM");listStrLayerName.Add("0");EraseLayer(doc, db, listStrLayerName);}

用List 传递图层名称,在方法中进行批量删除

AutoCAD二次开发之删除图层及图层上所有的实体相关推荐

  1. autocad型源代码_VB与AUTOCAD二次开发源代码包

    在发个VB与AUTOCAD二次开发源代码包,包括以下内容: 在学校的话,叫计算机辅助设计 第一章 VB开发AotoCAD基础知识 第一节 欢迎进入VB开发AUTOCAD的精彩世界 第二节 VB 开发 ...

  2. lisp 梯形展开图_斜截圆柱件钣金展开图的AutoCAD二次开发

    内容介绍 原文档由会员 刘瑞 发布 斜截圆柱件钣金展开图的AutoCAD二次开发 3.8万字符 70页 包括开题报告,论文,设计分析报告,程序代码,lsp及sld文件 摘 要 在国民经济各个部门的建设 ...

  3. cass二次开发vba和lisp_基于VBA的AutoCAD二次开发及应用实例

    1引言本文引用地址:http://www.eepw.com.cn/article/190993.htm AutOCAD2005是AutOdesk公司的系列产品,该软件从其使用和设计思路上都秉承了工程制 ...

  4. eps高程点和高程注记不符_利用AutoCAD二次开发实现地形图高程点与等高线错误自动查找...

    原标题:利用AutoCAD二次开发实现地形图高程点与等高线错误自动查找 水土保持之点滴,关注后可查阅所有文章 来源:<测绘通报>2017年第5期 作者:刘洪.黄军胜 摘要:论述了数字地形图 ...

  5. AUTOCAD 二次开发学习笔记

    图层处理: ​​​​​​(16条消息) C#之CAD二次开发实例 (13) 图层操作_yzk1062913581的博客-CSDN博客 (16条消息) .NET AutoCAD二次开发之路(二.直线篇) ...

  6. 陈伯雄lisp_基于AutoLisp的AutoCAD二次开发自动生成系统图

    龙源期刊网 http://www.qikan.com.cn 基于 AutoLisp 的 AutoCAD 二次开发自动 生成系统图 作者:郎建山 金江 来源:<科技视界> 2013 年第 2 ...

  7. CAD自控lisp_基于AutoLisp的AutoCAD二次开发自动生成系统图

    基于 AutoLisp 的 AutoCAD 二次开发自动生成系统图 [摘 要]本文主要阐述了应用 autolisp 语言二次开发 autocad 自动生成系统图的实现方案. [关键词] autocad ...

  8. AutoCAD二次开发基础(三):船体型线绘制

    AutoCAD二次开发系列 文章目录 前言 一.绘制船体横剖线 二.绘制船体纵剖线 三.绘制船体肋骨型线图 前言 用程序生成船体型线图,无疑会提高开发效率. 一.绘制船体横剖线 任务:编制程序,根据水 ...

  9. 光伏自动化出图系统 基于C#的AutoCad二次开发

    CAD计算机软件的开发及应用,是工程公司提高设计工作效率,工程设计质量的重要手段.在光伏发电工程设计的过程中,需要进行一系列工程计算.目前在设计中设计的计算包括:高度角计算,最佳倾角计算,光伏阵列布置 ...

最新文章

  1. 事物的级别_浅谈MySQL并发控制:隔离级别、锁与MVCC
  2. 结构方程模型_简单易懂,结构方程模型思路总结
  3. 下面哪一c++ 语言表达式不能正确表示数学关系ax≤b,C++经典选择题(一)
  4. 这些你都了解么------程序员跳槽法则
  5. 【Java 网络编程】NIO Buffer 简介 ( 概念 | 数据传输 | 标记 | 位置 | 限制 | 容量 | 标记 | 重置 | 清除 | 翻转 | 重绕 | 链式操作 )
  6. DBoW2 cmake代码注释
  7. Extjs 更换主题(转载)
  8. Dandan's lunch
  9. 【ARM】Tiny4412裸板编程之MMU简介
  10. 点火提前角的修正方式有哪些_“天问一号”完成第二次轨道中途修正:精度很高,本次修正量很小...
  11. 性能压测工具选型对比
  12. 【原创】Js:日期处理(日期格式必须【yyyy-mm-dd】才能转成long的毫秒!其他的不是【年-月-日】的格式,结果会是【NaN】)...
  13. 最简单的省市区三级联动
  14. Multisim14基本介绍(上)
  15. QCC3040---FS(file system)中添加文件方法
  16. 一分钟内搞定!熊猫杀毒软件研发提升扫描速度的技术
  17. c语言瑞年条件,C语言如何判断是闰年,闰年判断条件
  18. matlab 读取.pgm,【数字图像处理】pbm/pgm/ppm图片的读写(Matlab)
  19. 网络安全—Linux命令
  20. Kong 网关 | Rate Limiting 限流

热门文章

  1. JS获取时间和设置倒计时
  2. lopa分析_保护层分析(LOPA)
  3. 二十岁的男人(应该需要做什么)
  4. 【渝粤教育】国家开放大学2018年秋季 0088-21T保险学概论 参考试题
  5. Java Swing添加背景图片
  6. 程序减肥,strip,eu-strip 及其符号表
  7. 暖火柴打一数字_火柴里的天堂
  8. 计算机搜索栏打字不显示,win10搜索栏无法输入文字怎么办_win10电脑搜索栏无法输入的解决方法...
  9. Failed to compile编译失败
  10. 海南省计算机作品大赛,海南省教育研究培训院:关于举办第二十届海南省中小学电脑制作活动的通知...