首页 > 数据库 >AutoCAD 数据库入门

AutoCAD 数据库入门

时间:2022-11-02 12:56:27浏览次数:77  
标签:符号表 入门 对象 数据库 AutoCAD ID 字典

1.AutoCAD 数据库概述

AutoCAD 图形是存储在数据库中的对象集合。一些基本的数据库对象是实体、符号表和字典。实体是一种特殊的数据库对象,在 AutoCAD 图形中具有图形表示形式。直线、圆、圆弧、文本、实体、区域、样条曲线和椭圆都是图元的示例。用户可以在屏幕上看到实体并可以对其进行操作。

符号表和字典是用于存储数据库对象的容器。这两个容器对象都将符号名称(文本字符串)映射到数据库对象。AutoCAD 数据库包括一组固定的符号表,每个符号表都包含特定类别的符号表记录的实例。不能向数据库添加新的符号表。符号表的示例包括包含图层表记录的图层表 () 和包含块表记录的块表 ()。所有 AutoCAD 实体都归块表记录所有。AcDbLayerTableAcDbBlockTable

字典提供了比符号表更通用的容器来存储对象。字典可以包含其类型或子类的任何对象。AutoCAD 数据库在创建新图形时会创建一个名为命名对象字典的字典。命名对象字典可以被视为与数据库关联的所有字典的主“目录”。可以在命名对象字典中创建新字典,并向其中添加新的数据库对象。AcDbObject

下图显示了 AutoCAD 数据库的关键组件。

 

 

 

 

在 AutoCAD 编辑会话期间,可以通过调用以下全局函数来获取当前图形的数据库:

acdbHostApplicationServices()->workingDatabase()

1.1 多个数据库

可以在单个 AutoCAD 会话中加载多个数据库。会话中的每个对象都有一个句柄和一个对象 ID。句柄唯一标识特定数据库范围内的对象,而对象 ID 唯一标识一次加载的所有数据库中的对象。对象 ID 仅在编辑会话期间保留,但句柄随图形一起保存。与对象 ID 相反,在 AutoCAD 会话中加载多个数据库时,不能保证对象句柄是唯一的。

1.2 获取对象标识

使用对象 ID,可以获取指向实际数据库对象的指针,以便可以对其执行操作。有关示例,请参见打开和关闭 ObjectARX 对象

您可以通过多种方式获取对象 ID:

  • 创建一个对象并将其追加到数据库中。然后,数据库为对象提供一个 ID 并将其返回给您。
  • 使用数据库协议获取创建数据库时自动创建的对象的对象 ID(例如固定的符号表集和命名对象字典)。
  • 使用特定于类的协议获取对象 ID。某些类(如符号表和字典)定义拥有其他对象的对象。这些类提供用于获取拥有对象的对象 ID 的协议。
  • 使用迭代器单步执行一个列表或一组对象。AcDb 库提供了许多迭代器,可用于单步执行各种容器对象 (, )。AcDbDictionaryIterator AcDbObjectIterator
  • 查询选择集。用户选择对象后,可以向选择集询问所选对象的实体名称列表,并从名称转换为对象 ID。有关选择集的详细信息,请参阅实体

2.基本数据库对象

在 AutoCAD 中创建对象时,这些对象将添加到数据库中相应的容器对象中。实体将添加到块表中的记录中。符号表记录将添加到相应的符号表中。所有其他对象将添加到命名对象字典或由其他对象(并最终由命名对象字典)拥有的对象或扩展字典中。下一节“在 AutoCAD 中创建对象”中的方案详细介绍了此过程。扩展词典在“扩展词典”部分中讨论。

若要可用,数据库必须至少具有以下对象集:

  • 一组九个符号表,包括块表、图层表和线型表。块表最初包含三条记录:一条名为 *MODEL_SPACE 的记录,以及两条名为 *PAPER_SPACE 和 *PAPER_SPACE0 的图纸空间记录。这些块表记录表示模型空间和两个预定义的图纸空间布局。图层表最初包含一个记录,即图层 0。线型表最初包含“连续”线型。
  • 命名对象字典。创建数据库时,此字典已包含四个数据库字典:GROUP 字典、MLINE 样式字典、布局字典和打印样式名称字典。在 MLINE 样式字典中,标准样式始终存在。

这些对象可以通过传入构造函数的参数在新数据库中自动创建。传入将创建一个空数据库,可以将 DWG 或 DXF ™ 文件加载到该数据库中。kTrue AcDbDatabase buildDefaultDrawing kFalse

3.在AutoCAD中创建对象

本节介绍如何在 AutoCAD 中创建线、圆、图层和组,并演示 AutoCAD 如何将这些对象添加到数据库中。首先,假设用户使用以下命令在模型空间中创建一条线:

4,2行 10,7

在数据库中,AutoCAD 创建类的实例,然后将其存储在模型空间块表记录中,如下图所示:AcDbLine

首次调用 AutoCAD 并且数据库处于默认状态时,图元将添加到模型空间(AutoCAD 中的主空间)中,用于模型几何图形和图形。图纸空间旨在支持“文档”几何图形和图形,例如绘图图纸轮廓、标题栏和注释文本。AutoCAD(在本例中为 LINE)中的实体创建命令会将实体添加到当前数据库以及模型空间块中。您可以询问任何实体哪个数据库以及它属于哪个块。

接下来,假设用户使用以下命令创建一个圆圈:

圆圈 9,3 2

同样,AutoCAD 会在此处创建相应实体的实例,并将其添加到模型空间块表记录中。AcDbCircle

接下来,用户创建一个图层:

图层_make MyLayer

AutoCAD 创建一个新的图层表记录来保存该图层,然后将其添加到图层表中。

最后,用户将所有实体分组在一起:

组 3,2 9,3

AutoCAD 创建一个新的组对象,并将其添加到“组”字典中,该字典包含在命名对象字典中。新组包含组成组的对象的对象 ID 的列表。

标签:符号表,入门,对象,数据库,AutoCAD,ID,字典
From: https://www.cnblogs.com/HRDK-CADeveloper/p/16850657.html

相关文章