- 积分
- 28763
- 明经币
- 个
- 注册时间
- 2013-1-25
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
本帖最后由 尘缘一生 于 2024-10-31 07:03 编辑
贴一下三领的部分,这个事还不能叫开图自动,因为,有的人安装有很多插件,他们要的就是那种字体,批量换了,我们满足,对方不满足了。如果图不再外协交流,哪可以。我这个还是换字库的。
- ;;文字替代(解决文字乱码用)(一级)------------
- (defun sl-nx (/ ss a b c d e date1 e_lst)
- (setq e_lst (sysvar '("TEXTSTYLE" "CMDECHO" "REGENMODE")))
- (setvar "CMDECHO" 0)
- (setvar "REGENMODE" 0);禁止重生成
- (setq date1 (getvar "MILLISECS"))
- (vlax-for x (vla-get-textstyles *AcDocument*)
- (vla-getfont x 'a 'b 'c 'd 'e)
- (if (= a "")
- (progn
- (if (and
- (not (findfile (vla-get-fontfile x)))
- (not (findfile (strcat (vla-get-fontfile x) ".shx")))
- )
- (vla-put-fontfile x "txt.shx")
- )
- (if (and
- (/= (vla-get-bigfontfile x) "")
- (not (findfile (vla-get-bigfontfile x)))
- (not (findfile (strcat (vla-get-bigfontfile x) ".shx")))
- )
- (vla-put-bigfontfile x "hztxt.shx")
- )
- )
- (progn
- (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-setfont (list x a b c d e)))
- (vla-setfont x "fan" b c d e)
- )
- )
- )
- )
- (prompt
- (strcat
- "\n 字体替换--耗时"
- (rtos (/ (- (getvar "MILLISECS") date1) 1000.000) 2 3)
- (slmsg "秒" "" "seconds")
- )
- )
- (setvar "REGENMODE" 1)
- ;(if (setq ss (ssget "X" '((0 . "TEXT") (-4 . "<OR") (1 . "**,**,**,**,*\U+0082*") (-4 . "OR>"))));;探索者、特殊符号转换
- ; (tss2gj ss)
- ;)
- ;(if (setq ss (ssget "X" (list (cons 0 "INSERT") (cons 66 0))))
- ; (blktss2gj ss) ;;块选择集探索者钢筋转换
- ;)
- (vla-regen *AcDocument* AcAllViewPorts)
- (mapcar 'eval e_lst)
- (princ)
- )
|
|