CAD图纸文件为什么变得特别大?如何给图纸瘦身?
经常有网友在群里问:为什么我的图纸变得很大,操作变得越来越慢,而且还无法复制粘贴?
这些图纸有一些共同的特点,虽然之前写过多篇相关文章,觉得还必要总结一下,也希望能帮助初学者养成良好的习惯。
怎么才能让自己的图纸保持苗条、健康呢?
一、图纸为什么会变得特别大?
图纸变大的原因有很多种,在之前文章中也分析过,这里简单总结一下几种最常见的情况。
1、保存成了过低的CAD版本。
很久之前就有网友发过来一张100多MB的图纸,保存格式是2000版,当时我用2007版格式保存后就变成6MB多了。昨天那位网友说图纸变成100多MB的,他的默认保存格式也设置成2000,不知道他要将图纸保存成2007以上版本会变成多少。
昨天的文章说过,DWG文件不同版本压缩比会有变化,尤其是2000-2004-2007这几个版本变化比较大。
除此以外,如果你用的是高版本,图中肯定会用到一些低版本不支持的图形,比如表格、动态块、注释性等等,这些数据要保存到低版本,要让低版本能正确显示,然后还要保证回到高版本还能恢复原来的数据,数据肯定要进行转换,这也会增加文件大校
所以我一再强调,绘图时使用当前CAD默认的版本保存,必要时再转存低版本。
2、图纸中增加了大量多余的格式和图块
之前遇到过保存了上万个图层过滤器的图纸,也遇到过有几十万个注释性比例的图纸,这些图纸显然不是设计师自己做出来,估计是用了什么有缺陷的工具或插件,亦或是加载了什么恶意的程序。这些对象会导致图形打开和操作性能变得很慢,到了CAD高版本,当打开类似图形时就会提示,直接询问我们是否处理,因此这一两年这类图纸遇到得比较少了。
但我们自己正常操作的过程也会产生冗余数据,比如我们定义了图层、文字样式、标注样式但没有用,这种数据对图纸大小影响都不大。
但有一种操作习惯可能会导致图纸不断变大,就是过度使用图块,经常看到图纸中整张平面图是一个图块,然后进入这个图块,又分成了很多图块。所有图块都是有用的倒还好,关键是还有很多没有用到的图块。很多人喜欢复制,然后粘贴为块,定位完再分解X,以为图块就不存在了。必须要记住:图块定义后,即使所有图块都删除或分解X,图块的定义仍会保存到图纸,随时可以插入到图纸。很多人图中看着数据不多,但用插入I命令看看图块列表,发现有好几百个甚至上千个图块,将图块清理掉后图纸一下子小了好几倍。
3、将密集的填充分解了
有些图纸中有非常密集的填充,一个填充中可能有几万个填充单元,填充线几十万条,要显示这些填充需要生成每条线的显示数据,但保存这些填充的时候只需要记录填充的相关参数,如图案名称、比例、原点位置、比例、边界等等,这类文件直接保存的话文件并不大。
但如果将这样的填充分解,再保存文件的时候看上去完全一样的填充就需要记录几十万条线的数据,文件就会成倍增加。
前几天有一位网友过来的图纸有70多MB,虽然图纸看上去也不小,是有很多图框的建筑图,但最后发现图纸之所以这么大,是因为签名的填充没有用实体天SOLID填充,而是用了普通填充图案,比例设置得很小,然后还被分解了,我尝试删掉这些人名后保存,图纸大小已经小于5MB了。
4、大量孤立的DGN线型数据
我之前一直没有弄清楚这些数据是从哪里来的,因为很多人根本没有用过MICROSTATION(图纸保存格式是DGN),但现在几乎每天都会遇到这样的图纸,DGN线型数据的数量级通常是几万,到这种状态后,图纸会比正常的图纸大几倍,而且无法从这张图将图纸复制粘贴到其他图。
大多数人并不知道这些数据的源头是从哪儿来的,然后通过复制粘贴,导致文件不断增大,直到有一天发现不能复制粘贴大家才意识到出了问题。
今天网友发过来的两张图纸,一张7MB,一张11MB多,删除DGN线型数据后两张都不到2MB了。
针对这种数据网上有不少的插件,AUTOCAD和浩辰CAD高版本的清理PU功能也专门增加了对这种数据的处理,看来这类图纸真的不少。
AUTODESK官网的解释是:当我们从DGN文件中输入数据时,DGN线型数据没有被映射或者没有被正确地映射为AUTOCAD线型,因此在图中保存了一个巨大的DGN线型数据表,当我们从这张图中复制图形粘贴到其他图纸的时候,这个数据也会被一起复制过去。
感觉这个数据就像是病毒,可以通过复制粘贴传播,因此这样的图纸会越来越多。可能很多人并没有用到MICROSTATION,没有从DGN图纸导入数据,但却不小心拿到一张由DGN线型数据的图纸,然后从这张图复制图形粘贴到其他图后,于是其他图纸也有了。
因此大家拿到一张图纸后,有必要对图纸进行适当的检查和处理,避免这种孤立线型数据在图纸的传播。
二、CAD图纸应该如何瘦身
要想提高操作效率、保证图纸健康,首先要养成良好的操作习惯,例如:
1、平时用CAD支持的最新版本保存图纸。
2、只在必要时才创建图块,如果复制粘贴为块后将图块分解了,记得要清理多余的图块数据。
3、应该实体SOLID填充时千万不要用其他图案替代,更不要将填充图案分解X。
4、如果某个插件使用后会生成大量的匿名块、图层过滤器、注释性比例等,应果断放弃,卸载。
我们养成再好的操作习惯也无法控制别人的图纸不出现冗余数据,所以拿到一张大得异常的图纸就需要检查一下,看是否有冗余数据,是否需要瘦身。
图纸文件瘦身的基本操作如下:
1、使用清理PU功能清理多余的图块和数据
在2015以上版本提供了清理孤立的数据的选项,可以清理掉孤立的DGN线型数据,如下图所示。
这里列出了各种可能产生冗余数据的类型,数据类型前有加号表示有可清理,也就是图中没有使用的数据。但这不表示我们一定要将这些数据全部都清理掉,因为可能某个图层、线型或图块你现在没有用,但在后面的绘图过程中可能会用到,这种有用的数据就不要清理。
通常或会清理图块数据,并勾寻清理零长度几何图形和空文字对象”(这类对象通常只有低版本CAD或者一些插件才会生成)和“自动清理孤立的数据”(清理DGN线型数据)。
如果你的CAD版本够高,例如AUTOCAD 2015以上或者浩辰CAD 2018,有清理功能就够了。
2、利用插件或手动处理DGN线型数据
假如你安装的是2014或以下的版本,就需要自己利用插件或命令来处理DGN线型数据了,你也不要去找插件了,将下面这行复制到CAD命令行,回车,就可以将DGN线型数据表删除了。
(dictremove (namedobjdict)"ACAD_DGNLINESTYLECOMP")
如果回车后提示NIL,就表示没有DGN数据,如果显示如下图所示,就表示已经将DGN线型数据删除了。
命令: (dictremove (namedobjdict) "ACAD_DGNLINESTYLECOMP")
<图元名: 42726950>
图元名根据图纸不同会不同。
3、检查和修复图纸错误
在拿到别人的图纸的时候,最好用修复RECOVER命令打开,或者打开图纸后用核查AUDIT命令检查修复一下错误,这样可以避免错误数据在图中累计最终导致图纸彻底损坏。
这个有时不一定可以让图纸瘦身,但可以减少图纸出问题的几率。
当然也有人会用复制到新图或将图纸写成图块的方式来对图纸进行瘦身,但这种方式明显不适用于使用布局的图纸。
只要养成良好的操作习惯,拿到外来图纸的时候进行错误和冗余数据的检查和处理,图纸就不会变得异常大,就会省去很多麻烦,而且可以提高图纸操作速度。