不少人在打开或操作图纸时命令行会提示形未定义,这到底是为什么呢?
很早之前我处理过类似问题,但后来也忘了具体原因。前一段时间有一位网友提过类似问题,但没有提供图纸,我想找以前的问题图纸也没有找到,今天正好有一位朋友又问起,并提供了图纸,最终找到了原因和解决办法,在这里简单写一下,希望可以帮到其他遇到这类问题的朋友。
CAD的字体文件(*.shx)也称为形文件,形文件分三类,通用字体(小字体)、大字体和符号形,我原来以为是因为他图中使用的线型或形使用的符号形没有,所以导致出现上述提示。
最后拿到图纸看一下,其实问题并不是我想的那样,原因很简单:只是图纸中字体没有找到而已,只要解决了字体的问题就可以了。
打开问题图纸后,输入ST,回车,打开文字样式对话框,在左侧列表中依次查看每种文字样式,看看右侧的字体设置,如下图所示。
上图是AUTOCAD 2007版本的文字样式对话框,如果字体找到,字体前会显示一个带A的图标,如果字体没找到,字体前是空白的,这张图纸就是因为stsl.shx这个字体没有找到。
解决方法很简单,要么从同事或网上找这个字体文件,然后复制到FONTS目录下,如果字体实在找不到,比如今天网友发过来的图纸中使用的字体是Ohztxt.shx,这种字体很显然是hztxt.shx改了名字,实在找不到,如果有hztxt.shx,可以复制一份后将名字改成Ohztxt.shx,或者在文字样式对话框里直接将字体替换成hztxt.shx。
如果是复制了字体FONTS目录下,需要重新启动CAD再打开图纸,如果将字体文件直接复制到图纸所在目录下,只需要关闭图纸重新打开就可以了,如果在文字样式中替换成其他字体,直接输入RE回车就可以。
经过两张图纸的确认,提示形未定义就是没有找到图中使用的字体文件,高版本打开这些图纸的时候会提示缺少字体,但不会出现形未定义的提示,2008、2007及一下版本容易出现这种问题,如果出现类似提示就打开文字样式对话框看缺什么字体,想办法解决缺字体的问题。如果用这个方法没有解决问题,可以将图纸乏发给我继续研究。
但并不是所有缺少字体的图纸打开的时候都会出现这个提示,缺字体通常文字会显示问号或文字不显示,出现形未定义提示的图纸有什么特点目前还没有弄清楚。
高版本缺字体的时候,字体前面会显示一个带感叹号的黄色三角形图标,更容易看出来缺少字体,如下图所示。
虽然之前发过很多关于字体显示、文字样式等相关问题的文章,但仍然会有不少问题找不到答案,其实总结一下主要是两点:图中有的字体有没有、字体跟原图的字体是否相同,偶尔会出现文字编码错误导致文字乱码的图,但这种问题一般方法也解决不了。