1

我想枚举 Autocad 绘图中的所有实体,但不使用Autocad.Interop参考。

使用互操作,我可以选择:

IAcadApplication App = (IAcadApplication)Application.AcadApplication;
IAcadDocument Doc = App.ActiveDocument;

foreach (IAcadEntity Ent in Doc.ModelSpace) // or paperspace, or any IAcadBlock

但是通过Object Arx参考资料,我只能找到使用数据库中的事务获取实体的教程,通过 ID 获取对象。我认为放慢工作速度真的很无聊。

4

1 回答 1

2

我们就是这样做的。您要么拥有互操作代码,要么拥有某种方式的 objectid 迭代。

这是来自开发网络的一篇好文章:http: //adndevblog.typepad.com/autocad/2012/05/whats-the-best-way-to-iterate-through-an-entire-database.html

如果您打算使用 C#,我建议您咬紧牙关,然后继续使用事务等,实际上没有办法解决它。

于 2013-05-22T12:33:02.847 回答