实体句柄及其用途
该函数检索具有特定句柄的实体的名称。与图元名称一样,手柄在图形中是唯一的。与实体名称不同,实体的句柄在其整个生命周期中都是恒定的。操作特定数据库的 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() 与“外部参照附着”(XREF Attach) 交叉参照的图形中的图元实际上不是当前图形的一部分;它们的句柄保持不变,无法通过 访问。但是,当通过 INSERT、INSERT *、XREF Bind (XBIND) 或部分 DXFIN 组合图形时,传入图形中图元的控点将丢失,并且为传入图元分配新的控点值,以确保原始图纸中的每个控点保持唯一。acdbHandEnt() 注意:扩展数据可以包括用于保存图形中关系结构的实体句柄。在某些情况下,这些句柄需要翻译或维护。请参阅在扩展数据中使用句柄。
父主题: |
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-3-14 06:51
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.