(22)ObjectARX2015 + vs2012符号表
图形数据库由符号表和命名对象字典组成。
符号表是 AutoCAD 中的一种容器对象,保存了对应的符号表记录,用来实现
AutoCAD 中的某种对象:
块表(
AcDbBlockTable
):包含模型空间、图纸空间和用户创建的块定义,块表记录中保存了图形数据库中的实体。
层表(
AcDbLayerTable
):保存了图形中所有的图层,可通过
AutoCAD
中的
LAYER 命令查看。
文字样式表(
AcDbTextStyleTable
):存储图形中的文字样式,通过
AutoCAD
中的 STYLE 命令查看。
线型表(
AcDbLinetypeTable
):保存了图形中加载的线型,通过
AutoCAD
中的
LTYPE 命令查看。
视图表(
AcDbViewTable
):存储了图形中保存的视图,通过
AutoCAD
中的
VIEW 命令查看。
UCS
表(
AcDbUCSTable
):保存图形中的
UCS
(用户坐标系),通过
AutoCAD
的 UCS 命令访问。
视口表(
AcDbViewportTable
):保存图形中视口的设置,通过
VPORT
命令访问。
注册应用程序表(
AcDbRegAppTable
):在使用扩展数据等特性时,需要根据应用程 序名称来区别不同程序使用的数据,这就需要使用注册一个应用程序。AutoCAD
中未提供直接访问的命令。
标注样式表(
AcDbDimStyleTable
):保存标注样式,通过
AutoCAD
中的
DIMSTYLE 命令访问。
从数据库获得各种符号表的方法大同小异,除了可以使用 getSymbolTable
函数,还可根据符号表的具体类型调用相应的函数,如获得块表使用 getBlockTable
函数,获得层表使用getLayerTable 函数。
所有的符号表都继承自 AcDbSymbolTable
类,该类包含了下面几个函数:
add
:向符号表添加一条新的记录,各种符号表实现的形式略有不同。
getAt
:获得符号表中特定名称的记录。
has
:判断符号表中是否包含指定的记录。
newIterator
:创建一个符号表遍历器,访问符号表中的所有记录。