spursand 发表于 2010-7-6 11:27:00

遍历dwg中的所有图形(已解决)

本帖最后由 作者 于 2010-8-26 10:43:15 编辑 <br /><br /> &nbsp;  我要读取DWG文件中所有图形的扩展属性,我通过遍历文件中的所有实体的方法去实现,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>    foreach (AcadEntity entity in AcadApp.ActiveDocument.ModelSpace)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {  <br/>      object XDataType;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; object XDataValue;<br/>      entity.GetXData("测试管道数据", out XDataType, out XDataValue);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }  但遍历所有图形,代码的执行时间实在是太长了.请问有什么办法解决这个问题吗?<br/>

雪山飞狐_lzh 发表于 2010-7-6 13:52:00

<p>选择集</p>
<p><font face="Verdana"><a href="http://www.mjtd.com/object/acad2004/ex_select.htm">http://www.mjtd.com/object/acad2004/ex_select.htm</a></font></p>
<p>在论坛先搜下类似的代码,VBA版</p>

spursand 发表于 2010-7-6 14:23:00

 谢谢版主,不过通过选择集选择我要的图层的实体列表后,同样也要遍历选择集中的实体才能获取到这些实体的扩展属性

spursand 发表于 2010-7-6 14:39:00

  还是因为通过AutoCAD ActiveX去遍历dwg的实体本来就是是需要这么长的时间的呢?不知道有没办法解决这个问题了.

雪山飞狐_lzh 发表于 2010-7-7 07:12:00

<p>你可以按1001码过滤的</p>
<p>1001,"测试管道数据" </p>

spursand 发表于 2010-7-16 16:17:00

通过选择集去遍历的确快一点
页: [1]
查看完整版本: 遍历dwg中的所有图形(已解决)