用下面程序 ;更换所有文字字体
(defun C:zas () (graphscr) (initget 7) ;(setq c1 (getstring "\nInput new color for all layers: ")) ;输入新颜色 (setq a1 (tblnext "style" t)) ;将指针移到第一个字体 ; (princ a1) ;(setq a2 (cdr (assoc 2 a1))) ;取出图层名称 ; (setq a3 (entget (tblobjname "style" a2))) ;取出图层的数据串行 ; (princ " a3= ")(princ a3) (while a1 (setq a2 (cdr (assoc 2 a1))) ;取出字体名称 (setq a3 (entget (tblobjname "style" a2))) ;取出字体的数据串行 ;(princ a3)(princ " ") (setq a3 (subst (cons 3 "txt.shx") (assoc 3 a3) a3)) ;将字体字型改成新字型 (entmod a3) ;更新字体 (setq a3 (subst (cons 4 "hzfs.shx") (assoc 4 a3) a3)) ;将字体字型改成新字型 (entmod a3) (setq a1 (tblnext "style")) ;找出下一个字体 ) (command"REGEN" "") (princ"字型变更成功!" ) (princ) ) |