首页 > 其他分享 >AcDbDictionary

AcDbDictionary

时间:2022-12-21 16:45:50浏览次数:34  
标签:对象 擦除 名称 字符串 AcDbDictionary 字典

描述

AcDbDictionary是一个数据库常驻对象字典,它维护文本字符串和数据库对象之间的映射。该类的实例表示单个对象,如Drawing Symbol Table,从AcDbObject派生的对象可以添加、访问和删除。AcDbDictionary中的条目必须是唯一的。条目由唯一的AcDbObject和字符串组成,字符串包含条目的键名。键可以是显式的以空结束的文本字符串,也可以是星号(' * ')作为字符串中的第一个字符,表示匿名条目。匿名条目的键将在内部通过在星号后面附加一个'A'和一个唯一的整数值来构造;例如,'*A13'。当一个对象被放置在字典中时,字典被建立为对象的所有者,查找键字符串与对象的对象ID相关联,字典本身作为持久反应器附加到对象,以便在对象被擦除时通知字典。

备注

字典名称尊重符号名称的规则。这些一般规则是:

名称可以根据需要设置(根据AutoCAD以前版本的定义,长度超过32个字符)。
名称可以包含额外的字符,例如空格字符('')、撇号(" ')等。
名称不区分大小写。
名称中不能包含以下非法字符:
竖条('|')
星号(“*”),除上文所述外
反斜杠(“)
冒号(“:”)
分号(“;”)
尖括号('>;', '<;')
问号('?')
双引号('"')
逗号(,)
等号('=')
顿号(' ")

在检索字典条目的键名时,如果您不是添加该键的人,则不应该假设名称的长度或内容。例如,如果您创建了一个字典,并且只将长度为20个字符的名称放入字典中,那么您可以安全地假设字典只包含20个字符的名称。如果您正在从不是您创建的字典中检索键名,并且可能由AutoCAD或其他ARX程序更新,那么您应该准备好处理任意长的名称。

从数据库检索到的对象指针表示当前以请求模式打开的单个对象。返回状态指示打开条目对象的状态。如果状态不是Acad::eOk,则返回指针为NULL。

添加到字典中的对象不能存在于数据库中;也就是说,它们必须有NULL句柄。

字典中被删除或替换的对象通过AcDbObject::erase()被擦除。

当一个字典被擦除时,它中的所有对象也会被擦除。当字典未被擦除时,它的所有内容也未被擦除。

 

标签:对象,擦除,名称,字符串,AcDbDictionary,字典
From: https://www.cnblogs.com/HRDK-CADeveloper/p/16996574.html

相关文章