CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ObjectARX 开发指南

代理对象生命周期

2022-12-31 23:27| 发布者: admin| 查看: 353| 评论: 0|来自: AutoCAD

AutoCAD 在读取包含无法实例化的自定义对象的文件时会创建代理对象。当父应用程序未加载且无法按需加载时,无法实例化自定义对象。如果随后在图形会话期间加载父应用程序(例如,通过命令),AutoCAD 会自动将代理对象转换为自定义对象。

可以将代理视为包含自定义对象的包装器。代理为 AutoCAD 提供对自定义对象的基类元素(如颜色和图层)的访问权限,并封装在没有父应用程序的情况下无法访问的自定义类的数据成员。在大多数情况下,将图形数据库写入文件时会转移代理包装器。读入的同一二进制对象被写出。如果保存操作涉及在 DWG 和 DXF 之间转换文件类型(父应用程序的转换功能不存在),则代理包装器也会与自定义二进制数据一起保存。

如果在写入文件之前未加载父应用程序,则按如下方式处理数据:

  • 如果输入和输出文件是相同的文件类型(DWG 或 DXF),则无需转换操作,并且将写出读入的相同数据。存储在代理对象中的数据将写入输出文件。
  • 如果输入和输出文件的文件类型不同(即 DWG 输入和 DXF 输出,反之亦然),则无法转换格式,因为父应用程序定义的转换函数不存在。因此,整个代理对象将写入输出文件。当AutoCAD随后读取文件时,代理将转换为自定义对象(在父应用程序存在的情况下),或者保留在内存中的代理(在没有父应用程序的情况下)。

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-5-19 13:10

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部