|
|
发表于 2010-1-5 21:16:29
|
显示全部楼层
来自: 中国广东汕头
我得经历不知道是不是和你一样,我以前就这样改的。# U0 ^& j3 S4 R' W! P5 o2 F
;给你一个字体替换程序,运行一下就行了,所有字体就替换了1 i: X+ t9 F3 b/ o
;更换所有文字字体6 X; p& B/ e# d# g T4 b* q
* M. o9 K$ R/ E* o2 h" w& |(defun C:zas ()
# `( L# _4 Z8 P( n4 S (graphscr)3 X" M" S6 V; j6 S, @4 z
(initget 7)
9 Q* J9 i% v @: a) g, T ;(setq c1 (getstring "\nInput new color for all layers: ")) ;输入新颜色
8 g% p; ~) A6 Z; v/ M9 E5 ^ (setq a1 (tblnext "style" t)) ;将指针移到第一个字体9 Q j# w' V0 a% ^1 c
; (princ a1)
1 v. r" F, ~6 Z- }7 k! j* P;(setq a2 (cdr (assoc 2 a1))) ;取出图层名称. P- B7 W$ c. v& J( l5 ^! l+ p
; (setq a3 (entget (tblobjname "style" a2))) ;取出图层的数据串行
- A% O p, ?2 m' _) Q ; (princ " a3= ")(princ a3)# k4 o: `3 n' T& [! C3 _
(while a1) Y/ V1 H- s% {3 ~* c- C
(setq a2 (cdr (assoc 2 a1))) ;取出字体名称* \. g4 |. B! X
(setq a3 (entget (tblobjname "style" a2))) ;取出字体的数据串行
. Z5 h5 x, y0 x3 z* u" f ;(princ a3)(princ " \n ")8 x5 Q8 ` E8 ]# ^. f
(setq a3 (subst (cons 3 "TxtT.shx") (assoc 3 a3) a3)) ;将字体字型改成新字型
4 C* W: @/ o* f (entmod a3)* M, _4 r8 X6 N E9 ]' c
;更新字体
$ }0 e ?$ {4 I (setq a3 (subst (cons 4 "hzfs.shx") (assoc 4 a3) a3)) ;将字体字型改成新字型
. b$ I, u$ f1 y% W' R b (entmod a3)
) I, R' Z) b; B6 ?% @; p- |+ m! C0 [ (setq a1 (tblnext "style")) ;找出下一个字体
) P/ H% \0 P4 o9 w+ ?. \! r ), d% d. t) h4 e9 G) k ~: v1 r6 ~
(command"REGEN" "")
, j T* l, }7 C% w(princ"字型变更为TxtT.shx!" ), C: B3 s9 R$ _- u" u
(princ) |
评分
-
查看全部评分
|