无论你用的是AUTOCAD还是国产CAD,估计都遇到过异常退出的状况。遇到这种情况肯定特别郁闷,要么是图打不开,没法干活,要么是辛辛苦苦画了半天突然退出,几个小时的活白干了。
对于AUTOCAD大家可能会容忍一点,会想是不是自己的电脑有问题了,或者自己CAD安装包有什么问题了;如果用的是国产CAD,肯定就会抱怨:什么破软件!
必须得承认国产CAD跟国际领先的产品从性能、稳定性上还有一定差距,但国产CAD现在也相当成熟了,远远超过了日本、韩国等国家的CAD。
CAD启动就闪退,通常是CAD文件或许可文件损坏,解决方法参看:AutoCAD启动时闪退怎么办?本文主要介绍在打开图纸或操作过程过程中出现的异常退出现象。
CAD为什么会异常退出呢?我将我遇到的几种情况大致列举一下,并简单说一下解决方法,希望对大家有帮助。
一、图纸巨大或有大量冗余数据,导致开图的时候内存耗尽,最终导致CAD软件退出,这种情况在32位版本的CAD上比较常见。
确认是否因内存不足导致CAD退出的方法很简单。当CAD开图时响应很慢时,我们可以打开WINDOWS的任务管理器,看一下CAD的内存使用情况。如果用的32位CAD,当CAD内存使用超过1.5G,CAD通常会直接退出,如果内存占用1.2G以上,也许能打开,但可能在操作图纸的时候仍有可能退出。即使你用的64位机器和CAD的,但如果CAD占用内存超过一定程度,也一样有可能出现退出现象。任务管理器的截图如下:
这是XP系统任务管理器的截图,其他系统可能不太一样,重点观察虚拟内存占用的情况。如果你的任务管理器没有显示虚拟内存,可以自己添加列。
就算是内存占用巨大,情况也不完全一样,我遇到的就有好几种,下面简单列举一下。
1、 复杂的地形图和市政规划图纸。
因为有大量复杂的多段线或样条曲线,少则四五十兆,大则一、二百兆,这种图纸在打开的时候,有的需要占用几个G的内存,如果用的是32位的CAD或机器内存比较少,经常会吃不消。
如果需要经常处理这类图纸的用户,建议安装64位系统和64位的CAD版本,配置更多的内存。AUTOCAD和浩辰CAD等都提供了64位版本。
2、 图纸不大,但使用了大量的密集填充。
填充样式的描述比较简单,图案名称、比例、边界线等等,但填充要显示到屏幕上,必须将数据转换为一条条的直线,如果填充非常密集,就会导致显示数据巨大,内存占用急剧上升。
首先要确认这些密集填充是否图纸必须的。有些初学者不太清楚线性填充和实体(SOLID)填充的区别,默认选用线性填充后,将比例改得很小后当SOLID填充用。如果能查到这类问题,直接将填充样式改成SOLID就可以解决了。
如果打开就退出的话就只能另想办法了。CAD为了避免过于密集填充造成操作性能下降甚至图纸无法打开的情况,专门设置了一个变量:hpmaxlines,也就是单个填充中线的数量极限值,当单个填充线数超过此数值时,会用SOLID(实体)填充显示。
如果感觉图纸打不开跟填充有关系的话,可以适当调低HPMAXLINES的数值。AUTOCAD默认的数字是1000000,我们可以改成300000或更小,然后打开图纸试试。
如果图纸中必须使用大面积的填充,例如小区规划图等,首先我们要设置适当的填充比例。在绘图的时候可以通过调低HPMAXLINES数值来提高操作速度,当要打印输出的时候,再将参数调整回来。
关于这类问题以前曾详细讲解过,请参看:有的CAD图纸很小,为什么打开很慢甚至打不开?
3、 图中图形并不多,但图纸却特别大,打开和操作都很慢,甚至打开直接退出。
这种图纸遇到过几张,是别人传过来的,图纸有40多MB,在32位的机器上用AutoCAD打开直接退出。最后在64位机器上终于将图打开,所有图形才不到2万个,也没有复杂的图块,将所有图形都删除并清理(PU)掉后再保存,图纸还是40多MB,图中有一个巨大的看不到的数据,CAD在打开的时候使用了1个多G的内存。
我也不清楚这个巨大的非图形数据是什么东西,据说图纸是从MICROSTATION转过来的,可能是DGN文件的相关数据。
这种图打开慢、操作慢,刚开始真是没有办法。发现问题后,从原图中复制所有图形,开一张新图,粘贴到原坐标,保存后图纸也就1MB左右,打开和操作都变得轻松无比。
有不少设计单位和个人会使用一种或多种设计软件,有些CAD图纸是从其他软件转换过来的,这种转换的图纸就有可能产生类似错误或冗余的数据。如果图形不多而图纸特别大,可以检查一下看是否有这样的数据,如果这些数据对绘图没有影响,可以将图形复制到新图后再继续操作。
还有一种情况,就是图中有上百万的注释比例,也会导致图纸打开特别慢甚至异常退出,至于产生的原因不明,国内有人说是一种CAD病毒引起的。为了解决这个问题,AUTOCAD和浩辰CAD高版本都添加了清理多余注释性比例的功能,在检测到注释比例过多时会弹出提示对话框,如果无法确认注释性比例的用途,可以选择将这些比例清理掉。
二、图纸中有错误数据,导致CAD在处理这些错误数据时出现异常并导致退出。
有些图纸打开时占用内存不大,但有时CAD一打开这样图纸就会退出,或者能打开,执行某些特定操作就会退出,例如打开图层管理器就会退出。这种图纸多半是有错误数据,CAD是否会退出取决于CAD自身的容错性,有些图纸在AUTOCAD打开会退出,但在浩辰CAD里可以正常打开,有一些AUTCAD可以正常打开,而在浩辰CAD里则有可能会退出。
错误数据比较常见,很多图纸里都有,但导致软件打不开或异常退出的错误图纸倒不太多。一些无法打开的图纸或操作过程异常的图纸,可以用修复(RECOVER)打开,会看到CAD检测到并修复了一系列错误数据。当然也有些图纸,修复也无法打开。
为什么很多图纸中都会有错误数据呢?这些错误数据是怎么来的呢?
说实话,我也说不清楚,估计来源可能有下面两种:一是从其他软件转换过来的数据,二是CAD的插件或二次开发软件生成的数据。不同软件对DWG/DXF文件兼容的程度不一样,将其他数据写成DWG/DXF数据有可能发生错误;而一些CAD插件或二次开发软件在创建或修改对象时,如果接口使用不正确或代码写得有问题,也有可能生成错误数据。
就算用AutoCAD保存成不同版本的DWG/DXF,我估计也不能保证所有数据都能正确保存,因为不同版本支持的图形对象不同,对象的参数也有可能不同。
遇到打开CAD异常退出或操作过程中CAD异常退出的图纸,可尝试用修复(recover)命令打开图纸,看通过修复错误后是否能恢复正常。
三、遇到了CAD的BUG。
不管那款软件都会有BUG,从WINDOWS到OFFICE,再到CAD。就算是AUTOCAD,估计他们每个版本的问题库也会有几千个甚至上万个问题,只是普通操作触及不到这些BUG。国产CAD推出时间相对较短,开发和测试力量都相对弱一点,遇到软件BUG的几率会稍微高一些。不过,国产CAD经过十多年的发展,现在的版本也相当稳定了,大家要对国产CAD给予信心和支持。
如果确认自己的图纸没有问题,但操作过程仍然出现了异常退出,估计是遇到CAD的BUG了。此时也没有什么好办法,可以尝试用其他操作方式替代,看是否能绕过这个BUG。另外,CAD软件在异常退出时会弹出一个发送错误报告的对话框,如下图所示。
AutoCAD 2014的错误报告对话框
我想大多数人看到这个对话框时都会直接关掉。如果用的是AUTOCAD,不发的话我觉得可以。如果用的是国产CAD,建议大家还是将现象描述一下,哪怕在后面加上一句发牢骚的话,最好把错误报告发出去。
错误报告会帮助CAD厂商去发现、分析并解决一些内部测试中未发现的BUG,对提升CAD软件的稳定性很有帮助。如果CAD厂商通过分析发现了死机的原因并解决了这个问题,那你使用下一个版本时就不会遇到相同的问题了。
如果你在使用国产CAD,不要单纯去抱怨,也可以为国产CAD的发展贡献一点力量,国产CAD在国外CAD产品和盗版的夹缝中生存非常不容易!
四、如果CAD软件在启动或使用简单基本功能时就异常退出,这很有可能是CAD软件或操作系统本身有问题了。
这种情况虽然网上有不少人问这样的问题,但我没遇到过,对于原因我也只能是猜测,从CAD程序和系统上找原因。比如确认安装注册是否正常,CAD软件的文件是否有损坏,操作系统或硬盘是否有问题。
首先,可以先将当前用户的临时文件夹(%temp%)删空(至少将与CAD相关的文件删掉,例如类似acad.err这样的文件),检查一下C盘是否有空间,C盘和CAD软件所在磁盘是否有坏道。
确认硬盘和临时文件夹没有问题后再启动CAD,如果CAD还不正常,那就只能修复或重新安装CAD软件试试。如果上述方法都试了,还不行,那你可以换个CAD版本装一下试试。
网上流传的CAD版本很多,有很多人都遇到了安装或注册不上的问题,我也无法确认原因,因此一直也不敢回答这样的问题。
当使用CAD退出时,需要自己尝试寻找规律,然后通过规律来判断问题所在,再对症下药,才能找到解决办法。当然,对于普通的CAD使用者来说,这种规律不太容易找出来,而且有些异常退出是随机性的或错误累计出来的,也许这次操作退出了,下次同样的操作就不退出了。
在找不到规律的时候,唯一可以做的就是养成良好的习惯,防患于未然。可以做的主要有下面几点:
1、不要在机器上安装过多的软件或反复卸载安装软件,定期整理系统,使操作系统始终保持在健康高效的状态。如果要经常处理超大图纸,赶紧升级到64位,多加点内存。
2、不要在CAD上安装过多的插件,尤其是一些个人开发的小工具,使CAD软件本身保持一个健康状态。有些工具代码水平比较低,没有经过严格测试,运行中也会出现异常退出的现象或者生成错误数据;现在还有人专门开发CAD病毒,虽然危害不大,但非常讨厌,所以安装工具的时候要慎重。
3、减少图纸在不同软件间的转换次数,不要反复改变文件的版本,减少出现错误数据的机会。如果必须要转换的话,建议转换后的图纸直接用修复打开(RECOVER)或打开后进行核查(AUDIT),将能修复的错误先处理掉,降低出现异常的概率。