成语大全网 - 汉语词典 - acdbCurDwg是什么?有何用?

acdbCurDwg是什么?有何用?

获取当前图形数据库指针

ObjectARX程序设计入门--1、图形数据库操作

AutoCAD图形实际上是一系列存放在一个AcDbDatabase类型的数据库中的AcDb对象。AcDbDatabase数据库中所有的对象都有一个句柄,在一个图形(DWG)文件中,对象句柄是唯一的,用来标识对象。AutoCAD图形实体(AcDbEntity类对象)只是AcDbDatabase数据库的一种特殊的对象,用户可以在图形窗口看到并编辑它。AcDbDatabase数据库中的对象还有符号表、词典和其它与AcDb类对象相关的符号。数据库中所有的图形实体和对象都可以使用ObjectARX技术,通过程序设计来进行修改和编辑。这一点其实也就是AutoCAD二次开发的基本出发点和最终目标。<这话对吗?总感觉有些不妥,但不知道如何表达才准确。><尖括号中的内容是我个人感想,不会出现在最终文档中。>

AcDbDatabase既然是数据库,它必然具备数据库的基本组织结构。它由多个表(Table)和表中的记录(Record)构成。AcDbDatabase数据库包括九个符号表和一个命名对象词典。<下面这张图表与大部分教材不同,各位以为如何?>

AcDbDatabase数据库

|------AcDb符号表

| |------块表(AcDbBlockTable)

| |------尺寸标注样式表(AcDbDimStyleTable)

| |------层表(AcDbLayerTable)

| |------线型表(AcDbLinetypeTable)

| |------已注册应用程序表(AcDbRegAppTable)

| |------字体样式表(AcDbTextStyleTable)

| |------用户坐标系表(AcDbUCSTable)

| |------视口表(AcDbViewportTable)

| |------视图表(AcDbViewTable)

|-------命名对象词典

AcDbDatabase数据库使用了面向对象的数据库(OODB)技术,用传统的数据库的术语来说,它甚至不是第一范式(1NF)的,记录的组织形式与普通的数据库有较大的不同。<这大概是很多人没把AutoCAD图形看作数据库的原因。>在AutoCAD命令行运行LISP函数entget可以清楚地看到实体在AcDbBlockTable块表中的记录组织形式。当然,在ObjectARX技术中,关于数据库记录的细节进行了数据封装,对数据库的表和记录进行操作要通过访问各个类的成员函数来实现。