单划线的话文字代码(%%U),不知道双划线代码是多少?如果你知道的话,就把这个文字代码替换了即可。
(defun C:MJL ( / &kw i &kw1 %k %k1 ff)
(setvar "cmdecho" 0)
(setvar "blipmode" 0)
(princ "\n请选择文字")
(setq &kw (ssget '((0 . "TEXT"))));;选择文字
(if (/= &kw nil)
(progn
(setq i 0)
(repeat (sslength &kw)
(setq &kw1 (entget (ssname &kw i)))
(setq i (+ i 1))
(setq %k (cdr (assoc 1 &kw1)))
(setq %k1 (substr %k 1 3));;检查文字是不是有下划线
(if (/= %k1 "%%U") ;;如果没有的话就加上下划线
(progn
(setq %k (strcat "%%U" %k))
(setq %k (cons 1 %k))
(setq %k1 (assoc 1 &kw1))
(setq &kw1 (subst %k %k1 &kw1))
(entmod &kw1)
)
)
)
)
)
(prin1)
)
(prompt "\n文字加下划线《C:MJL》")
(prin1)
追问这个不是我想要的,我想要就是用line画的线,然后他可以随文字移动和变化长短
追答你没有用Lisp之前,怎么实现这个功能?如果你不能够做到的话,Lisp也不可能实现。