Skip to content
On this page

概述

数据库结构

DWG文件是一种数据库结构,所有图形信息都储存在该数据库中,掌握对该数据库的操作后也就能更好的掌握控件开发了。其中,图形数据库中包含了DWG图纸的信息,如符号表(块表、层表、文字样式表、线型表、点样式表)、字典、图元对象坐标等数据。数据库的结构如下图:

数据库结构

基本对象

DWG数据库中存储了构成图形的对象和实体,图形是存储在数据库中对象的集合,基本的数据库对象包括实体、符号表和字典。

  • 实体是一种指定类型的数据库对象,实体的可以直线、圆、圆弧、文字、曲线和椭圆等。用户在屏幕上可以看见实体并且可以对它进行操作。

  • 符号表和字典是用来存储数据库对象的容器对象,这两种对象都可以将一个符号名映射到一个数据库对象。数据库包括固定数目的符号表,每一个符号表包含了一种特定类的实例作为符号表记录。符号表的例子如数据图层表层表McDbLayerTable(),包含层表记录)和块表McDbBlockTable(),包含块表记录),所有实体都属于块表记录。

  • 字典提供了一个比符号表更加通用的容器对象来存储对象,一个字典可以包含任何McDbObject类或其他子类的对象。

句柄和对象ID

在一个使用控件过程中,可以装入多个数据库,其中每一个对象都有自己的句柄和对象ID。句柄和ID都可以唯一表示一个对象,句柄可以保存到图形中,下次打开图纸也不会发生成变化,ID只是当前内存地址,它比句柄更能快速找到对象,但是它不随图保存,下次打开图纸会发生变化。

通过对象ID,用户可以获得一个实际数据库对象,这样用户就可以对该对象执行相关操作。