AutoCAD的对象层次结构
AutoCAD .NET API主要是由对象构建的。每个暴露的对象都精确代表了AutoCAD的一个部分。在AutoCAD .NET API中的 ,有许多不同类型的对象。在AutoCAD .NET API中有代表性的一些对象是。
- 图形对象,如线、弧、文本和尺寸
- 样式设置,如图层、线型和尺寸样式
- 组织结构,如图层、组和块
- 绘图显示,如视图和视口
- 甚至是图形和AutoCAD应用程序

这些对象的结构是分层的,AutoCAD应用对象位于根部。这种层次结构通常被称为 "对象模型"。下面的插图显示了应用程序对象和BlockTableRecord中的实体之间的基本关系,例如模型空间。在AutoCAD .NET API中还有许多对象在这里没有表示。
应用程序对象 Application (.NET)
Application对象是AutoCAD .NET API的根对象。从应用程序对象中,你可以访问主窗口以及任何打开的图形。一旦你有了一个图形,你就可以访问图形中的对象。 例如,Application对象有一个DocumentManager属性,它返回DocumentCollection对象。这个对象提供了对当前在AutoCAD中打开的图形的访问,允许你创建、保存和打开图形文件。应用程序对象的其他属性提供了对应用程序特定数据的访问,如信息中心、主窗口和状态栏。MainWindow属性允许访问应用程序的名称、大小、位置和可见性。 虽然应用程序对象的大多数属性允许访问AutoCAD .NET API中的对象,但也有一些属性引用了AutoCAD ActiveX®自动化中的对象。这些属性包括应用程序对象的COM版本(AcadApplication)、菜单栏(MenuBar)、加载的菜单组(MenuGroups)和偏好设置(Preferences)。

文档对象 Document (.NET)
文档对象实际上是一个AutoCAD图形,它是DocumentCollection对象的一部分。你使用DocumentExtension和DocumentCollectionExtention对象来创建、打开和关闭图形文件。文档对象提供了对数据库对象的访问,数据库包含了所有的图形和大多数非图形的AutoCAD对象。 与数据库对象一起,文档对象提供对状态栏、文档打开的窗口、编辑器和事务管理器对象的访问。编辑器对象提供了对各种功能的访问,这些功能用于从用户那里获得点或输入的字符串或数值形式的输入。 事务管理器对象用于在一个被称为事务的单一操作下访问多个数据库对象。事务可以被嵌套,当你完成一个事务时,你可以提交或放弃所做的改变。

数据库对象 Database(.NET)
数据库对象包含所有的图形对象和大多数非图形的AutoCAD对象。数据库中包含的一些对象是实体、符号表和命名字典。数据库中的实体代表了图形中的图形对象。线、圆、弧、文本、填充体和多段线都是实体的实例。用户可以在屏幕上看到一个实体,并可以对其进行操作。 你通过Document对象的Database成员属性访问当前文档的Database对象。
Application.DocumentManager.MdiActiveDocument.Database
符号表和字典
符号表和字典对象提供对非图形对象(块、层、线型、布局等)的访问。每个图形都包含一组固定的符号表,而一个图形中的字典数量可以根据AutoCAD中使用的功能和应用类型而变化。新的符号表不能被添加到数据库中。 符号表的例子是层表(LayerTable)和块表(BlockTable),前者包含层表记录,后者包含块表记录。所有的图形实体(线、圆、弧等等)都属于一个块表记录。默认情况下,每张图纸都包含预定义的模型和图纸空间的块表记录。每个图纸空间的布局都有自己的块表记录。 字典是一个容器对象,可以包含任何AutoCAD对象或XRecord。词典要么存储在数据库中的命名对象词典下,要么作为表记录或图形实体的扩展词典。命名对象字典是与数据库相关的所有字典的主表。与符号表不同,新的字典可以被创建并添加到命名对象字典中。 注意:字典对象不能包含绘图实体。
评论