格式刷在很多软件里都有,例如WORD/EXCEL,CAD中也有格式刷,功能名称叫特性匹配。但CAD中对象的类型比较多样,每种对象的特性各不相同,因此并不是所有特性都能进行匹配。这个大家应该能理解,但很多人不理解的是:同样是文字,为什么用格式刷后字体和颜色都不能匹配呢?我在百度贴吧和知道里已经看到不少人提这个问题了,要想了解这个问题,首先要了解特性匹配能匹配哪些特性,同时要了解文字有哪些特性,下面我们通过一个实例来分析一下原因。
一、分析文字无法匹配的原因
从上面的截图我们看到,我们用左边的字体做为源对象,想将右边的文字修改成跟左边文字一样的字体、颜色、字高,但是匹配的结果并不是我们预料的结果,这也是大多数人遇到的情况,每个人可能遇到的情况不同,有的人是字体匹配不了,有的是颜色匹配不了,有的是字高匹配不了,其实原因是基本相同的,我只是将这几种可能放到一个文字内部了。为了让大家印象更深刻,我们就一起分析一下这个文字。
1、我们首先输入U,回车,返回特性匹配前的状态,如下图所示。大家如果没有跟上图一样的实例,可以直接用你无法匹配的文字来进行下面的操作,原因虽然不完全一样,但用下面的方法也可以找到问题所在。
2、选中文字对象,打开特性面板(CTRL+1),在特性面板中观察文字的类型、文字样式、颜色、字高等属性。
3、可以肯定的是,出现这种问题的应该是多行文字。如果是单行文字匹配时出了问题,那就需要从源对象上找问题了,你可以选中源对象查看。我们可以看到这个文字的文字样式是test,颜色是BYLAYER,字高是2.5。但显然文字中不是每个字母都使用了这些设置,有的改了颜色、有的改了字高,有的改了字体。当然这张例图中,因为同一个文字中采用了多种设置,我们一眼就能看出来这些字母的设置被改了,如果所有字体都采用了相同的颜色、字体、字高,我们就看不出来文字的这些特性被修改过了。
怎么样可以快速知道文字属性是否被修改了呢?其实从特性面板的“内容”栏是可以看出来的,但为了更清楚地看到多行文字内部文字的特性是否被修改,我们输入LI,选择有问题的多行文字,在文本窗口中观察这些文字的特性。
4、查询LI(LIST)其实跟特性面板效果差不多,但观察有些特性更方便。从查询特性可以看出来,类型是MTEXT多行文字、文字样式是TEST,字高是2.5,跟特性面板是完全一致的。只是在查询窗口中可以将文字内容完整的显示出来,上面文字的内容是:ab{/C1;c}/P{/fSTXihei|b0|i0|c134|p2;BC/H0.72x;D},我们可以看到在文字内容中添加了一些大括号,这些大括号中的内容就被修改了特性的文字,如果多行文字整体被修改了格式,这个大括号就可能从头括到尾。我们可以看到上面列举了几种格式符,/C表示设置了颜色,/C1表示颜色修改成了1号色(红色),/f表示修改了字体,后面跟的是字体的名字及一些相关的设置,/H表示修改了文字高度,0.72x表示是整体字高2.5的0.72倍,/P是换行,这个倒不用管。
从文字内容就可以很容易知道文字没有正常匹配的原因了,单独设置了颜色的,颜色就无法匹配,单独设置了字体的,字体就无法匹配,高度也是一样。所以多行文字要想用格式刷时正常的匹配特性,最好不要在多行文字编辑器中去修改这些字体和颜色,要改高度的时候必须在输入文字之前修改或全选所有字符修改。
二、解决文字无法匹配的办法
现在文字已经变成这样了,我们也不能重新去写,有什么办法可以解决无法匹配的问题呢?方法有两种,主要看文字的修改量和是否要保留多行文字的段落等设置。
方法一:将多行文字分解成单行文字。
这种方法的好处是可以一次性处理多个文字对象,只需将这些文字都选中后,输入X,回车,将这些文字炸开成单行文字。单行文字每个字符不能有独立的特性,就不会存在上述问题了,但多行文字的每一行都会变成一个单行文字对象,单独设置过特性的文字也会被分解成独立的对象。例如上面的样例被分解后就会变为四个单行文字。
我们可以看到除字体都恢复成文字样式的字体外,颜色和高度都保留了,但此时我们再用格式刷匹配,目标对象框选右侧的文字,字体、颜色、字高都可以很好的匹配了。但就上图中的样例,由于同一行内修改过颜色和字高,分解时一行被断开成两段文字,不同字体的宽度不一样,匹配后可能会出现间隙或文字重叠的现象,如下图所示。实际图纸中这种状况应该不多。
方法二:删除格式。
这种方式不改变多行文字的结构,但好像只能一个个修改,如果出问题文字不多肯定建议使用这种方式。不知道网上有没有能批量删除格式的插件,可以找找试试。双击多行文字,进入多行文字编辑器,按CTRL+A,选中所有字符,在文字上右键,在右键菜单中选择:删除格式 >删除字符格式。
删除格式里有三个选项,可以选择只删除字母或段落格式,也可以全部删除。删除字符格式后,原来对字体、颜色、字高的修改都被删掉了,多行文字才会恢复了它应用的样子。
再次用格式刷匹配,这一次字体、颜色和字高都跟源对象完全一致了。
小结:
图形在进行特性匹配(格式刷)时,可以匹配的是两者的公共属性,对于多行文字,如果内部单独修改过文字的字体、颜色、字高等特性,这些特性将保留,而不能用格式刷进行修改。
因此建议大家最好遵循CAD的规则,在使用多行文字时,要提前设置好当前文字样式及字体,写文字前设置字高,颜色最好也选择多行文字直接在工具面板中修改,总之,如果想用格式刷来匹配特性的话,就不要在多行文字内单独修改属性。
通过上面的分析也让大家对多行文字加深了了解,希望大家今后遇到类似的问题时也知道如何去分析处理了。
注意事项:
以上技巧适用于AUTOCAD和浩辰CAD等类似CAD软件