rustym 发表于 2022-7-5 17:01:05

thanx david。这就像一场梦。
 
(伙计,我真的需要自学编程技巧):wink:

Lee Mac 发表于 2022-7-5 17:04:04

谢谢大卫,但我不明白为什么我的不行

David Bethel 发表于 2022-7-5 17:07:47

李,
 
当尚未定义文字样式时,ATTDEF(和文字)提示会有所不同。这已经存在很长时间了,一直是一种痛苦。
 
打开新的DWG并浏览提示
 
打开定义了样式的DWG
 
有一个额外的文字高度提示-大卫
 
PS我尽量不使用(命令)来表示文本或ATTDEF。太多了,这会变得很奇怪。

Lee Mac 发表于 2022-7-5 17:08:25

 
啊,我现在明白了,谢谢。难怪当我在我的机器上测试它时,它工作了,但在其他地方可能没有。
 
是的,我必须承认,我对文本有过这样的体验,所以我求助于entmake,但我不知道它也适用于ATTDEF。
 
非常感谢你的提醒
 

asos2000 发表于 2022-7-5 17:13:57

 
文本有空格时不工作
 
lisp可以用_或任何能够转换为attribute的东西替换空格吗
并添加txt字符串作为默认值

Lee Mac 发表于 2022-7-5 17:15:01

这应该涉及空间:
 

(defun c:txt2atta (/ ss i en ed)
(vl-load-com)
(while (not ss)
      (princ "\nSelect TEXT to Convert to ATTDEF:   ")
      (setq ss (ssget (list (cons 0 "TEXT")
                              (cons 410 (getvar "CTAB"))))))
(setq i (sslength ss))
(while (not (minusp (setq i (1- i))))
      (setq en (ssname ss i)
            ed (entget en)
            ed (subst (cons 1
                        (vl-string-subst "_" " "
                            (cdr (assoc 1 ed))))
                        (assoc 1 ed) ed))
   (entmake (list (cons 0 "ATTDEF")
                  (assoc 8 ed)
                  (assoc 10 ed)
                  (assoc 11 ed)
                  (assoc 7 ed)
                  (assoc 40 ed)
                  (assoc 41 ed)
                  (assoc 50 ed)
                  (assoc 51 ed)
                  (cons 70 0)
                  (assoc 71 ed)
                  (assoc 72 ed)
                  (cons 74 (cdr (assoc 73 ed)))
                  (assoc 210 ed)
                  (assoc 1 ed)
                  (cons 2 (cdr (assoc 1 ed)))
                  (cons 3 (cdr (assoc 1 ed)))
                  (if (assoc 6 ed) (assoc 6 ed)'(6 . "BYLAYER"))
                  (if (assoc 39 ed) (assoc 39 ed)'(39 . 0))
                  (if (assoc 62 ed) (assoc 62 ed)'(62 . 256))))
   (entdel en))
(redraw)
(prin1))

asos2000 发表于 2022-7-5 17:19:15

你真是个好人。
 
顺便说一下,我编辑了thr线程

Lee Mac 发表于 2022-7-5 17:23:15

以上代码已更新。

asos2000 发表于 2022-7-5 17:23:54


thanx公司

asos2000 发表于 2022-7-5 17:28:56

以上代码处理的是空格而不是空格
该例程可以处理txt
但不能使用txt
页: 1 [2]
查看完整版本: 将文本转换为属性