[求助]字体样式替换?
<P>我想把CAD图中的多种文字样式全部用一种新的文字样式替换,在lisp下如何编程实现?</P><P>请各位大哥帮忙!!!</P> <P>简单的小程序,试一下吧</P>
<P>(defun c:cc(/)<BR> (setq b1 (getstring "请输入文字样式:"))<BR> (setq d2 (cons 7 b1))<BR> (setq ss (ssget "x" (list (cons 0 "TEXT"))))<BR> (setq n (sslength ss))<BR> (setq index 0)<BR> (repeat n<BR> (setq b1 (entget (ssname ss index)))<BR> (setq d1 (assoc 7 b1))<BR> (setq b3 (subst d2 d1 b1))<BR> (entmod b3)<BR> (setq index (+ index 1))<BR> )</P>
<P>(princ)<BR>)</P> 如果把(setq ss (ssget "x" (list (cons 0 "TEXT"))))改成(setq ss (ssget "x" '((0 . "TEXT,MTEXT"))))那就连多行文本也能更改了!<BR> <P>谢谢!!!</P> 再次请教,如何将图中所有字高为4的文本(text和Mtext)一次性选择,做如下修改:字高改为5,图层变为08层,用lisp如何编程实现? <p>经常汇总来自各厂家的图纸,为字体都快烦死了!</p><p>这个程序太强了!</p> (defun c:TT (/ );假设08层存在
(setq SS(ssget "_X" '((0 . "*TEXT") (40 . 4))))
(repeat (setq I (sslength SS))
(setq DAT (entget (ssname SS (setq I (1- I)))))
(setq DAt (subst '(8 . "08") (assoc 8 DAT) DAT))
(setq DAT (subst '(40 . 5) (assoc 40 DAT) DAT))
(entmod DAT)
)
) 这个程序好用 如何修改文件中所有字体的宽高比呢?
页:
[1]