Lukijan 发表于 2022-7-6 07:36:09

扩展DXF代码列表

你好,世界!
 
有什么方法可以扩展DXF代码列表吗。我想添加一些东西到块,但我不想使用属性添加它。
 
我想做的是这样的东西
 
((-1 . <Entity name: 719e5b0>) (0 . "INSERT") (5 . "16F") (67 . 0) (8 . "0") (410 . "Model") (62 . 256) (6 . "ByLayer") (370 . -1) (347 . <Entity name: 0>) (284 . 0) (48 . 1.00000) (60 . 0) (66 . 1) (2 . "_LC_I_300_p") (10 -114652. -74554.7 0.000000) (41 . 20.3568) (42 . -25.0545) (43 . 1.00000) (50 . 0.000266536) (70 . 1) (71 . 1) (44 . 0.000000) (45 . 0.000000) (210 0.000000 0.000000 1.00000) (4000 . "SOMETHING"))
 
 
我试过了
(append (entget(car(entsel))) '((4998 . "SOMETHING")))
 
我得到了
((-1 . <Entity name: 719e5b0>) (0 . "INSERT") (5 . "16F") (67 . 0) (8 . "0") (410 . "Model") (62 . 256) (6 . "ByLayer") (370 . -1) (347 . <Entity name: 0>) (284 . 0) (48 . 1.00000) (60 . 0) (66 . 1) (2 . "_LC_I_300_p") (10 -114652. -74554.7 0.000000) (41 . 20.3568) (42 . -25.0545) (43 . 1.00000) (50 . 0.000266536) (70 . 1) (71 . 1) (44 . 0.000000) (45 . 0.000000) (210 0.000000 0.000000 1.00000) (4998 . "SOMETHING"))
 
但是当我和
(setq a(entsel))   ;and select same block
(setq alist (entget(car a)))
 
我只有
((-1 . <Entity name: 719e5b0>) (0 . "INSERT") (5 . "16F") (67 . 0) (8 . "0") (410 . "Model") (62 . 256) (6 . "ByLayer") (370 . -1) (347 . <Entity name: 0>) (284 . 0) (48 . 1.00000) (60 . 0) (66 . 1) (2 . "_LC_I_300_p") (10 -114652. -74554.7 0.000000) (41 . 20.3568) (42 . -25.0545) (43 . 1.00000) (50 . 0.000266536) (70 . 1) (71 . 1) (44 . 0.000000) (45 . 0.000000) (210 0.000000 0.000000 1.00000))

MSasu 发表于 2022-7-6 07:55:02

似乎您希望向实体添加一些用户数据,对吗?请在AutoLISP帮助中查看扩展数据管理。您还需要为数据注册一个应用程序名(APPID表)。

Lee Mac 发表于 2022-7-6 08:13:16

使用扩展数据,以下是一个教程:
 
http://www.afralisp.net/autolisp/tutorials/extended-entity-data-part-1.php

Lukijan 发表于 2022-7-6 08:34:31

真 的!我本以为会有一些答案,但这太糟糕了!非常感谢!:D

Lee Mac 发表于 2022-7-6 08:38:23

非常欢迎你,陆吉健。
 
根据需要存储的数据量,您可能还需要查看字典,因为字典对可能存储的数据量有更高的限制。
页: [1]
查看完整版本: 扩展DXF代码列表