通过遍历多边形可以得到每个多边形的面积,那么是不是遍历图纸上的每个尺寸就可以得到尺寸标注的数值呢?当然可以。事实上,你基本上可以得到“特性”内的所有信息。

尺寸类:dimension。但是实际上在创建尺寸标注时需要用的是其派生类。如常见的,rotateddimension(转角标注),diametricdimension(直径标注),ordinatedimension(坐标标注)等。如图,很多尺寸,这可能并不是最复杂的图纸,我们尝试获取它的尺寸标注数值。

代码如下:拿上次的套一下哎。

      public void asd(){Database db = HostApplicationServices.WorkingDatabase;Document doc = Application.DocumentManager.MdiActiveDocument;Editor ed = doc.Editor;using (Transaction trans = db.TransactionManager.StartTransaction()){var aa = from o in db.GetSelection<RotatedDimension>()//获得选中的尺寸标注where o.ColorIndex >= 0select o;foreach (RotatedDimension rot in aa)  //{Application.ShowAlertDialog("尺寸1: " + rot.Measurement); //弹出提示}trans.Commit();}}

运行结果:可以获得尺寸标注。

但是增加一个角度标注便出现如下报警:提示的意思大概是遍历转角标注时,发现了一个角度标注,两兄弟不是一类,发出警报。

如此便要先解决这个问题。大概思路在遍历时先不去纠结它是啥,而是先把东西拿到,最后一个个猜它是啥。代码如下:

        [CommandMethod("qq")]//lesson4____dimontionpublic void asd(){Database db = HostApplicationServices.WorkingDatabase;Document doc = Application.DocumentManager.MdiActiveDocument;Editor ed = doc.Editor;using (Transaction trans = db.TransactionManager.StartTransaction()){TypedValue[] valu = new TypedValue[] {new TypedValue((int)DxfCode.LayoutName,"Model") };SelectionFilter ffff2 = new SelectionFilter(valu);PromptSelectionResult cmlp = ed.GetSelection(ffff2);SelectionSet cmlp1 = cmlp.Value;List<ObjectId> pc = new List<ObjectId>();// idforeach (ObjectId id1 in cmlp1.GetObjectIds()){string typ = "";               Object mt = id1.GetObject(OpenMode.ForRead, false);string[] ccc = mt.GetType().ToString().Split('.');typ = ccc[3];try{if (typ == "RotatedDimension"){ pc.Add(id1); }}catch { }  }foreach (ObjectId id1 in pc){RotatedDimension rot= (RotatedDimension)id1.GetObject(OpenMode.ForRead, false);Application.ShowAlertDialog("尺寸1: " + rot.Measurement); //弹出提示}trans.Commit();}}

此时运行不再报警。开始下一步导出信息到excel表格。那就需要添加和excel表格相关的引用。起初是将数据输出到office的excel,但是家里的电脑没正版OFFICE,CSDN也有不少C#操作EXCEL的文章,本次暂不做数据导出了。

cad二次开发c#学习记录4——导出图纸标注的尺寸相关推荐

  1. cad二次开发C#学习记录5——导出属性块信息

    一个cad文件中有很多图纸,如何一下子得到每张贴纸图纸的名称,材质及数量呢?贴纸图纸如下图. 代码如下:拿上上次的套一下哎. [CommandMethod("qq")]//less ...

  2. cad二次开发c#学习记录1——hello carrot!

    准备工作:安装Autocad和VS2015.过程略.购买参考书<Autocad开发基础与实例教程c#版>,个人感觉看完这本书基本可以做些自己相关的实用的cad二次开发了. 打开vs,新建- ...

  3. c# CAD二次开发入门学习二

    获取到一个图形对象 : AcadDocument oAcadDocument = oAcadApplication.Documents.Open(FileName, null, null); 有了图形 ...

  4. c#CAD二次开发全套视频目录

    本人非专业编程人员,设计院画图民工一名.自学CAD编程,也写了一些小程序!初期学习lisp编程语言,基本了解CAD各中开发模块,写过一些程序!前段时间自学C#CAD二次开发,遍布网上无教学视频.经过自 ...

  5. cad 二次开发 插入图片_C#之CAD二次开发(2) 直线对象创建及添加

    0. 前言 从本文开始就正式登上开往CAD二次开发幼儿园的大巴车了!你准备好了吗?车门已经焊死! 还有,本系列笔记是默认大家都有C#的基础的了.这个系列笔记是我自己学习CAD二次开发的一些记录,可能存 ...

  6. 基于C#的中望CAD二次开发学习笔记(1)环境测试

    目录 前言 一.ZRXSDK的安装使用 二.创建项目 三.编写环境测试代码 四.在ZWCAD中测试 参考资料 总结 前言 作为一个设计院搬砖人,和各种CAD打交道是必不可少的.当然,其中最为正统的是A ...

  7. Delphi进行CAD二次开发教学(1)——基础学习:运行、新建、打开图形文件

    http://hi.baidu.com/piaoliuxia/blog/item/d61e03faed3bd18c9f514670.html 查看文章   [原创]Delphi进行CAD二次开发教学( ...

  8. 引用:基于C#的中望CAD二次开发学习笔记

    目录 前言 一.ZRXSDK的安装使用 二.创建项目 三.编写环境测试代码 四.在ZWCAD中测试 参考资料 总结 前言 作为一个设计院搬砖人,和各种CAD打交道是必不可少的.当然,其中最为正统的是A ...

  9. C#进行CAD二次开发学习笔记--02

    目录 Editor 拖动类EntityJig 选择集 Editor 在C#进行CAD二次开发时,Editor类是一个特别有用的类.它提供了大量常用的接口函数,比如: // 拖动相关接口 public ...

最新文章

  1. CUDA Samples: ripple
  2. Python旋转图像到特定的角度(Rotate Image to a specific degree)
  3. 使用 Code Snippet 简化 Coding
  4. 如何让热点图支持大数据
  5. 全球与中国植物基液压油市场供需预测及未来发展展望报告2022-2028年版
  6. 刘邦韩信java_刘邦为啥非要杀韩信,800多年后李世民给出了答案,原来如此
  7. 查找N个数中第K大的数
  8. C语言工作笔记-对函数指针的进一步认识(与回调函数结合使用,并且对比C++的回调)
  9. 【机器学习】监督学习--(回归)决策树③--回归树
  10. 【 如何将.vue文件中的所有css代码放入一个.css文件中】
  11. linux-headers,如何升级linux-headers-generic?
  12. ogg启动报错libnnz11.so: cannot open shared object file
  13. 计算机跨专业考会计专硕,二本二战三跨如何考上985会计专硕之数学篇
  14. Android开发,MapBox地图详细介绍、使用、部分功能实现(初始化、标记、定位、styleurl)
  15. 猫途鹰:中国游客旅行花费低于全球平均水平,购物消费则远超全球
  16. 相机成像之Sensor 篇
  17. 完整的次世代3D游戏建模制作流程,学习教程分享
  18. Win10修改远程桌面3389端口
  19. python百度云活体检测_opencv-活体检测
  20. 编程语言,TIOBE 4 月榜单:黑马出现了

热门文章

  1. unitTest单元测试
  2. VFB组件:Picture控件(画板)
  3. 双因素认证(2FA)
  4. 【SpringBoot】之自定义 Filter 过滤器
  5. 所有的问题最终都会只剩下数学的问题
  6. 用python实现生成验证码图片
  7. 有哪些好用的思维导图软件?这个办法值得一试
  8. 全面讨论泛化 (generalization) 和正则化 (regularization) — Part 1
  9. jQuery选择器代码详解(一)——Sizzle方法
  10. pointwise linux ubuntu 安装 纪录