写这篇文章之前,我们首先来普及一些知识点:
AutoCAD可使用的字体文件主要分为两类:一类是CAD自定义的*.shx字体;一类是操作系统中的*.ttf字体,如宋体、黑体等。
两类字体都可以自行添加:1、SHX字体可以直接复制到CAD安装目录下的fonts目录下。2、通过安装字库或将*.ttf文件复制到c:\windows\fonts\目录下可以添加TTF字体。
TTF字体通常可以单独使用,下拉框选用即可。而SHX文件则是形文件,通常分为两种,字形和符号形。
字形又分两种,大字形和小字形,其中大字形定义的是双字节的亚洲文字,如简体中文(hztxt.shx、tssdchn.shx、gbcbig.shx)、日文韩文等。小字形一般为西方文字,包括字母、符号(txt.shx、simplex.shx)等,也称为常规字体文件。
符号形,顾名思义就是用于插入特殊符号、图形或定义线型中的图形,如ltypeshp.shx,aaa.shx,gdt.shx等。
1、形符号是可以直接插入到图中的,我们首先要用load命令载入形文件(*.shx),将字体中符号读出来,然后用shape命令插入符号,插入时指定相应符号名称,便可以将一个符号形(SHAPE)实体插入当前图中。
2、用于定义线型,很多复杂的线型都是利用符号形定义的,线型定义时将符号形(常见的如ltypeshp.shx)。
虽然都是SHX文件,但是不同类型的字体不能随意替换,即便是同类型的字体文件也不能随意替换,即便是同名的字体文件有时候也不完全相同。例如设计院使用较多的txt.shx和hztxt.shx有的带有钢筋符号,有的就不带。因此建议在进行图纸交流的时候,最好附上使用的字体文件。
tssdeng.shx这个字体主要用于解决cad图纸中不显示钢筋符号的问题;tssdchn.shx字体是专为autocad软件而开发的一款字体文件,缺少这个字体,有些设计图纸就不能正常显示;hztxt是CAD常用字体之一,也叫单线矢量仿宋体。您如果在使用过程中,你可能有些图形中原来使用的中文字体不是该名称,你可以通过修改图形中的字形并将大字体名称更改为该名称;或者,如果你的图形文件实在太多,那就将该字体复制后更改为你所需的字体名称(重命名)。HZTXT字体,文件体积虽小,但可以解决字体无法正确显示的大问题。
我们在使用CASS软件打开设计院提供的图纸时往往会看到乱码显示的,这里教大家编写一个小代码,通过一键实现解决乱码的问题。
1、lm.lsp代码内容,拷贝如下代码保存为lm.lsp,用于后面的加载;
(defun c:lm()
(setvar 'cmdecho 0)
(vl-load-com)
(vlax-for for-item (vla-get-textstyles
(vla-get-activedocument
(vlax-get-acad-object)
)
)
(if (and
(not (wcmatch (vla-get-fontfile for-item) ;simplex.shx
"SIMPLEX*"
)
)
(not (wcmatch (vla-get-fontfile for-item) ;complex.shx
"COMPLEX*"
)
)
(not (wcmatch (vla-get-fontfile for-item) ;宋体
"SimSun*"
)
)
(not (wcmatch (vla-get-fontfile for-item) ;黑体
"SIMHEI*"
)
)
(not (wcmatch (vla-get-fontfile for-item) ;楷体
"SIMKAI*"
)
)
(not (wcmatch (vla-get-fontfile for-item) ;新宋体
"NSimSun*"
)
)
(not (wcmatch (vla-get-fontfile for-item) ;仿宋体
"SIMFANG*"
)
)
)
(progn
(vla-put-fontfile for-item "tssdeng.shx")
(vla-put-bigfontfile for-item "hztxt.shx")
)
)
)
(vla-regen (vla-get-activedocument (vlax-get-acad-object))
1
)
(command "PURGE" "a" "" "n")
(setvar 'cmdecho 1)
(prompt
"\n*** 文字样式已统一修改为【Tssdeng.shx + Hztxt.shx】***\n"
)
(princ)
)
2、将相应的形体文件 https://download.csdn.net/download/DiXinWang/12628117 和lm.lsp拷贝到CAD目录support目录下
3、修改CAD安装目录support下的启动文件acad2012doc.lsp(这里以2012平台为例),在最后一行添加如下代码:
(load "lm.lsp")
4、每次启动图形,如果遇到乱码的问题直接使用命令 lm 即可修正这个问题。