CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2019 开发者帮助

符号表和字典的比较

2024-5-18 17:56| 发布者: admin| 查看: 129| 评论: 0|原作者: admin|来自: AutoCAD

符号表和字典的比较

符号表和字典执行基本相同的功能;它们包含的条目是可以使用文本字符串键查找的数据库对象。您可以向这些容器对象添加条目,并且可以使用迭代器单步执行条目并查询其内容。

AutoCAD 数据库始终包含一组固定的 9 个符号表,如下一节所述。您无法创建或删除符号表,但可以添加或更改符号表中的条目,这些条目称为记录。每个符号表仅包含特定类型的对象。例如,仅包含 类型的对象。以这种方式定义符号表主要是为了与 AutoCAD 版本 12 和早期版本的 AutoCAD 兼容。AcDbLayerTableAcDbLayerTableRecord

字典提供了类似的机制,用于存储和检索具有关联名称键的对象。每当 AutoCAD 数据库创建新图形时,都会创建命名对象字典。命名对象字典可以看作是图形中非实体对象结构的主“目录”。默认情况下,此字典包含九个字典:GROUP 字典、MLINE 样式字典、布局字典、打印样式名称字典、颜色字典、材料字典、打印设置字典、表格样式字典和 SYSVAR 字典。您可以创建任意数量的其他对象,并将它们添加到命名对象字典中。但是,最佳做法是将一个对象直接添加到命名对象字典中,并让该对象依次拥有与应用程序关联的其他对象。通常,拥有的对象是容器类,例如字典。使用您分配的四个字母的注册开发人员符号作为此类的名称。

对象可以包含任何类型的 ,包括其他字典。字典对象不执行条目的类型检查。但是,MLINE 样式字典应仅包含类 的实例,而 GROUP 字典应仅包含 的实例。应用程序可能需要对其创建和维护的字典中的条目进行特定键入。AcDbDictionaryAcDbObjectAcDbMlineStyleAcDbGroup

符号表、符号表记录、字典和迭代器的类层次结构如下。

符号表和字典之间的一个重要区别是,ObjectARX 应用程序无法直接擦除符号表记录。这些记录只能使用 PURGE 命令擦除,也可以使用 wblock 操作有选择地过滤掉。字典拥有的对象可以擦除。 ®

危险:擦除字典或字典条目(请参见基本数据库对象)可能会导致 AutoCAD 或其他应用程序失败。

另一个重要区别是,符号表记录将其关联的查找名称存储在其类定义的字段中。另一方面,字典将名称键存储为字典的一部分,独立于与其关联的对象,如下图所示。

父主题:

  1. 容器对象

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1   苏公网安备32011402011833)

GMT+8, 2025-3-14 08:25

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部