ObjectARX AutoCAD的数据库和实体结构
时间:2010-08-26 来源:能巴
一、符号表
一副CAD图形就是一个包含有多个表的数据库,它规定了9个符号表(见下表),用户不能再增加新的符号表
符号表名 |
符号表功能 |
AcDbViewTable (视图表) |
适用于 AcDbViewTableRecord 类,表示在数据库中存储的视图。 视图与CAD的"VIEW"命令相关联 |
AcDbViewportTable(视口表) |
适用于 AcDbViewportTableRecord 类,表示在CAD中当前系统变量TILEMODE的值为1时的视口设置。视口配置由CAD的 VPORTS 命令创建。不要和 MVIEW 命令混淆,当系统变量 TILEMODE 的值为0是,该命令创建视口实体。 |
AcDbLinetypeTable (线性表) |
适用于 AcDbLinetypeTableRecord 类,表示图形数据库中的线性。 |
AcDbLayerTable (层表) |
适用于 AcDbLayerTableRecord类,表示图层。 |
AcDbTextStyleTable (文字样式表) |
适用于 AcDbTextStyleTable 类,表示文字样式。 |
AcDbUCSTable (用户坐标系表) |
适用于 AcDbUCSTableRecord 类,表示图形数据库中的存储的用户坐标系。 |
AcDbRegAppTable (应用程序名注册表) |
适用于 AcDbRegAppTableRecord 类,表示为图形数据库中对象的扩展实体数据而注册的应用程序名。 |
AcDbDimStyleTable (尺寸标注样式表) |
适用于 AcDbDimStyleTableRecord 类,表示图形数据库中的尺寸标注样式。 |
AcDbBlockTable (块表) |
适用于 AcDbDimStyleTableRecord 类,表示图形数据库中定义的块。此表含有两个非常重要的记录:模型空间和图纸空间。所有的实体(可见对象)均防御块表AcDbBlockTable中。 |
总结出一下把实体放入CAD数据库时所需的步骤。如下:
- 创建一个新实体。
- 以读方式打开块表。
- 以写方式打开块表记录,并在其中查找 ACDB_MODEL_SPACE 或 ACDB_PAPER_SPACE 或一个布局。
- 关闭块表。
- 把实体添加到块表记录。
- 关闭块表记录。
- 关闭实体对象。