CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 文档中心

关于检索扩展数据(AutoLISP)

2023-1-8 10:45| 发布者: admin| 查看: 447| 评论: 0|来自: AutoCAD

摘要: 应用程序可以使用 entget 获取它附加到实体的扩展数据 (xdata)。

应用程序可以获取它附加到实体的扩展数据 (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 的典型序列。请注意,应用程序参数接受列表形式的应用程序名称:

(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

注意:由于应用程序传递的字符串可以包含通配符,因此应用程序名称 of 将导致返回附加到实体的所有扩展数据。"*"entget

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-5-19 16:18

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部