为什么CAD图纸内容不多但文件特别大?

    有一位朋友遇到一个问题,同事给他的图纸只有不到7MB,但他一另存后就变100多MB了,清理PU后也是如此,复制到新图也不行。另存一下文件大小能差这么多,我是怀疑有错误数据,但没有图纸也不好下结论,于是让他把图发过来。

    打开他发过来的100多MB的图纸后,发现图形并不多,也清理过了,感觉确实不应该有100多MB。打开时注意到命令行提示是2000版的DWG文件,我知道存成高版本文件会小一些,于是尝试保存成2007版格式,奇迹发生了!文件果然变小了,变成了6MB多。于是我认为找到了原因并且回复了他。

    不过我当时很好奇,为什么保存成低版本文件会差那么多?一般情况下,2000版DWG会比2007版大一到两倍,但大十几倍很少见,到底是什么数据导致出现这种问题呢?今天正好有点空,于是研究了一下。

    我将图中的图形依次分类删除后保存,想找出到底什么图形导致图形变得巨大,但等我把图形全部都删光了,又清理过了,保存的2000版文件仍有100MB左右,2007版文件仍有5MB多,也就是说真正的图形数据也就1MB多。也就是说图中确实存在着看不到的巨大数据,这些数据到底是什么呢?类似的情况我遇到过多次了,图形不多,但文件巨大,打开和操作速度都很慢,这些图的原因还不尽相同,我不妨将我知道的几种情况跟大家分享一下。

1、 冗余的DGN数据

    图纸导入过MICROSTATION的DGN图形数据,至于如何操作的我也不清楚,但会在图中遗留一个巨大的DGN数据字典,这个用CAD现有命令是看不出来的。我在网上找到了一个可以看DWG文件内部数据表的工具,看到了这个对象,如下图所示。

为什么CAD图纸内容不多但文件特别大?

    左侧可以看到数据的名称叫ACAD_DGNLINESTYLECOMP,从字面看就是AUTOCAD中保存的DGN线型组件。从右侧可以看到里面的内容,从滚动条的滑块大小可以知道这些数据应该有几十甚至上百页,这就是那些在2007版下5MB多,但2000版下100多MB的数据。这张图中的数据还不算大,我曾经见过一张2010版DWG图中DGN数据有30多MB,而实际的图形只有几百K的图纸。

   为什么2007版的DGN数据5MB多,而2000版却100MB,这个我也说不清楚,可能是DWG文件中对于DGN数据的描述方式有了很大变化,因为早期两家并没有交换数据格式,后期交换数据格式后,数据兼容更简单,描述简化了吧!

    遇到这种图纸比较好的解决办法就是将图形框选,CTRL+C,然后开一张新图,粘贴到新图中。但那位朋友提问时说复制到新图也不行,这张图中有专业软件创建的自定义对象,我也没有对应的软件或插件,这些对象被显示为代理对象,没有办法复制到剪贴版,我也无法印证。以前我遇到类似的图通过复制粘贴到新图是可以的。

    我也没有用过MICROSTATION,这些图中的数据怎么产生的我也不清楚,如果大家能了解到产生数据的来源,从根本上杜绝这种数据的生成会是更有效的方法。

2、 海量的注释性比例

    CAD增加注释性功能以后,感觉用注释性的人并不多,但见到那种因为海量注释性比例导致图纸异常大,打开和操作性能特慢的图纸已经多次了。正因为如此,在AutoCAD和浩辰CAD的高版本加上了一个注释性比例异常处理的功能,当注释性比例数量超过100个时,就会弹出如下图所示提示。

为什么CAD图纸内容不多但文件特别大?    我见过一张20多MB的图纸,在重置比例列表后另存,文件变成了470K。20多MB全部都是注释性比例,可见有多少个比例。如果用低版本打开,想要显示这张图中的所有比例,32位CAD直接就内存不足退出了。

    处理这种图纸在CAD高版本当然简单了,出现上述对话框的时候点“是”就可以了,不过20多MB的注释性比例CAD也要处理一会儿。这些多余的注释性比例,通常都是以外部参照比例出现的,如果用的是CAD低版本,可以通过状态栏的比例列表(取消勾选“隐藏外部参照的注释比例”)来检查一下图纸异常大是否是由注释性比例过多引起的,如下图所示。