cad文件不大,打开就卡死不动或打开异常慢的原因分析

几十兆甚至上百兆的图纸用CAD图纸打开和操作速度慢很正常,但偶尔会碰到这种图纸,图纸只有一两兆,可是用CAD打开时非常慢,打开后操作也相当慢,这是为什么呢?

CAD图纸异常大时怎么处理?

之前研究过几张这类图纸,发现原因是一样的,都是因为密集填充引起的。前两天一位网友发过来一张图纸,研究了半天发现原来还有不同的原因。这里给大家简单介绍几种情况,遇到类似图纸的时候可以先从这几个方面来分析。

一、密集或单元数非常多的填充

以前遇到过多张打开和操作特别慢的图纸,发现有一个共同点,要么图中有大面积的填充,要么错误地将线性填充图案比例设置得过校

一个填充图案在保存图纸时只需要记录一些参数,例如边界线、原点、图案样式名、比例等等,使用SOLID填充或图形填充,比例设置为1或1000对于保存文件大小基本没有影响。

但要将填充显示出来,使用SOLID或普通填充图案,比例设置成1或1000就相差很多了。比如说在一个矩形区域内填充ANSI31的图案,比例设置1000时和设置成1,图纸保存的大小几乎不会变化,但线的数量却差将近1000倍。而SOLID填充没有比例,SOLID填充会分解成三角形显示,SOLID显示数据量的大小主要取决于边界的复杂程度,比如一个矩形会分解成两个三角形,一个圆就会分解成更多的三角形,如果边界复杂,中间再带曲线的孤岛三角形会更多。但如果用密集的线型填充去当SOLID用的话,数据量会大很多。

之前就见过一批给排水图纸就是因为将线性填充比例设置得极小来当SOLID用导致出现了打开和操作极慢的情况,下面我们就看一下这些图纸是怎么回事。

有一张给排水的图,2MB多一点。截图如下:

为什么图纸很小,却打开很慢或操作很卡?

这张图打开巨慢,有时甚至还会退出。当时我一点点的排查,终于找到问题所在。问题出在其中一个消火栓,如下图所示。

为什么图纸很小,却打开很慢或操作很卡?

这里应该用SOLID填充,结果用的是ANSI37,比例设置成0.01。我将这个填充复制到一张新图中炸开,你知道有多少条线吗?90多万条,这一张图中这样的消火栓有六七十个,想想这得有多少条线啊!几千万条线,CAD吃不消也很正常了。

图纸能打开的话还好说,找到问题所在,将填充图案改成SOLID。如果上面的消火栓是图块还比较简单,编辑其中一个图块后,其他图块就自动修改了。如果图很复杂,要从中找出问题来很费劲,或者由于内存不足根本就打不开图纸,那该怎么办呢?有没有更好的方法呢?

方法倒有一个,在CAD中有一个变量HPMAXLINES,可以设置单个填充线数量的最大值,默认值是1000000。当填充的线数量超过这个数值时,填充直接显示为SOLID填充。当遇到图纸很小,但打开很慢或打开时内存溢出的图纸时,可以先适当调低这个设置,然后再打开图纸试试。

比如说,输入HPMAXLINES命令,回车,将这个数值设置成300000,然后打开上面那张图纸,由于消火栓的填充线数超过300000,打开时被显示为SOLID填充,因此就可以很轻松就打开,缩放、做其他操作也很顺畅。

这种方法只能暂时解决你打开和操作的问题,如果确认是使用了错误的填充图案,最好能找出来这个填充并进行修改,修改后保存图纸,这样以后自己或其他人在使用这张图纸的时候就不会面临相同的问题了。

如果是尺寸很大的规划或地形图中使用填充,填充比例虽然很大,但由于面积很大,填充单元和线数确实很多,我们也可以将HPMAXLINES变量值线调整小,这样可以加快开图和编辑的速度,到打印前再将HPMAXLINES设置回正常值。

二、大量的区域覆盖WIPEOUT

前几天网友发过来的图纸也是2MB多,打开还不算太慢,但打开后缩放和平移的时候非常卡,网友以为是图块太多,打开图看了一下,图块并不多,有一些填充,但看上去不密集,将填充和图块全部删除后,仍然很卡,于是用快速选择一种对象一种对象地删除,最终终于发现原来跟图中大量的区域覆盖WIPEOUT,如下图所示。

为什么图纸很小,却打开很慢或操作很卡?

CAD中怎么能让图块能遮挡住后面的图形?如何能更轻松创建区域覆盖(wipeout)?

里面有3963个区域覆盖,将这些区域覆盖删除后,缩放和平移一下子就顺畅了。

这张图的冗余数据并不止区域覆盖,还有一些多余的圆、直线、多段线,但造成缩放和平移慢的原因就是区域覆盖。区域覆盖其实相当于一张单色的图片,但为什么大量的区域覆盖会导致AUTOCAD操作这么慢我也不太理解,而且我试了最新的AUTOCAD 2018版也是如此,但浩辰CAD里打开缩放和平移还很顺畅。

三、图插入了复杂的图纸或图像

图纸插入外部参照XREF或者光栅图像的时候,图纸中记录的只是外部参照图纸和光栅图像的文件名,图纸的大小并不会增加多少。有些图纸中只是画了几条线,但可能插入了一张几十MB的图纸甚至上百MB的光栅图像,当打开图纸的时候,插入的外部参照和光栅图像就要被读取和显示出来,图纸打开和操作的速度会很慢,如果内存不足,同样可能会打不开。

CAD外部参照的使用技巧及在设计中的应用

为什么打开CAD图纸中插入光栅图像不见了?

上面是我目前遇到的几种情况,大家遇到类似情况首先确认是否插入了复杂的外部参照、光栅图像或其他数据,如果没有,就需要检查一下是否有密集填充。区域覆盖的这种情况我第一次遇到,感觉出现的概率也比较低,如果不是前两种原因的时候不妨也检查一下。

如果你还知道其他可能导致图小操作慢的原因,也请评论此文分享一下。

热门搜索

© 机械5 访问电脑版