应用程序可以获取它附加到具有 的实体的扩展数据 (xdata)。entget 该函数可以返回实体的定义数据和它请求的应用程序的 xdata。它需要一个额外的参数 application,用于指定应用程序名称。传递给的名称必须与先前调用到的应用程序注册的应用程序相对应;它们还可以包含通配符。entgetentgetregapp 默认情况下,关联填充图案包含 xdata。以下示例代码演示了此 xdata 的关联列表。在使用代码之前,请创建一个闭合边界,并将关联填充对象应用于该边界。 (entget (car (entsel)) '("ACAD")) 选择对象:选取关联填充 在命令行中输入上述代码将返回如下所示的列表: ((-1 . <Entity name: 7ffffb05e10>) (0 . "HATCH") (330 . <Entity name: 7ffffb039f0>) (5 . "1D9") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbHatch") (10 0.0 0.0 0.0) (210 0.0 0.0 1.0) (2 . "ANSI31") (70 . 0) (71 . 1) (91 . 1) (92 . 7) (72 . 0) (73 . 1) (93 . 4) (10 31.2567 17.3197 0.0) (10 7.77575 17.3197 0.0) (10 7.77575 8.83313 0.0) (10 31.2567 8.83313 0.0) (97 . 1) (330 . <Entity name: 7ffffb05d50>) (75 . 1) (76 . 1) (52 . 0.0) (41 . 3.0) (77 . 0) (78 . 1) (53 . 0.785398) (43 . 0.0) (44 . 0.0) (45 . -0.265165) (46 . 0.265165) (79 . 0) (47 . 0.0289642) (98 . 1) (10 21.1106 14.5391 0.0) (-3 ("ACAD" (1010 0.0 0.0 0.0)))) 下面的示例代码演示了检索两个指定应用程序的 xdata 的典型序列。请注意,application 参数接受列表形式的应用程序名称: (setq working_elist (entget ent_name '("MY_APP_1" "SOME_OTHER") ; Only xdata from "MY_APP_1" ) ; and "SOME_OTHER" is retrieved. ) (if working_elist (progn ... ; Updates working entity groups. (entmod working_elist) ; Only xdata from registered ) ; applications still in the ) ; working_elist list are modified. 如示例代码所示,您可以使用对 的后续调用来修改检索到 的 xdata,就像使用修改普通实体定义数据一样。还可以通过在传递给 的实体列表中定义 xdata 来创建 xdata。仅返回那些专门请求的应用程序的 xdata 可以防止一个应用程序损坏另一个应用程序的数据。它还控制应用程序需要使用的内存量,并简化应用程序需要执行的 xdata 处理。entgetentmodentmodentmake 注意:由于应用程序传递的字符串可以包含通配符,因此应用程序名称将导致返回附加到实体的所有扩展数据。"*"entget
相关概念 |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2024-12-15 14:55
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.