CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2018 开发者帮助

Xrecord 对象

2024-5-18 16:58| 发布者: admin| 查看: 12| 评论: 0|原作者: admin|来自: AutoCAD

Xrecord 对象

xrecord 对象是一个内置对象类,其 DXF 名称为 “”,用于存储和管理任意数据流,在外部表示为结果缓冲区列表,该列表由具有“普通对象”组(即非 xdata 组代码)的 DXF 组组成,范围从 1 到 369。XRECORD

Xrecord 对象是供 ObjectARX 和 AutoLISP 应用程序使用的通用对象。此类允许应用程序创建和存储与实体完全分离的非图形信息的任意结果缓冲区列表的任意对象结构。所有应用程序定义对象的根所有者要么是命名对象字典,它接受任何类型作为条目,包括 ,要么是任何对象的扩展字典。AcDbObjectAcDbXrecord

应用程序应在命名对象字典中使用唯一的条目名称。使用命名对象字典或扩展字典条目名称的逻辑类似于 REGAPP 名称的逻辑。事实上,在将应用程序定义的对象追加到数据库或特定对象时,REGAPP 名称非常适合用作条目名称。

xrecord 对象的使用代表了对当前将 xdata 分配给实体的做法的实质性简化。由于 xrecord 对象不需要与实体链接,因此不再需要创建虚拟实体(虚拟实体通常用于为 xdata 提供更多空间)或冻结层上的实体。

应用程序可以使用 xrecord 对象执行以下操作:

  • 保护信息免遭不分青红皂白的层清除或解冻,这始终对存储在 xdata 中的非图形信息构成威胁。
  • 利用对象所有权/指针引用字段 (330–369) 来维护内部数据库对象引用。任意句柄值完全不受对象 ID 转换机制的影响。这与 1005 个 xdata 组相反,后者在某些情况下被翻译,但在其他情况下则不被翻译。
  • 不受每个对象 16K xdata 容量限制的影响。如果愿意,也可以在特定实体和对象上使用此对象来代替 xdata,但要了解,无论您将 xrecord 对象存储在何处,它们都没有内置大小限制,除了有符号 32 位整数范围施加的 2 GB 限制。

    对于特定于对象的状态,xrecord 对象非常适合存储大量存储的信息,而 xdata 更适合存储少量数据。

在构建 xrecord 对象的层次结构(添加对对象的所有权或指针引用)时,该对象必须已存在于数据库中,因此具有合法的实体名称。由于不返回实体名称,并且仅识别图形对象,因此在引用非图形对象时必须使用。acdbEntMake()acdbEntLast()acdbEntMakeX()

该函数返回添加到数据库的对象的实体名称(图形或非图形)。如果正在创建的对象是实体或符号表记录,则其行为将与(换句话说,它将创建对象并建立对象的所有权)相同。对于所有其他对象类型,将对象追加到数据库,但不建立所有权。acdbEntMakeX()acdbEntMakeX()acdbEntMake()acdbEntMakeX()


路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-6-27 15:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部