非本地图形对象与非图形对象
 
 

AutoCAD .NET API 是 ObjectARX 和 ActiveX Automation 交叉执行的。虽然用户可以从 ObjectARX 中访问 ActiveX Automation ,但是 .NET API 可以使两者做到无缝接合。当用户利用本地化的 .NET API 使用对象时,你可以从对象的一个属性访问相同环境下的 COM 对象。在某种情况下,COM 对象是以编程方式访问 AutoCAD 功能的唯一方法。通过 .NET API 开发的 COM 对象的特性的例子为, Preferences、Menubar、MenuGroups、 AcadObject 和 AcadApplication。

注意当使用 COM 对象时,你应该确定你引用了 AutoCAD 2010 类型库。关于 COM Interop 的更多信息,请参见 使用COM与.NET协同操作.

Application 对象的 Preferences 属性提供对一组 COM 对象的访问,分别对应“选项”对话框中的一个选项卡。同时,这些对象提供对“选项”对话框中所有存储在注册表中的设置的访问。还可以利用 SetVariable 和 GetVariable 方法设置和修改选项(以及不属于“选项”对话框的系统变量)。更多关于使用 Preferences 的详细信息,请参见 ActiveX and VBA Developer’s Guide

访问 COM 对象是有用的,如果你现有代码最初是使用 VB 或 VBA 进行开发的,甚至是可以和 AutoCAD ActiveX Automation library 与 .NET API 一起工作的第三方库。与 Preferences 对象一样,用户也可以访问 utilities ,它可以转换坐标或基于角度和距离定义一个新的点,它可以从与 .NET API 的 Application 对象相当的 AcadApplication COM 对象被访问到。

注意当同时使用 AutoCAD .NET API 和 ActiveX Automation 时, 并且用户创建的自定义的函数可能需要返回对象,这里推荐返回 ObjectID 代替对象本身。关于 对象 Ids 的更多信息,请参见 使用ObjectIds.