如果你看看这个
文本字符串是“ABC{\\C1;DEF\\C3;ghi}\\P”,因此可以看到颜色字符串
这非常粗糙,需要更多的错误检查,但首先输入现有多行文字的颜色编号,然后输入新颜色。如果可以手动操作,则可以添加多个选项。真的需要一个真正的dwg来正确检查。
- (defun c:mtextcol ( / obj strold strnew str1 str2 str3)
- (setq obj (vlax-ename->vla-object (car (entsel "Pick mtext"))))
- (setq str (vla-get-textstring obj))
- (setq strold (strcat "C" (getstring "\nEnter old color number ")))
- (setq strnew (strcat "C" (getstring "\nEnter new color number ")))
- (setq pos (vl-string-search strold str))
- (setq str1 (substr str 1 pos))
- (setq str2 (substr str (+ pos 3)))
- (setq str3 (strcat str1 strnew str2))
- (vla-put-textstring obj str3)
- (princ)
- )
|