全部评论
你好,这种情况下一般都是缺少字体引起的。
给您举个实例:乱码截图:
正常提示截图
发现问题:提示的文字出现乱码,就先检查一下字体。拿到实例数据之后,在命令行输入style,回车后在下图的对话框中,发现了一个字体“左倾宋体”,这个字体对应的字体名“SimSun-ExtB”,是一个自定义的字体。
这个字体是用命令创建的,宽度因子0.8的左倾宋体引用simsunb.ttf,定义语句如下:
defun c:X1 () ;外边线
;(setvar 'userr1 500)
(setvar "cmdecho" 0)
(if (= zipanduan nil)
(progn
(command "-style" "STANDARD" "simsunb.ttf" 0 0.8 0 "n" "n")
(setq zipanduan t)
)
(setq chklay (tblsearch "layer" "JMKC-外边线"))
(if (= chklay nil)
(c:jmm)
(command "layer" "T" "JMKC-外边线" "ON" "JMKC-外边线" "")
(command "_clayer" "JMKC-外边线")
(c:X)
(princ)
解决方法(一)
既然是字体出了问题,那么重新定义字体,我不会用命令定义字体,就用了自己的土办法:命令行输入style,按下图步骤重新定义了一个左斜宋体。
以下两个图的操作步骤,都可以解决哈。
有兴趣自己都动手试试,我亲自验证过了!
操作方法二
解决方法(二)
在反复测试中发现win10的simsun.ttc包括宋体和新宋体,不识别simsunb.ttf,但win7的话就没问题。那么在win10中重新定义字体。 定义语句如下: (defun c:X1 () ;外边线 ;(setvar 'userr1 500) (setvar "cmdecho" 0) (if (= (Tblsearch "style" "宋体") nil) (progn (vl-load-com) (setq ThisDrawing (vla-get-activedocument (vlax-get-acad-object))) (Setq TextStyles (vla-get-TextStyles ThisDrawing)) (Setq TextStyle (vla-add TextStyles "宋体")) (vla-SetFont TextStyle "宋体" :vlax-false :vlax-false 1 0) ) ) (command "-style" "STANDARD" "宋体" 0 0.8 0 "n" "n") (makelay "JMKC-外边线" 30 ) (c:X) (princ) )
在反复测试中发现win10的simsun.ttc包括宋体和新宋体,不识别simsunb.ttf,但win7的话就没问题。那么在win10中重新定义字体。
定义语句如下:
(defun c:X1 () ;外边线
(if (= (Tblsearch "style" "宋体") nil)
(vl-load-com)
(setq ThisDrawing (vla-get-activedocument (vlax-get-acad-object)))
(Setq TextStyles (vla-get-TextStyles ThisDrawing))
(Setq TextStyle (vla-add TextStyles "宋体"))
(vla-SetFont TextStyle "宋体" :vlax-false :vlax-false 1 0)
(command "-style" "STANDARD" "宋体" 0 0.8 0 "n" "n")
(makelay "JMKC-外边线" 30 )
这个问题不常见,但遇到的人往往不知所措,各种baidu也没有解决方法。Win10系统中,识别CAD字体问题比较多。以前的文章里也有介绍,大家遇到字体乱码,不显示等问题,优先考虑用style命令,重新指定。
距离打开宝箱还剩7天
全部评论