/// <summary>/// 删除当前模型空间上的实体。/// </summary>/// <param name="entityID">实体ID</param>/// <returns>true:成功 false:失败</returns>public static bool DelEntity(){try{Document doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.CurrentDocument;using (DocumentLock docLock = doc.LockDocument())using (Database db = HostApplicationServices.WorkingDatabase){using (Transaction trans = db.TransactionManager.StartTransaction()){//获取块表BlockTable bt = (BlockTable)(trans.GetObject(db.BlockTableId, OpenMode.ForRead));CadProjectInfo.IsManagerDelete = true;//管理员删除using (BlockTableRecord btr = (BlockTableRecord)trans.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite)){CadProjectInfo.keysLine.Clear();//清空管线集合CadProjectInfo.keysLineLabel.Clear();//清空管线标注集合CadProjectInfo.keysPoint.Clear();//清空管点集合CadProjectInfo.keysPointLabel.Clear();//清空管点标注集合CadProjectInfo.keysSparePoint.Clear();//清空多于点集合CadProjectInfo.keysSparePointLabel.Clear();//清空多余点标注集合CadProjectInfo.keysNoMeasurePoint.Clear();//清空未测管点集合CadProjectInfo.keysNoMeasurePointLabel.Clear();//清空未测管点标注集合CadProjectInfo.PipePointTagModes.Clear();//清空管点标注配置集合CadProjectInfo.PipeLineTagModes.Clear();//清空管线标注配置集合///上篇文件有讲到GetEntitiesInModelSpace()foreach (ObjectId id in GetEntitiesInModelSpace()){Entity entity = (Entity)trans.GetObject(id, OpenMode.ForWrite, true);if (entity == null || entity.IsErased == true || entity is ProxyEntity){continue;}entity.Erase(true);}}trans.Commit();CadProjectInfo.IsManagerDelete = false;//设置非管理员操作删除}}}catch (Exception ex){throw;}return true;}/// <summary>/// 删除多个实体。/// 删除当前模型空间上的实体。/// </summary>/// <param name="entityID">实体ID</param>/// <returns>true:成功 false:失败</returns>public static bool DelEntity(List<ObjectId> ids){try{Document doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.CurrentDocument;using (DocumentLock docLock = doc.LockDocument())using (Database db = HostApplicationServices.WorkingDatabase){using (Transaction trans = db.TransactionManager.StartTransaction()){//获取块表BlockTable bt = (BlockTable)(trans.GetObject(db.BlockTableId, OpenMode.ForRead));CadProjectInfo.IsManagerDelete = true;//管理员删除using (BlockTableRecord btr = (BlockTableRecord)trans.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite)){foreach (ObjectId id in ids){Entity entity = (Entity)trans.GetObject(id, OpenMode.ForWrite, true);if (entity == null || entity.IsErased == true || entity is ProxyEntity){continue;}entity.Erase(true);}}trans.Commit();CadProjectInfo.IsManagerDelete = false;//设置非管理员操作删除}}}catch (Exception ex){throw;}return true;}

C#ObjectArx Cad删除实体相关推荐

  1. ObjectArx创建自定义实体

    ObjectArx创建自定义实体 一.目的 在ObjectArx中已经有了许多实体,如AcDbLine,AcDbCircle,AcDbArc等,但在用户使用Cad时,会有一些对他们来讲常用的" ...

  2. ObjectARX C++自定义实体

    ObjectARX C++自定义实体 实现流程 首先创建一个继承自AcDbEntity的自定义实体类,重写几个虚函数方法: .从AcDbEntity类中重载几个必须的虚函数: virtual Ades ...

  3. 关于objectArx /CAD二次开发中“属性块”操作

    关于objectArx /CAD二次开发中"属性块"操作 属性块就是在图块上附加一些文字属性(Attribute),这些文字可以非常方便地修改.属性块被广泛应用在工程设计和机械设计 ...

  4. unity vr 交互_基于手动的VR / MR交互,用于删除实体

    unity vr 交互 Deleting an entity or closing an application is one of the most ubiquitous operations pe ...

  5. Auto CAD:将CAD三维实体转为三视工程图(俯视图、正视图、左视图)的图文教程之详细攻略(建议收藏!!)

    Auto CAD:将CAD三维实体转为三视工程图(俯视图.正视图.左视图)的图文教程之详细攻略(建议收藏!!) 目录 将CAD三维实体转为三视工程图(俯视图.正视图.左视图)的图文教程

  6. C#ObjectArx Cad插入一个实体

    /// <summary>/// 将数据以表格形式插入图形/// </summary>/// <param name="db"></par ...

  7. C#ObjectArx Cad选择指定图层得实体对象

    /// <summary>/// 选择一个实体对象,取消或者选中返回/// </summary>/// <typeparam name="T"> ...

  8. ObjectARX简单自定义实体的实现

    目录 1. ObjectARX向导(Wizard)的安装 2. 创建自定义实体工程CustomStair 3. 添加实体类 3.1 利用向导添加自定义类 3.2 "初始化"自定义类 ...

  9. jpa 删除是否成功_JPA / Hibernate删除实体有时不起作用

    我有以下通常正常工作的代码: public void delete(T object) { EntityManager em = getPersistence().createEntityManage ...

最新文章

  1. 近来工作和面试一些人的感受(原)
  2. 软件开发模式对比(瀑布、迭代、螺旋、敏捷)
  3. 单行文字不断向上滚动特效
  4. 读jQuery之十二(删除事件核心方法)
  5. Android 7.1 bootchart触发后导致不断重启
  6. sql返回刚添加的数据的自增id
  7. 麻省理工-机器学习导论
  8. ktv服务器几套系统,KTV场所需要哪些设备
  9. iPhone15将开放15W无线快充!
  10. android 获取经纬度(百度地图)
  11. 下载学习通上的文档、课件
  12. POJ的题目分类(两个版本)
  13. 任天堂switch手柄怎么拆解图文教程 教你如何拆joycon
  14. 结合FME利用倾斜三维模型数据成果生成DSM等数据产品
  15. 上位机PHP_使用最流行的脚本语言PHP制作你的物联网上位机系统(一)
  16. 将 键值对的数据 拼成 json 格式的 串
  17. 全国二级c语言通过秘诀,2020年全国计算机二级C语言备考技巧
  18. RPMS系统(4S汽车维修管理系统)
  19. 平时编程过程中一些总结和难点(持续更新中)
  20. android swf 用什么打开方式,安卓swf文件用什么打开_swf文件用什么打开 mac_swf文件用什么打开 ipad...

热门文章

  1. 晶振PPM小参数,大作用
  2. 虚拟机ifconfig或ip addr不显示ip地址
  3. 瑞数FSSBBIl1UgzbN7N443T分析
  4. c位边上还有什么位_章泽天聚会站边位,被称太委屈,看清C位的万宝宝后就明白了...
  5. Panabit专业流量监控开源软件
  6. Python——图片与视频互转(亲测有效)
  7. 中国移动与佳乐科仪签署物联网合作协议 共迈“工业4.0”
  8. 【荐】联通域名纠错 联通域名DNS劫持 您输入的域名有误或站点访问失败
  9. 二级域名,https协议的申请配置
  10. Windows10 LTSC 2021 开机 wsappx进程 CPU占用高