AutoCAD中使用图块必须注意的几个问题
在实际设计中,AutoCAD中图块插入前后其组成对象的图层、颜色、线型和线宽等常常会发生变化,本文分析了AutoCAD中图块插入前后其组成对象的图层、颜色、线型和线宽的变化规律,并推荐了绘制图块时所采用的图层、颜色、线型和线宽设置。熟练掌握图块特i和使用图块绘图,是每一个渴望成为AutoCAD高手必备的利器。虽然组成图块的各对象都有自己的图层、颜色、线型和线宽等特性,但插入到图形中,图块各对象原有的图层、颜色、线型和线宽特性常常会发生变化。一般AutoCAD书刊中只涉及图块的定义、插入和存盘等内容,而关于图块插前后其组成对象一般特性发生变化的内容则很少见到。总结它们的变化规律,对于正确使用图块,提高计算机绘图与设计的效率很有意义。本文讨论的图块组成对象的一般特性仅限于图块组成对象的图层、颜色、线型和线宽。
讨论图块组成对象图层、颜色、型和线宽的变化,涉及到的图层特性包括图层设置和图层状态。图层设置是指在图层特性管理器中对图层的颜色、图层的线型和图层的线宽的设置。图层状态是指图层的打开与关闭状态、图层的解冻与冻结状态、图层的解锁与锁定状态和图层的可打印与不可打印状态等。
一、图块组成对象图层的继承性
在图块插入时,图块中0层上的对象改变到图块的插入层,图块中非0层上的对象图层不变。即图块中原非0层上的对象,如在被插入图形文件中有与其同名的图层,则分别置于各自的同名图层,被插入图形文件中图层>设置不变。如在被插入图形文件中没有与其同名的图层,则AutoCAD首先在被插入图形文件中新建图块的同名图层,并继承图块中非0层对象所在图层的设置,然后把图块中非0层上的对象分别置于各自的同名图层。总之,若0层不是插入层,则图块中0层上的对象,其图层发生改变,被重新置于图块的插入层;图块中非0层上的对象,其图层保持不变,因此我们说非0层对象的图层具有继承性。若0层就是插入层,则图块中各对象所在的图层保持不变。
图块插入后,如果关闭图块的插入层,会使图块中与插入层同名层上的对象不可见,如果0层不是萌氩悖也会使图块中0层上的对象不可见。因为,图块中0层上的对象已重新置于图块的插入层,但图块中其他图层(既非插入层也非0层)上的对象仍然可见。但是要注意,如果冻结图块的插入层,不管图块中的各个对象位于哪一层,整个图块都将不可见,不但图块中与插入层同名层上的对象和图块中0层上的对象不可见,图块中非插入层上的对象也不可见。如果0层为非插入层,关闭或冻结0层,对图块中原0层对象的可见性没有影响。如果关闭或冻结的图层既非图块的插入层也非0层,会使图块中该层上的对象不可见。
图块插入后,还可以随时改变图块的插入层,先选择图块,在“对象特性”工具栏上单击“图层状态”下拉列表框中的下拉按扭,再单击所需要的图层即可。如上所述,如果冻结图块的插入层。则在该层插入的整个图块将不可见,可以通过这个方法来验证某个图层是否为图块的插入层。
如果图块的插入层既不是0层也不是图块中各对象所在的图层,那么当删除了该层上的所有对象(包括所插入的图块)后,就能够删除该层。但是,图块中各对象所在的图层,不管是不是图块的插入层,即使图层中已经没有任何对象,也不能删除。
如果图块插入后被分解(Explode),则图块插入前位于0层、图块插入后改变到图块插入层的对象,将再从图块的插入层回归到0层。总之,图块分解后,图块中不同图层的对象所在的图层将“各归各位”,恢复到图块插入前各对象所在的图层。
二、图块组成对象颜色、线型和线宽的继承性
为了讨论方便,先约定几个术语。
Bylayer设置就是在绘图时把当前颜色、当前线型或当前线宽设置为Bylayer。如果当前颜色(当前线型或当前线宽)使用Bylayer设置,>所绘对象的颜色(线型或线宽)与所在图层的图层颜色(图层线型或图层线宽)一致,所以Bylayer设置也称为随层设置。
Byblock设置就是在绘图时把当前颜色、当前线型或当前线宽设置为Byblock。如果当前颜色使用Byblock设置,则所绘对象的颜色为白色>White);如果当前线型使用Byblock设置,则所绘对象的线型为实线(Continuous);如果当前线宽使用Byblock设置,则所绘对象的线宽为默认线宽(Default),一般默认线宽为0.25mm,默认线宽也可以重新设置,Byblock设置也称为随块设置。
显式设置就是在绘图时把当前颜色、当前线型或当前线宽设置为显式,既非Bylayer,也非Byblock。
Bylayer块是指颜色、线型和线宽都采用Bylayer设置绘制的图块;Byblock块是指颜色、线型和线宽都采用Byblock设置绘制的图块;Non-by块是指颜色、线型和线宽都采拖允缴柚没嬷频耐伎椤
在Bylayer块插入后,图块中各对象的颜色、线型和线宽与图块插入后各对象所在图层的设置,即图层颜色、图层线型和图层线宽一致,而不是与图块插入后各对象所在图层的当前设置,即当前颜色、当前线型和当前线宽一致。也就是说,在Bylayer块插入前,如果在被插图形文件中有图块的同名层,则 Bylayer块插入后,图块相应图层上对象的颜色、线型和线宽将跟随被插图形文件中图块的同名层的图层设置。这时,如果图块图层的设置与被插入图形文件图块同名层的设置不同,则在图块插入前后,图块颜色、线型和线宽有明显变化。如果在被插入图形文件中没有图块的同名层,则Bylayer块插入后,图块相应图层上对象的颜色、线型和线宽将保持不变。Bylayer块分解前后,图块所有对象的颜色、线型和线宽将保持不变。Bylayer块插入后,图块组成对象的颜色、线型和线宽三者有条件的变化。
在Byblock块插入后,图块中所有对象的颜色、线形与线宽都与插入层的当前设置(当前颜色、线型和线宽) 一致。虽然在图块插入后图块中的各个对象一般不会在同一个图层上,但是图块中所有对象却具有相同的颜色、相同的线型和相同的线宽。Byblock块分解后,图块所有对象的颜色变成Byblock色(白色),所有对象的线型变成Byblock型(实线),但是所有对象的线宽仍保留图块插入时的线宽。Byblock块插入后,图块组成对象的颜色、线型和线宽三者无条件的变化。
在Non-by块插入后,图块中所有对象的颜色、线形与线宽都保持不变。Non-by分解前、后图块所有对象的颜色、线型和线宽将保持不变。Non-by块图块插入后,图块组成对象的颜色、线型和线宽三者没有变化。
如果绘制图块中某个对象时,其颜色、线型或线宽采用的不是同一种设置,则若颜色、线型或线卟捎肂ylayer设置,则图块插入后,该对象对应的颜色、线型或线宽将与该对象所在图层的颜色、线型或线宽一致。若颜色、线型或线宽采用Byblock设置,则图块插入后,该对象对应的颜色、线型或线宽将与插入层的当前颜色、当前线型或当前线宽一致。若颜色、线型或线宽采用Non-by设撸则图块插入后,该对象对应的颜色、线型或线宽将保持该对象绘制时颜色、线型或线宽不变。
在图块插入后,如果对图块的颜色、线型或线宽不满意,当然可以把图块分解后再进行调整,但如果不分解图块而直接调整图块的颜色、线型或线宽,则Bylayer块、Byblock块、Non-by块需要区别对待。
在Bylayer块插入后,图块中各对象的颜色、线型与线宽,不可以通过“对象特性”工具栏上“颜色”下拉列表框、“线型”下拉列表框以及“线宽”下拉列表框来直接改变榈可以通过在“图层特性管理器”中改变图层的颜色、线型或线宽来间接改变。单击“对象特性”工具栏上“图层”按扭,可以打开“图层特性管理器”窗口。
在Byblock块插入后,图块中各对象的颜色、线型与线宽,可以通过“对象特性”工具栏上“颜色”下拉列表框、“线型”下拉列表框以及“线宽”下拉列表框来直接改变。
在Non-by块插入后,图块如不分解,图块中各对象的颜色、线型与线宽绝对不可能改变,无论咄ü“对象特性”工具栏上“颜色”下拉列表框、“线型”下拉列表框和“线宽”下拉列表框直接改变,还是在“图层特性管理器”中通过改变图层的颜色、线型或线宽间接改变。
如果绘制图块中某个呦笫保其颜色、线型或线宽采用的不是同一种设置,则若颜色、线型或线宽采用Bylayer设置,图块插入后,该对象对应的颜色、线型或线宽可以间接改变;若颜色、线型或线宽采用Byblock设置,则图块插入后,该对象对应的的颜色、线型或线宽可以直接改变;若颜色、线型或线宽采用Non-by设置,则图块插入后,该对象对应的颜色、线型或线宽将不能再改变。
三、图块绘制时的几点建议
根据以上对图块组成对象的图层、颜色、线型和线宽的变化分析,得出如下结论。
要使在图块插入后图块各对象的图层随图块的插入层、图块各对象的颜色、线型与线宽都随图块插入层的图层设置,就在0层上用Bylayer颜色、Bylayer线型和Bylayer线宽制块,即0层上的Bylaye块插入后,其图块各对象所在的图层将变换为图块的插入层,其图块各对象的颜色、线型与线宽将与图块插入层的图层设置一致。
要使图块插入后图块各对象的图层随图块的插入层、图块各对象的颜色、线型与线宽都随图块插入层的当前设置,就在0层上用Byblock颜色、Byblock线型和Byblock线宽制块,即0层上Byblock块插入后,其图块各对象所在的图层敫谋湮图块的插入层,其图块各对象的颜色、线型与线宽将与图块插入层的当前设置一致。
要使图块插入后图块各对象的图层、颜色、线型与线宽都不变,就在非0层上用显式颜色、显式线型和显式线宽制块。
为了更好地组织和管理图形,一般一个图层使用一种颜色,因此希望图库中图块所有对象都能定位到图块的插入层,图块所有对象的颜色都能随该层的图层颜色或当前颜色,而图块所有对象的线型与线宽不变,那么,应在0层上用Bylayer颜色或Byblock颜色、用显式线型和用显式线宽来绘制图块。