Efeezy 发表于 2022-7-5 17:34:34

属性化文本标记

我正在使用属性化文本导线标记。我想知道是否有一种快速的方法来添加一个D到我的电线标签的前面?到目前为止,我找到的最快的方法是使用属性框,例如标记S,V。当我在我的导线回路上选择多个导线标记S,V时,S,V显示在属性框中,然后我可以添加我的D。如果我选择了SV 2S,V 2S,2V,则属性框表示不同。这个问题有lisp或解决方案吗?

Lee Mac 发表于 2022-7-5 18:55:00

请尝试以下操作:
(defun c:attps ( / a b c e i s x )
   (setq a (getstring t "\nSpecify prefix <none>: ")
         b (getstring t "\nSpecify suffix <none>: ")
         c "S,V" ;; Attribute Tag - change to suit
   )
   (if (setq s (ssget "_:L" '((0 . "INSERT") (66 . 1))))
       (repeat (setq i (sslength s))
         (setq e (entnext (ssname s (setq i (1- i))))
               x (entget e)
         )
         (while (= "ATTRIB" (cdr (assoc 0 x)))
               (if (= (cdr (assoc 2 x)) c)
                   (entmod (subst (cons 1 (strcat a (cdr (assoc 1 x)) b)) (assoc 1 x) x))
               )
               (setq e (entnext e)
                     x (entgete)
               )
         )
       )
   )
   (princ)
)
页: [1]
查看完整版本: 属性化文本标记