改多行文字颜色
前几天要用在论坛没找到,不知是否通用,不足之处请指正.;;修改MTEXT多行文字颜色(vl-load-com)
(defun c:tt (/ co i ss edt cb ps typ)
(setvar "cmdecho" 0)
(setq co (acad_colordlg 1))
(setq i -1)
(prompt "\n请选择文字:")
(if
(not
(equal
'(nil nil)
(sssetfirst
nil
(setq
ss
(ssget (list '(0 . "MTEXT,TEXT")))
)
)
)
)
(setq ss (ssget "_:L"))
)
(if ss
(while (setq e (ssname ss (setq i (+ i 1))))
(setq edt(entget e)
cb(cdr (assoc 1 edt))
ps(vl-string-search "\\C" cb)
typ(= (cdr (assoc 0 edt)) "MTEXT")
)
(cond
((and ps typ) (ccol-1 cb ps (rtos co 2 0) edt))
(T (ccol-2 e co))
)
)
)
(setvar "cmdecho" 1)
(princ "\n完毕...")
(princ)
)
;;文字内容、"\\C"关键字序号、色号、图元表
(defun ccol-1 (cbb b col et / a c d et)
(setqa (substr cbb (+ b 2) 4)
c (vl-princ-to-string (read a))
d (vl-string-subst (strcat "C" col) c cbb)
)
(setq
et (subst (cons 1 d)
(assoc 1 et)
et
)
)
(entmod et)
)
;;图元、色号
(defun ccol-2 (ent ccol / eo)
(setqeo (vlax-ename->vla-object ent)
)
(vla-put-Color eo ccol)
)
mokson 发表于 2023-2-22 08:13
准备了那么多工作,就是为了那个vla-put-Color
(vl-load-com)
(setq eo (vlax-ename->vla-object (car (entsel))))
(vla-put-Color eo 1)
试下能改吗?
月下闲人 发表于 2023-2-22 13:40
用不了,楼主在测试下
那个是回复3楼的,用1楼的代码试试 准备了那么多工作,就是为了那个vla-put-Color 不错不错,哈哈 666很好的功能 谢谢楼主的分享!{:1_1:} 用不了,楼主在测试下 感谢大佬分享 [源码] 改多行文字颜色 这个实用 谢谢楼主
页:
[1]
2