如何清理CAD中多余数据?
图纸中定义了图层、文字样式、标注样式、图块后,图形会不断增大,有些数据虽然定义了,但在图中并没有用到,如果确认某些数据在后面的操作不会用到,或者图纸已经绘制完成要归档时,我们可以将多余的图形数据清理掉,这样可以有效地减少DWG图纸文件的大小,提高文件后续操作的速度。
一、冗余数据是如何产生的
图纸中定义了图层、文字样式、标注样式,加载了线型,定义了图块,但在图中没有使用这些数据,就可以作为冗余数据被清理掉,但图层、文字样式、标注样式、线型数据不会太多,通常不会让图纸文件大小增加太多,而多余的图块就会让文件增大很多。
图块可以很简单,就包括一个圆或几条直线,也可以包含很多图形,我见过一个图块就包含超过几十万条直线的,随意定义图块就会让图纸不断增大。有不少人对CAD中图块数据的处理方式不太了解,会比较随意地定义图块或将大量图形复制粘贴为块,用完后会将图块删除或分解(X),认为图块被删除,图块就没有了,就不会增加图纸大小了。其实不然,无论是用B命令创建图块或者用I命令插入图块,或者直接用CTRL+SHIFT+V粘贴为图块,首先会在图纸中保存一个图块定义,而在图纸中看到的只是图块的参照(块参照),或者说只是图块在图纸中被引用了一次。定义一个复杂的图块会明显增加图形文件的大小,但图块被插入多次并不会对图形大小有多少改变。大家可以这样试一下,打开一张稍复杂一点的图纸,将整图复制粘贴为块,保存看一下图形大小增加多少,然后再将图块插入十次后另保,再将图块都删除后另存,比较一下图纸的大小;或者打开一张有很多图块的图纸,CTRL+A全选,将所有图形选中后删除,再输入插入I命令,所有定义的或粘贴为块的图块都可以再次插入,如下图所示。
图纸删空后我们保存,这张图纸仍有可能有几MB,因为图中所有图块数据和其他定义的数据仍然会保留,上面是我随便打开的一张网友放过来的图纸,里面就有上百个图块,有些是中文名称,应该是一些专业软件里插入的,有些则从名字上看是绘图者定义的,一些图块名以A$开头的图块则是直接复制粘贴为块的结果。上面截图中的图块就很复杂,图中如果有几十个这样的图块,图纸很容易就会增加1MB大校有些图纸在清理完图块后文件大小会减少一半甚至更多。
在CAD低版本,如果执行多行文字命令,没有写任何文字直接确定,会生成一个空文字对象,高版本已经不会有这种问题了。另外,用一些插件也可能生成空文字对象或零长度图形。这些冗余数据因为在低版本比较容易出现,所以在CAD的清理对话框中也会出现类似的现象。
上面都是一些常规的冗余数据,是一些常规操作就可能生成的,还有一些图纸有一些异常的冗余数据,这些数据会导致图纸文件变得异常大,而且对文件的操作性能会有很大影响,甚至有些会导致无法正常复制粘贴,这些在之前的文章里都介绍过,这里就不再详细介绍了。
二、方法1:清理PU命令
执行清理:PURGE(PU)命令,打开清理对话框,就可以知道可清理的数据到底有哪些,如下图所示。
在清理对话框中列出十几项,默认为“查看可清理的项目”,如果哪一项有可清理的数据,项目前就会显示加号,单击加号会展开所有可清理的项目,如下图所示。
0层和当前图层上即使没有图形,清理时也会保留; STANDARD和当前文字样式、当前标注样式即使在图纸中没有使用,也无法清理。
图纸如果还在绘制过程当中,通常不用对除图块以外的其他数据进行清理,只需对图块,主要是复制粘贴为块的一些图块(名字以A$开头的图块),在清理图块时,注意勾寻清理嵌套项目”,可以将图块中的未使用的嵌套图块一起清理掉。
如果图中有零长度图形和空文字对象,下面的相关选项才会被激活,就可以勾驯清理零长度几何图形和空文字对象“。
“自动清理孤立的数据”是AUTOCAD 2015以上版本才增加的选项,主要是针对一些图纸中有多余的DGN线型数据设置的选项。
三、方法2:写块WBLOCK
有不少人喜欢用写块命令来清理多余的图形数据,在图纸绘制完成后需要归档图形或将图形传送给其他人时可以用写块W命令将整个图形写成一个块文件,写块跟彻底的清理差不多,多余的数据也不会被写到块文件中。写块时会将指定的基点作为块文件的原点,如果指定的基点不是原图的原点,会导致整体图形的坐标变化,写块会生成新的图纸但会保留原图纸。
四、方法3:整图复制粘贴到新图
当图中不仅有冗余数据,还因为被修改了某些参数或变量导致图形显示或操作异常时,可以考虑将图纸全选(CTRL+A)后复制(CTRL+C),开一张新图后,粘贴(CTRL+V)或粘贴原坐标(pasteorig),复制粘贴到新图后不仅可以只保留有用的数据,还可以将参数和变量恢复成默认值。当图纸出现了异常的时候却又一时找不到解决方法的时候,可以尝试用这种方法。但这种方法需要图纸能整图复制粘贴,如果图中有代理图形或者一些冗余DGN线型数据时无法复制粘贴,这种方法也就不适用了。
其实避免图纸增肥的最好办法就是保持良好的绘图习惯,避免定义过多的数据;此外,在转换其他软件数据后及时进行核查AUDIT或清理PU,避免冗余数据在后续操作中不断累积。
以上技巧适用于AUTOCAD和浩辰CAD等类似的CAD软件!