Teigha .dwg文件开发——数据库结构

 数据库是各种图形和非图形对象的存储库。从程序上讲,数据库是一个拥有很多对象的容器,同时又有很多容器组成。每个容器包含和操作特定的对象。数据库提供两种机制来存储与操作容器里面的对象。


     1)已经命名好的预定义表:预定义表格是一组固定格式的容器序列,这些容器存储特定的类型并有特定操作的对象。这种方式需要严格的格式规范,并且使用于每一对预定义的类组:<记录对象—表对象>。记录对象存储存储一个特定类的定义和属性。表对象存储存储所有同类型的表对象,并可以操作他们。一个表对象只能存储他所对应的记录对象。  记录对象和表对象都有一个特定类类型。数据库存储一下对象为记录表:块,图层,线型,标注样式,文字样式,用户坐标系统,注册的应用程序,视图和视口。
        2)字典是可以存储和处理和操作一系列对象的统一容器,而且它还可以操作自己。这种机制要求一个类实现容器接口并且一系列类实现特定的类接口。任意类型的对象可以存储到容器中,并且容器可以存储同一种类型的对象或者不同类型的对象。一个容器可以存储其他容器,形成了对象的树形的分层结构。容器的分层结构在不重组其内容格式的基础下提供了动态修改和扩展数据库的能力。该数据库存储以下对象作为词典:布局,情节设置,材料,多线样式,多重引线样式,视觉样式,表格样式,占位符(打印样式名称),组,颜色,规模,和自定义对象。该数据库还使用字典对于各种自定义数据附加到所存储的对象。
   

  这两种机制容器中添加,识别,重命名,搜索,获取和迭代对象提供的标准接口。包含在容器中的对象拥有修改它们的属性自己的接口。
   数据库的一般数据结构如下:


Teigha .dwg文件开发——数据库结构_第1张图片
数据库拥有两个块表实例:模型空间和纸空间,模型空间用来获取主要的几何对象,纸空间主要用来获取当前的布局。

你可能感兴趣的:(C++)