azjmjsj 发表于 2005-7-26 11:35:00

[求助]字体样式替换?

<P>我想把CAD图中的多种文字样式全部用一种新的文字样式替换,在lisp下如何编程实现?</P>
<P>请各位大哥帮忙!!!</P>

紫云飞 发表于 2005-7-26 15:07:00

<P>简单的小程序,试一下吧</P>
<P>(defun c:cc(/)<BR>&nbsp; (setq b1 (getstring "请输入文字样式:"))<BR>&nbsp; (setq d2 (cons 7 b1))<BR>&nbsp; (setq ss (ssget "x" (list (cons 0 "TEXT"))))<BR>&nbsp; (setq n (sslength ss))<BR>&nbsp; (setq index 0)<BR>&nbsp; (repeat n<BR>&nbsp;&nbsp;&nbsp; (setq b1 (entget (ssname ss index)))<BR>&nbsp;&nbsp;&nbsp; (setq d1 (assoc 7 b1))<BR>&nbsp;&nbsp;&nbsp; (setq b3 (subst d2 d1 b1))<BR>&nbsp;&nbsp;&nbsp; (entmod b3)<BR>&nbsp;&nbsp;&nbsp; (setq index (+ index 1))<BR>&nbsp; )</P>
<P>(princ)<BR>)</P>

紫云飞 发表于 2005-7-26 15:12:00

如果把(setq ss (ssget "x" (list (cons 0 "TEXT"))))改成(setq ss (ssget "x" '((0 . "TEXT,MTEXT"))))那就连多行文本也能更改了!<BR>

azjmjsj 发表于 2005-7-27 12:42:00

<P>谢谢!!!</P>

azjmjsj 发表于 2005-7-27 15:31:00

再次请教,如何将图中所有字高为4的文本(text和Mtext)一次性选择,做如下修改:字高改为5,图层变为08层,用lisp如何编程实现?

yizhi4669 发表于 2010-4-14 00:25:00

<p>经常汇总来自各厂家的图纸,为字体都快烦死了!</p><p>这个程序太强了!</p>

caoyin 发表于 2010-4-14 01:17:00

(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)
)
)

zxfddz 发表于 2023-2-6 15:20:14

这个程序好用

hydkot99 发表于 2024-1-8 08:57:23

如何修改文件中所有字体的宽高比呢?
页: [1]
查看完整版本: [求助]字体样式替换?