如何在不使用Autocad.Interop的情况下通过Autocad实体进行枚举?

时间:2013-05-21 15:53:10

标签: c# autocad autocad-plugin objectarx

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

使用Interop我可以选择:

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

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

但是使用Object Arx引用,我只能找到教程来获取使用数据库中的事务的实体,通过ID获取对象。我认为放慢工作是非常无聊的事情。

1 个答案:

答案 0 :(得分:2)

这就是我们这样做的方式。你有Interop代码,或者某种objectid迭代方式。

以下是Dev Network的一篇好文章:http://adndevblog.typepad.com/autocad/2012/05/whats-the-best-way-to-iterate-through-an-entire-database.html

如果您打算使用C#,我建议只是咬紧牙关,继续使用交易等等,实际上没有办法解决它。