6.4.1 块简介
在介绍块的概念之前,还是先来回忆一下在手工制图中遇到的一些问题。例如在绘制电子线路图时,需要绘制大量的电阻、电容等元件,而每一类元件的形状又是基本相同的,换言之不得不进行大量重复性的工作。在其它领域也都或多或少的存在这个问题,如建筑图中的门、窗;管道图中的阀门、接头等等。对于这类问题,AutoCAD同样提供了非常理想的解决方案,即将一些经常重复使用的对象组合在一起,形成一个块对象,并按指定的名称保存起来,以后可随时将它插入到图形中而不必重新绘制。
虽然一个块可以由多个对象构成,但却是作为一个整体来使用。用户可以将块看作是一个对象来进行操作,如“move”、“copy”、“erase”、“rotate”、“array”和“mirror”等命令。当然,如果有必要,也可以使用“explode”命令将块分解为相对独立的多个对象。
当用户创建一个块后,AutoCAD将该块存储在图形数据库中,此后用户可根据需要多次插入同一个块,而不必重复绘制和储存,因此节省了大量的绘图时间。此外,插入块并不需要对块进行复制,而只是根据一定的位置、比例和旋转角度来引用,因此数据量要比直接绘图小得多,从而节省了计算机的存储空间。
另外在AutoCAD中还可以将块存储为一个独立的图形文件,也称为外部块。这样其他人就可以将这个文件作为块插入到自己的图形中,不必重新进行创建。因此可以通过这种方法建立图形符号库,供所有相关的设计人员使用。这既节约了时间和资源,又可保证符号的统一性、标准性。
6.4.2 实例2 块的创建和使用
Step 1 创建新图形文件
启动AutoCAD 2002系统,以“acadiso.dwt”为模板建立新的图形文件。
Step 2 绘制标识点
(1) 调用“line”命令,在点(-1,-1)、点(1,1)和点(-1,1)、点(1,-1)之间绘制两条直线。
(2) 调用“circle”命令,以点(0,0)为圆心,绘制半径为1的圆。
(3) 调用“donut”命令,以点(0,0)为圆心,绘制内径为0、外径为2的圆环。结果如图6-14所示。
(4) 然后利用“trim”命令来修剪圆环。调用 “trim”命令,并选择两条直线作为修剪边界,将圆环上面四分之一部分和下面四分之一部分去掉。结果如图6-15所示。
Step 3 创建块对象
(1) 利用已完成的标识点图形来创建块对象。选择“Draw(绘图)”工具栏中
图标,弹出“Block Definition(块定义)”对话框,如图6-16所示。并进行如下设置:在“Name(名称)”编辑框中输入块名“sign_point”。
设置“Base point(基点)”三维坐标为(0,0,0)。
在“Objects(对象)”栏中,单击
图标返回绘图区并选择全部图形对象。并选中“Convert to block”项。在“Preview icon(预览图标)”栏中选中“Create icon from block geometry(从块的几何图形创建图标)”项。
保持其他设置不变,单击OK按钮结束创建块命令,由此创建了一个名为“sign_point”的块对象。
Step 4 块的使用
(2) 现在,使用上一步所创建的块对象。选择“Draw(绘图)”工具栏中
图标,弹出“Insert(插入)”对话框,如图6-17所示。并进行如下设置:确认“Name(名称)”框中为“sign_point”。
在“Insertion point(插入点)”栏中,取消“Specify On-screen(在屏幕上指定)”项,并设置插入点坐标为(3,0,0)。
在“Scale(缩放比例)”栏中,取消“Specify On-screen(在屏幕上指定)”项,并设置X比例因子为2,Y、Z比例因子为1。
保持其他设置不变,单击OK按钮完成插入块操作,结果如图6-18所示。
(3) 重复插入块命令,设置插入点坐标为(7,0,0),三项比例因子均为1,并在“Rotation(旋转)”栏中,取消“Specify On-screen(在屏幕上指定)”项,并设置“Angle(角度)”为45。单击OK按钮完成插入块操作,结果如图6-19所示。
(4) 还可以使用块对象进行“divide(定数等分)”和“measure(定距等分)”操作。首先以点(50,50)为圆心,以20为半径绘制一个圆。然后调用“divide”命令,并按提示进行如下操作:
Command:DIVIDE Enter
//调用“divide”命令
Select object to divide:
//选择圆对象
Enter the number of segments or [Block]:b Enter
//选择“Block”选项进行块操作
Enter name of block to insert:sign_point Enter
//指定所使用的块名
Align block with object? [Yes/No] <Y>:n Enter
//选择“No”选项不进行对齐操作
Enter the number of segments: 10
//指定等分数为10
结果如图6-20所示。
(5) 在上一步所绘制的圆的右侧绘制一条样条曲线,大概位置可参见图6-21。然后调用“measure”命令,并按提示进行如下操作:
Command: MEASUREEnter
//调用“measure”命令
Select object to measure:
//选择样条曲线对象
Specify length of segment or [Block]: b Enter
//选择“Block”选项进行块操作
Enter name of block to insert:sign_point Enter
//指定所使用的块名
Align block with object? [Yes/No] <Y>:n Enter
//选择“No”选项不进行对齐操作
Enter the number of segments: 10
//指定等分距离为10
结果如图6-21所示。
Step 5 保存文件
(1) 以“exam6-2”为名保存该图形文件。
实例说明
1. 创建块命令的调用方式为:
工具栏:“Draw(绘图)”→
菜单:【Draw(绘图)】→【Block(块)】→【Make…(创建)】
命令行:block(或别名b)
调用该命令后,系统将弹出“Block Definition(块定义)”对话框,参见图6-16。该对话框各部分说明如下:
(1) “Name(名称)”:指定块的名称,可包括字母、数字、空格、中文以及Microsoft Windows和AutoCAD没有用于其他用途的特殊字符。如果给出的块参照的名称在当前图形中已经存在,系统将弹出一个警告信息对话框,如图6-22所示。
用户可单击“是”按钮来重新定义块,或单击“否”按钮重新指定块的名称。如果一个块被重新定义,那么一旦重新生成图形,则图形中的所有使用该名称的块都将自动更新。
(2) “Base point(基点)”:指定块的基点,当插入块时将以基点为准。用户可在对话框中指定,或单击
按钮返回绘图区进行选择。(3) “Objects(对象)”:用户可单击
图标返回绘图区选择块中要包含的对象,或单击按钮弹出“Quick Select(快速选择)”对话框来构造选择集。关于快速选择的作用请参见第7章7.2.1节。此外,用户还可进一步进行如下设置:“Retain(保留)”:创建块以后,将选定对象保留在图形中作为不同对象。
“Convert to block(转换为块)”:创建块以后,将选定对象转换成图形中的一个块引用。
“Delete(删除)”:创建块以后从图形中删除选定的对象。
(4) “Preview icon(预览图标)”:该栏包含如下两项:
“Do not include an icon(不包括图标)”:不创建图标。
“Create icon from block geometry(从块的几何图形创建图标)”:根据块对象的几何图形创建预览图标,并随块定义一起保存。
(5) “Insert(插入单位)”:指定把块从AutoCAD设计中心拖到图形中时,对块进行缩放所使用的单位。关于AutoCAD设计中心请参见第15章。
(6) “Description(说明)”:指定与块定义相关联的文字说明。
(7) “Hyperlink(超级链接)”:指定附着于块对象的超级链接。关于超级链接请参见第25章25.3节。
2. 插入块命令的调用方式为:
工具栏:“Draw(绘图)”→
菜单:【Insert(插入)】→【Block…(块)】
命令行:insert(或别名i)、inserturl
调用该命令后,系统将弹出“Insert(插入)”对话框,参见图6-17。该对话框各部分说明如下:
(1) “Name(名称)”:指定要插入的块名。用户也可单击Browse按钮来选择并插入外部图形文件或外部块参照,关于外部块详见本章6.4.5节。
(2) “Insertion point(插入点)”:指定块的插入点(即块的基点位置)。如果用户选中了“Specify On-screen(在屏幕上指定)”项,则可在关闭对话框后用定点设备在绘图区指定块的插入点。
(3) “Scale(缩放比例)”:指定插入块在X、Y、Z轴向上的比例(以块的基点为准)。如果用户选中了“Specify On-screen(在屏幕上指定)”项,则可在关闭对话框后用定点设备指定块比例。如果用户选择“Uniform Scale(统一比例)”项,则只需指定X方向上的比例因子,Y、Z向上的比例因子自动与其保持一致。
(4) “Rotation(旋转)”:指定插入块的旋转角度(以块的基点为中心)。如果用户选中了“Specify On-screen(在屏幕上指定)”项,则可在关闭对话框后用定点设备指定旋转角度。
(5) “Explode(分解)”:选择该项后,在插入块的同时将对块进行分解。同时,该选项要求只能使用统一比例对块进行缩放。关于块的分解详见6.4.3节。
3. 使用“divide”命令或“measure”命令,利用块来等分对象时,除了通过等分点来确定块的插入位置外,还要指定是否对齐块和对象:
Align block with object? [Yes/No] <Y>:
如果用户选择“Yes”项,则插入块的X轴方向与等分对象在等分点处相切或对齐。而选择“No”项时,插入块将保持原来的方向。
说明 “block”、“insert”命令均具有相应的命令行形式“-block”和“-insert”。
说明 如果指定负的X、Y和Z比例因子,则插入块的镜像图像。
注意 如果在样板中创建并保存了块,那么在使用该样板创建新图时,块定义也将保存在新创建的图形中。
如果将一个图形文件插入到当前图形中,那么其中的块定义也被插入到当前图形中.
6.4.3 块的分解
1. 块的分解方法
在AutoCAD中可使用两种方法来分解一个块:
(1) 在插入块时选择“Explode(分解)”项。
(2) 调用“explode”命令进行分解。
需要提醒读者注意的是,无论使用哪种分解方法,所分解的对象只是块的引用。而块的定义仍然保存在图形文件中,并可随时重新进行引用。如果用户希望删除块的定义,则可使用“purge”命令,关于“purge”命令的具体用法详见第16章16.4节。
2. 块的分解结果
对于一个按统一比例进行缩放的块引用,可分解为组成该块的原始对象。而对于缩放比例不一致的块引用,在分解时会出现不可预料的结果。
如果块中还包含有块(嵌套块)或多段线等其他组合对象时,在分解时只能分解一层,分解后嵌套块或者多段线仍将保留其块特性或多段线特性。
注意 用MINSERT插入的块(见6.4.4节)、外部参照以及外部参照依赖的块不能分解。不均匀缩放块中的体、三维实体和面域实体不能分解。关于外部参照请参见第13章。
6.4.4 块的嵌套和多重插入
1. 块的嵌套
用户在定义块时所选择的对象本身也可以是一个块,并且在选择的块对象中还可以嵌套其他的块,即块的定义可包括多层嵌套。嵌套块的层数没有限制,但不能使用嵌套的块的名称作为将要定义的新块的名称,即块定义不能嵌套自己。
2. 块的多重插入(MINSERT)
在AutoCAD中提供了“minsert”命令,用于在矩形阵列中插入一个块的多个引用。使用该命令插入的块与使用“insert”命令插入的块相比,唯一的区别在于前者不能被分解。
该命令的调用方式为:
命令行:minsert
“minsert”命令的执行过程相当于“-insert”命令和“-array”命令的联合使用。例如在“exam6-2.dwg”中进行如下操作:
Command: minsert Enter
//调用“minsert”命令
Enter block name or [?] < sign_point>: Enter
//选择名为“sign_point”的块
Specify insertion point or [Scale/X/Y/Z/Rotate/PScale/PX/PY/PZ/PRotate]:
//在绘图区指定一点作为插入点
Enter X scale factor, specify opposite corner, or [Corner/XYZ] <1>: Enter
//指定X比例因子为1
Enter Y scale factor <use X scale factor>: Enter
//指定Y比例因子为1
Specify rotation angle <0>: Enter
//指定旋转角度为0
Enter number of rows (---) <1>: 5 Enter
//指定阵列行数为5
Enter number of columns (|||) <1>: 5 Enter
//指定阵列列数为5
Enter distance between rows or specify unit cell (---): 5 Enter
//指定行间距离为5
Specify distance between columns (|||): 5 Enter
//指定列间距离为5
绘制结果如图6-23所示。
6.4.5 实例3 创建外部块
Step 1 打开图形文件
启动AutoCAD 2002系统,打开第4章中创建的实例文件“exam4-2.dwg”。
Step 2 创建外部块
调用“wblock”命令,系统弹出“Write Block(写块)”对话框,如图6-24所示,并进行如下设置:
(1) 确认选中“Objects(对象)”项。
(2) 指定块的基点坐标为(60,260,0)。
(3) 单击
按钮返回绘图区,并选择除了边框以外的全部对象。(4) 确认选中“Retain(保留)”项。
(5) 在“Destination(目标)”栏中,在“File name(文件名)”框中输入“toilet.dwg”。在“Location(位置)”栏中设置文件保存路径;在“Insert(插入单位)”下拉列表中选择“Millimeters(毫米)”项。
完成上述设置后,单击OK按钮结束WBLOCK命令。用户所创建的块将以独立的图形文件形式保存在指定的路径中。
实例说明
1. “wblock”命令和“block”命令的主要区别在于前者可以将对象输出成一个新的、独立的图形文件,并且这张新图会将图层、线型、样式以及其他特性如系统变量等设置作为当前图形的设置。该命令的调用方式为:
命令行:wblock(或别名w)
调用“wblock”命令后,系统弹出“Write Block(写块)”对话框,参见图6-24。该对话框各部分说明如下:
(1) “Block(块)”:如果当前图形中存在块定义,则该项被激活。用户可选择该选项,并在其右侧的列表框中指定某个块对象,并由该对象来创建外部块。
(2) “Entire drawing(整个图形)”:选择该项后,用户可利用当前的全部图形来创建外部块。
(3) “Objects(对象)”:选择该项后,用户必须指定一个或者多个对象来创建外部块。
(4) “Base point(基点)”和“Objects(对象)”栏的作用与定义内部块操作相同。
(5) “File name(文件名称)”:指定保存外部块的图形文件名称。
(6) “Location(位置)”:指定保存图形文件的路径。
(7) “Insert(插入单位)”:指定新文件插入为块时所使用的单位。
2. 当用户选择“Entire drawing(整个图形)”项,利用当前图形中所有对象来创建外部块时,缺省情况下块的基点为(0,0,0)。如果用户想改变基点的坐标,则需要定义“base”命令,该命令的调用方式为:
菜单:【Draw(绘图)】→【Block(块)】→【Base(基点)】
命令行:base
调用该命令后,系统将显示当前基点设置,并提示用户输入新的基点坐标:
Enter base point <0.0000,0.0000,0.0000>:
3. “wblock”命令也具有相应的“-wblock”形式,调用该命令后,系统首先弹出“Create Drawing File”对话框,用于指定保存外部块的图形文件名称和路径,然后进一步提示:
Enter name of existing block or
[= (block=output file)/* (whole drawing)] <define new drawing>:
这时用户可以输入一个已有块的名称将把该块写入到文件;或输入等号“=”指定现有块和输出文件的名称相同;或输入星号“*”将整个图形写入新的输出文件;或直接按Enter键,AutoCAD将先提示用户指定块文件的插入基点,然后提示用户选取要写入到块文件的对象:
Specify insertion base point:
Select objects:
创建输出文件后,AutoCAD将删除选定的对象,使屏幕更加清晰明了。这时可使用“oops”命令恢复这些对象。
6.4.6实例4内部块与外部块的综合应用
Step 1打开图形文件
启动AutoCAD 2002系统,打开第4章中创建的实例文件“exam4-4.dwg”,并将其另存为“exam6-4.dwg”;
Step 2创建和使用内部块
首先调用“pline”命令,用多段线绘制门的示意图。具体操作如下:
Command:pline Enter
//调用“pline”命令
Specify start point:
//在屏幕上拾取任意一点
Current line-width is 0.0000
Specify next point or [Arc/Halfwidth/Length/Undo/Width]: @80<0Enter
//指定下一点坐标
Specify next point or [Arc/Close/Halfwidth/Length/Undo/Width]: wEnter
//选择“Width”选项
Specify starting width <0.0000>: 5Enter
//指定线段起始宽度为5
Specify ending width <5.0000>:Enter
//指定线段端点宽度为5
Specify next point or [Arc/Close/Halfwidth/Length/Undo/Width]: @80<90Enter
//指定下一点坐标
Specify next point or [Arc/Close/Halfwidth/Length/Undo/Width]: wEnter
//选择“Width”选项
Specify starting width <5.0000>: 0Enter
//指定线段起始宽度为0
Specify ending width <0.0000>:Enter
//指定线段端点宽度为0
Specify next point or [Arc/Close/Halfwidth/Length/Undo/Width]: aEnter
//选择“Arc”选项绘制圆弧
Specify endpoint of arc or
[Angle/CEnter/CLose/Direction/Halfwidth/Line/Radius/Second pt/Undo/Width]:
ce Enter
//选择“CEnter”选项指定圆弧的圆心
Specify center point of arc:
//利用端点捕捉指定前两条线段的交点为圆心点
Specify endpoint of arc or [Angle/Length]: aEnter
//选择“Angle”选项
Specify included angle: 80Enter
//指定圆弧的包含角为80
Specify endpoint of arc or
[Angle/CEnter/CLose/Direction/Halfwidth/Line/Radius/Second pt/Undo/Width]:
Enter
//结束命令
创建后的图形如图6-25所示。
(2) 然后调用“block”命令,将该图形定义为块,块名为“door”,基点为圆弧的圆心点。
(3) 调用“insert”命令,分别按图6-26所示的角度和位置插入“door”块(比例不变)。
Step 3 使用外部块
(1) 再次调用“insert”命令,并在“Insert(插入)”对话框中单击Browse按钮选择在实例3中所创建的外部块文件“toilet.dwg”,并将其插入到当前图形中,如图6-27所示。
小 结
本章主要介绍了如何在AutoCAD中创建较复杂的图形对象。
使用定数等分和定距等分命令可以用点或块对象来标记指定对象的等分点。
对于封闭的区域,用户可进行分析并以多段线或面域的形式创建其边界。同时,还可以使用图案填充命令,在封闭区域内填充指定的图案。
块是一种特殊的组合对象,用户可通过内部块和外部块的形式来复用已有的对象,从而节省了时间、提高了效率,也可保持一致的标准。