在AutoCAD中当一个对象被创建的时候,他们会被添加到数据库中对应的容器当中去。实体对象被添加到块表记录当中,符号表记录被添加到对应的符号表当中。所有的其它对象都被添加到有名字典当中或者他所属的哪个对象带有的(通常是有名字典)或者扩展字典中。细节请参考下一节在AutoCAD中创建对象,里面详细说明了整个过程。扩展字典将在第5.4.2节(扩展字典)当中详细介绍。
作为一个可用的数据库,它至少需要包含以下的几个对象:
1、9个拥有唯一名字的实体对象符号表的集合,包括块表,图层表,线型表。块表默认包含三个记录,它们是一个块记录*MODEL_SPACE,和两个图纸空间记录*PAPER_SPACE和*PAPER_SPACE0。第一个块表代表模型空间记录,另外两个块表定义图纸空间布局。图层表默认包含一个图层记录,图层0.线型表默认包含CONTINUOUS线型记录。
2、一个有名字典,当一个数据库创建的时候,数据库中就包含四个数据库字典,组字典(GROUP),多线型字典(MLINE),布局字典(layout),打印样式有名字典(plot)。在多线型字典中标准线型(STANDARD)是一直存在的。
在创建数据库对象的时候可以通过构造参数buildDefaultDrawing指定是否默认创建基本的数据库对象。kTure则创建,kFlase则不创建,此时通过导入DWG或者DXF来使用已经创建的对象。
AcDbDatabase(Adesk::Boolean buildDefaultDrawing = Adesk::kTrue);//构造函数