CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ObjectARX 开发指南

实体句柄及其用法

2023-1-1 02:22| 发布者: admin| 查看: 345| 评论: 0|来自: AutoCAD

该函数检索具有特定句柄的实体的名称。与图元名称一样,控柄在图形中是唯一的。与实体名称不同,实体的句柄在其整个生命周期中保持不变。操作特定数据库的 ObjectARX 应用程序可用于获取它们必须使用的实体的当前名称。acdbHandEnt()acdbHandEnt()

以下示例代码片段用于获取实体名称并将其打印出来。acdbHandEnt()

char handle[17]; 
ads_name e1; 
strcpy(handle, "5a2"); 
if (acdbHandEnt(handle, e1) != RTNORM) 
    acdbFail("No entity with that handle exists\n"); 
else 
    acutPrintf("%ld", e1[0]); 

在一个特定的编辑会话中,此代码可能会打印出60004722。在具有相同绘图的另一个编辑会话中,它可能会打印完全不同的数字。但在这两种情况下,代码都访问同一个实体。

该函数还有一个额外的用途:在您离开当前图形(通过退出 AutoCAD 或切换到另一个图形)之前,不会清除从数据库中删除的图元。这意味着 可以恢复已删除图元的名称,然后可以通过第二次调用将其恢复到图形中。acdbHandEnt()acdbEntDel()acdbHandEnt()acdbEntDel()

使用外部参照附着交叉参照的图形中的图元实际上不是当前图形的一部分;它们的句柄保持不变,无法访问。但是,当通过插入、插入 *、外部参照绑定 (XBIND) 或部分 DXFIN 组合图形时,传入图形中图元的控柄将丢失,并且将为传入图元分配新的控柄值,以确保原始图形中的每个控柄保持唯一。acdbHandEnt()

注意:扩展数据可以包括实体控柄,以在图形中保存关系结构。在某些情况下,这些句柄需要转换或维护。请参阅在扩展数据中使用句柄

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部