eldon 发表于 2022-7-6 10:31:55

您拥有的是标记名,而不是属性值,因此它不会爆炸或爆裂。
 
我似乎记得dbroada不久前希望标记值显示为文本,但我不记得具体在哪里。也许他可以善意地提出建议。

pBe 发表于 2022-7-6 10:34:59

也许是这样?
 

(defun c:TEST (/ xpldat fao fao_pro get_str nmbr)
(princ "\nSelect Exploded Attributes")(princ)
(setq xpldat (ssget'((0 . "ATTDEF"))) nmbr 0)
(while (< nmbr (sslength xpldat))
   (setq fao (ssname xpldat nmbr)
         fao_pro (entget fao)
         get_str (cdr (assoc 2 fao_pro)))

(setq newness (list '(0 . "TEXT")
       (cons 10 (cdr (assoc 10 fao_pro)))(cons 40 (cdr (assoc 40 fao_pro)))
      (cons 1 (cdr (assoc 2 fao_pro)))(cons 41 (cdr (assoc 41 fao_pro)))
      (cons 7 (cdr (assoc 7 fao_pro)))
             )
      )
(entmake newness)(entdel fao)
(setqnmbr (1+ nmbr))
   )
)

eldon 发表于 2022-7-6 10:38:12

快速翻找之后,也许这条线索会有用

Michaels 发表于 2022-7-6 10:39:12

pBe你想用完整的文本替换Att吗?
 
这是个好主意,伙计。
 
我认为不用测试它就能很好地工作,但有一个小的缺失变量。
 

(setq nmbr (1+ nmbr))

 
正当
 
非常感谢。

pBe 发表于 2022-7-6 10:43:08

 
 
啊哈!!!你说得对
糟糕的打字员。。。。

Michaels 发表于 2022-7-6 10:44:51

 
谢谢你,艾尔顿,这和我们的帖子差不多。
 
感谢

Michaels 发表于 2022-7-6 10:48:31

 
工作得很好,成为如此令人惊叹的常规,你可以匹配层名称以及att.WER铺设。
 
非常感谢。
 
非常欣赏和喜欢这个想法。

pBe 发表于 2022-7-6 10:51:21


(cons 8 (cdr (assoc 8 fao_pro)))

 
添加此。。
 
注意,迈克尔。。它将继承图层属性。。。但是如果颜色/线型是按实体。。。。嗯,这是另一件需要担心的事

Michaels 发表于 2022-7-6 10:56:32

 
肯定
 
有时它的颜色不同,所以我们也可以添加。

(cons 62 (cdr (assoc 62 fao_pro)))

 
感谢

pBe 发表于 2022-7-6 10:59:42

呃。。。。不,我的朋友
 
DXF 62并不总是存在
以及线型的DXF(6)
 
如果你愿意,我们可以把整件事重写一遍
您可以做的是测试DXF 62和6是否存在,如果找到,则添加/如果没有添加
但是我想用VLisp重新编写代码更容易。。
页: 1 [2]
查看完整版本: 分解属性文本