网上有不少人提类似的问题,在一张图中复制CTRL+C,到另外一张图中粘贴CTRL+V,结果发现粘贴后的图形变了。
为什么粘贴后的图形会变呢?如果不了解问题的原因,一定会觉得很奇怪。之前发过类似的文章,但发现还是有人问类似的问题,这里就重新给大家讲一下,告诉大家为什么会这样,怎样避免出现类似的问题。
其实原因很简单,一句话就可以说清楚:
CAD中保存了很多有名字的格式和数据,比如图块、图层、线型、填充图案、文字样式、标注样式、多线样式等,他们的名字在一张图中中是唯一的,当粘贴的图形有与当前图中格式和数据时重名而且定义不同时,只能保留其中一个,这就会导致粘贴的图形发生变化。
下面我们就通过一些简单的实例来介绍一下出现的原因和解决办法。
一、图块复制粘贴后发生变化
图块复制粘贴发生变化的时候很常见,其实原因很简单,下面就通过一个简单的实例来重现一下。
1、新建一张图纸,画一个圆,输入B,回车,将圆定义成图块,块名设置为1,插入点设置在圆的圆心,如下图所示。
2、单击新建按钮,在新建一张空图,绘制一个矩形,输入B,回车,将矩形定义成图块,块名也设置为1,插入点设置在矩形的某个角点,如下图所示。
3、选择矩形图块,按CTRL+C,切换到前一张图纸(AUTOCAD 2014以上版本或浩辰CAD或可以直接单击文件标签栏的文件名,低版本可以按CTRL+TAB或从窗口菜单中选择),按CTRL+V,明明复制的是矩形,但我们可以看到粘贴过来的却是圆,如下图所示。
4、我们可以反过来在这张图中选中圆形的图块,复制粘贴到另一张图,会发现粘贴的是矩形,如下图所示。
如果注意观察命令行,会看到“_pasteclip忽略块1的重复定义。”的提示,也就是说粘贴过来的图块定义被忽略了,直接采用了当前图纸中的图块定义。
这既是图块粘贴时发生变化的原因了:两张图中图块名字相同但定义不同,父子粘贴时图块自动变成了当前图中同名的图块。
CAD图纸中图块名是唯一的,因此在给图块命名时需要注意,不要图省事,直接设置1、2等简单的名字,而要根据特征起一个易于分辨的名字,不同的图块用不同的名字,保证不同图纸中同名图块的图形是相同的,这样才不会出现这样的问题。
不过,图块同名但定义不同的问题很难避免,当复制粘贴时遇到图块变化的问题后,可以用下面的方法解决。
图块重名的解决办法
解决办法很简单,就是让原来同名的图块改成不同名字。
1、切换到要改图块名字的图纸,输入REN重命名,回车(或者在格式菜单中找到重命名命令),打开重命名对话框,如下图所示。
2、在左侧的列表中选择“块”,在右侧的列表中选择“1”,在“重命名”框内输入2,如下图所示,单击确定按钮,将图块名从1改成2 。
3、再选中图块,CTRL+C,切换到另一张图,CTRL+V,这次我们可以看到粘贴的图块是正确的了,如下图所示。
二、文字复制粘贴后字体变了
复制粘贴后如果发现字体变了,原因也很简单,就是两张图中同名的文字样式但字体设置不同,我们通过类似的方法来看一下。
1、开一张空图,保持默认的文字样式不变,输入T回车,执行多行文字命令,在图中框选文字范围,随意写几个字母加汉字,例如abc中文,如下图所示。
不同CAD默认的字体格式不完全相同,如果你的版本默认字体不是宋体,为了和我的效果一致,在输入文字前你可以输入ST命令打开文字样式对话框,将字体设置为宋体。
2、为了同时观察单行文字的效果,将上面的文字复制一份,选中其中一个文字,输入X,回车,将文字炸开成单行文字。
3、单击新建按钮,新建一张空图,输入ST,回车,打开文字样式对话框,点开字体列表,输入TX,找到TXT.SHX,如下图所示。将字体修改成txt.shx,如果你的版本中默认就是txt.shx,则不用修改,如果使用了大字体,取消勾寻使用大字体”。
4、输入相同字符的多行文字,并且复制一份后炸开,得到一个单行文字,如下图所示。
可以看到由于使用了CAD字体,但没有设置大字体,多行文字中中文自动被替换成宋体,而单行文字中则只能显示为问号了。而且由于在多行文字中字体被替换,炸开后汉字跟字母分开了,这个后面我们可以不管,只关注字体的效果。
5、从新图中选中两个文字,按CTRL+C复制,切换到之前的图纸中,按CTRL+V粘贴,我们会发现粘贴后的文字变成了跟当前图相同的效果,如下图所示。
选中这张图的文字向另外一张图中复制粘贴也会出现同样的问题,如下图所示。
解决办法:任意一张图纸中输入REN,回车,打开重命名对话框,选中重名的文字样式,修改成其他名字,如下图所示。
将其中一个文字样式改名,不重名了,当将文字复制到另一张图,改名的文字样式也会一起被复制到新图中。
总之,文字样式的名称最好跟字体相关,这样可以避免同名不同字体的情况,另外,不要总用默认的文字样式Standard来修改字体,这样很容易产生重名的现象。
三、标注复制后变了
标注样式要比文字更复杂,不仅是因为标注参数多,而且标注中还会使用到文字样式,而标注箭头有时会是图块,因此不仅可能会因为标注样式重名但定义不同引起问题,还可能因为文字样式和图块重名但定义不同引起问题,所以遇到标注变化的时候需要先看变的是什么,然后再根据变的原因去找问题。
1、字体变了
输入D,打开标注样式对话框,选择标注使用的标注演示,单击修改按钮,打开标注样式修改对话框,检查文字样式设置,如下图所示。
字体的变化可能是因为同名的标注样式使用了不同的文字样式,也可能是文字样式相同,但文字样式字体不同。想保持复制后标注样式不变,如果是前一种情况的话,只需重命名标注样式,是后一种情况的话,则需要先重命名文字样式,然后将标注样式重命名。
2、箭头变了
标注默认的箭头不是图块,但如果用建筑斜线或其他某些形式,箭头则可能是用图块来表示的。
一般情况下,大家很少会创建同名的图块或去修改由标注创建的这个图块的,但我不止一次见过这样的图纸,就是这个图块被改了。如果发现这种情况,必须在被修改的图纸中将此图块重命名。
3、尺寸线等其他效果变了
如果是同名标注样式其他参数不同也会导致标注复制粘贴后变化,要想保留标注原来的效果,REN重命名标注样式就可以了。
4、标注的特征比例变了
标注本身的长度没变,但线、文字、箭头都被整体放大和缩小了。如果你的标注设置了注释性,当从一个比例视口复制到另外一个比例视口时,特征比例会根据当前视口比例变化。这种变化是正常的,如果你用过注释性,这种变化应该是你需要的;如果你没有用过注释性,通常也不会遇到这种问题。
四、可能产生变化的其他图形
1、线型
线型可能会有两种变化:
一种是线型的形式没变,只是单元长度变了,有时可能虚线还会变实线,这可能是两张图中全局线型比例设置不同,你可以输入LTSCALE回车,或者打开线型资源管理器查看一下。
二是线型的形式变了,这种原因可能有两种:一种是线型设置都是BYLAYER,两张图中同名图层设置的线型不同;还有一种可能同名的线型定义不同。
在同一款CAD软件如果只用CAD自带的线型的话,同名线型定义不同出现的几率比较低,但如果用不同的CAD软件而且自己加载了一些特殊的线型就不好说了。
2、多线
多线是MLINE(ML),多线样式MLSTYLE也存在重名设置不同的问题。
3、表格
表格TABLE对象也有样式TABLESTYLE,也可能出现复制粘贴变化的情况。
4、多重引线
这其实是一种特殊的标注,多重引线样式MLEADERSTYLE重名时也需要同时分析文字样式和箭头的图块。
5、填充
填充图案后比例变了,通常也是跟填充图案定义有关系,但这个在重命名对话框里没法修改,因为填充图案是保存在填充文件(*.pat)里,如果直接始终用同一款CAD,通常也不会有问题,如果使用了自定义的填充图案,也可能会产生这样的问题。
如果在不同版本或不同品牌的CAD之间复制粘贴一些复杂边界的填充图案,也有可能因为两者的算法不同导致效果变化,这是一张极端情况,通常不是我们个人能解决的。
填充不显示,这个可能是FILL变量导致的,如果FILL被设置成关(0),填充会不显示。
6、图层、变量设置不同导致的变化
图层设置不同
如果两张图中同名图层的设置不同,复制粘贴图形中所有随层的属性都会跟随变化,图层设置可能带来的变化包括颜色、线型、线宽、透明度等,所以出现这些变化时可以先检查一下图层。
当然图层的状态也会影响我们看到的效果,比如复制时图层是开的,粘贴时图纸中同名图层是关的或冻结的,我们会看不到图形,当然这对图形本身并没有什么影响。
通常一个人或一个单位的图层使用习惯是相同的,上述情况出现的几率不多,但如果图纸有多个来源,这种情况也是可能出现的。
变量设置不同
CAD中有一些控制图形显示的变量,例如控制填充显示的变量FILL和FILLMODE,控制文字是否简化显示成方块的QTEXT等,这些变量是保存在图中的,因此如果两张图纸中这些变量设置不同,也可能导致从一张图纸复制到另外一张图纸发生变化。
通过上面的讲解我们会发现,图纸复制粘贴发生变化的可能性太多了,不用感到奇怪,遇到问题后,我们首先要看变的是什么,发生了什么变化,判断原因后才能解决。大部分样式重名都可以通过重命名REN来解决。
对于个人来说,要避免出现类似问题,首先要养成良好的习惯,不要直接修改默认样式的参数来使用,最要创建新的样式并起可以明显分辨的名字,图块命名尤其需要注意。