图案填充的概念和作用
在绘制图形时经常会遇到这种情况,比如绘制物体的剖面或断面时,需要使用某一种图案来充满某个指定区域,这个过程就叫做图案填充(Hatch)。图案填充经常用于在剖视图中表达对象的材料类型,从而增加了图形的可读性。
在AutoCAD中,无论一个图案填充是多么复杂,系统都将其认为是一个独立的图形对象,可作为一个整体进行各种操作。但是,如果使用“Explode”命令将其分解,则图案填充将按其图案的构成分解许多相互独立的直线对象。因此,分解图案填充将大大增加文件的数据量,建议用户除了特殊情况不要将其分解。
在AutoCAD中绘制的填充图案可以与边界具有关联性(Associative)。一个具有关联性的填充图案是和其边界联系在一起的,当其边界发生改变时会自动更新以适合新的边界;而非关联性的填充图案则独立于它们的边界。
注意 如果对一个具有关联性填充图案进行移动、旋转、缩放和分解等操作,该填充图案与原边界对象将不再具有关联性。如果对其进行复制或带有复制的镜像、阵列等操作,则该填充图案本身仍具有关联性,而其拷贝则不具有关联性。
实例1 绘制轴承断面图
Step 1 绘制边界
(1) 根据“acad.dwt”模板文件创建一个新文件;
(2) 选择“Draw(绘图)”工具栏中 图标,以(10,10)为圆心,以10为半径绘制一个圆;
(3) 选择“Draw(绘图)”工具栏中 图标,依次在点(0,7.5)、(3,7.5)、(3,12.5)和(0,12.5)之间画线(不需闭合);
(4) 选择“Standard(标准)”工具栏中 图标使所绘图形全部显示在屏幕上;
(5) 选择“Modify(修改)”工具栏中图标,将多余的线裁剪掉,结果如图6-7所示。
Step 2 绘制填充图案
(1) 选择“Draw(绘图)”工具栏中 图标,弹出“Boundary Hatch(边界图案填充)”对话框,如图6-8所示。
(2) 在“Boundary Hatch(边界图案填充)”对话框中选择“Quick(快速)”选项卡,单击“Pattern(图案)”下拉列表框右侧的 按钮,弹出“Hatch Pattern Palette(填充图案调色板)”对话框。
(3) 在“Hatch Pattern Palette(填充图案调色板)”对话框中,选择“Other Predefined(其他预定义)”选项卡中的“STEEL”项,如图6-9所示。
(4) 单击OK按钮返回“Boundary Hatch(边界图案填充)”对话框;单击 按钮进入绘图状态,选择轴承断面边界中任意一点,这时该边界将显示为选中状态,如图6-10所示。
(5) 按Enter键返回“Boundary Hatch(边界图案填充)”对话框,单击Preview按钮查看填充图案的预览效果,可看到填充图案过于密实。因此将“Scale”项改为10,并按ok按钮完成填充图案的绘制(结果如图6-11所示),以“exam6-1.dwg”为名保存文件。
实例说明
1. 调用图案填充命令的格式为:
工具栏:“Draw(绘图)”→
菜单:【Draw(绘图)】→【Hatch…(图案填充)】
命令行:bhatch(或别名bh、h)
2. AutoCAD中的填充图案具有三种类型,在“Boundary Hatch(边界图案填充)”对话框(参见图6-8)的“Type(类型)”下拉列表框中给出了这三种类型:
(1) “Predefined(预定义)”
预定义填充图案是由AutoCAD系统提供的,包括69种填充图案(8种ANSI图案,14种ISO图案和47种其它预定义图案)。
选择“Predefined”项后,系统将在“Pattern(图案)”和“Swatch(样例)”下拉列表框中分别给出预定义填充图案的名称和相应的图案。用户也可单击“Pattern(图案)”下拉列表框右侧的 按钮,弹出“Hatch Pattern Palette(填充图案调色板)”对话框(参见图6-9)来查看所有预定义的预览图像。
对于“Predefined”选项,用户还可以通过“Angle(角度)”和“Scale(比例)”项来改变填充图案的角度(相对于UCS的X轴)和比例大小,从而得到更多样式的图案。
如果用户选择了ISO类的预定义填充图案,则系统激活“ISO pen width(ISO笔宽)”下拉列表,来确定ISO图案的笔宽。
(2) “User defined(用户定义)”
该类型是基于图形的当前线型创建的直线填充图案。选择“User defined”项后,用户可以通过“Angle(角度)”和“Spacing(间距)”项来控制用户定义图案中的角度和直线间距。
此外,选择该项后,开关“Double(双向)”将被激活。如果选择该开关,则将在用户定义的填充图案中绘制第二组直线,这些直线相对于初始直线成90度,从而构成交叉填充。如图6-12所示。
(3) “Custom(自定义)”:使用自定义的填充图案。关于该部分内容详见第32章。
3. 在“Boundary Hatch(边界图案填充)”对话框的“Advanced(高级)”选项卡中还提供了高级设置(图6-13),其中各项含义如下:
(1) “Island detection style(孤岛检测样式)”:
当填充区域内部存在一个或多个内部边界时,选择不同的孤岛检测样式将产生不同的填充效果。
“Normal(普通)”:该样式用于从外部边界开始向内交替填充,即从最外一 层封闭区域开始,第1、3、5…个封闭区域被填充,而其他区域不产生填充图案。
“Outer(外部)”:该样式用于填充最外一层的封闭区域,而其内部均不进行填充。
“Ignore(忽略)”:该样式将忽略所有内部对象并让填充线穿过它们。
(2) “Boundary type(边界类型)”:
如果用户选中了“Retain boundaries(保留边界)”开关,则在进行图案填充的同时将边界以多段线或面域的形式保存下来。
(3) 其他选项同“Boundary Creation(边界创建)”对话框。
4. 在“Boundary Hatch(边界图案填充)”对话框的右侧还提供了其他一些选项(参见图6-13),其具体含义分述如下:
(1) “Pick Points(拾取点)”:单击 按钮可返回绘图区,并通过指定填充区域内任意一点来确定填充区域。
(2) “Select Objects(选择对象)”:单击 按钮可返回绘图区,并选择需要进行填充操作的对象。
(3) “Remove Islands(删除孤岛)”:单击 按钮可返回绘图区,并选择需要删除的内部边界(孤岛),但不能删除外部边界。
(4) “View Selections(查看选择集)”:单击 按钮可返回绘图区,并显示当前已经定义的边界。
(5) “Inherit Properties(继承特性)”:单击 按钮可返回绘图区,并选择已有的某个图案填充对象,则新创建的填充图案将继承该对象的图案、角度、比例和关联等特性。
(6) “Composition(组成)”:选择“Associative(关联)”或“Nonassociative(不关联)”项以确定填充图案是否具有关联性。
说明 “bhatch”命令具有相应的命令行形式“-bhatch”。填充图案的可见性取决于“fill”命令的设置。
专家指点 AutoCAD不能创建由超过10000 条线段组成的填充图案。该限制是由注册表中的MAXHATCH设置来设定的。可以把它重新设定为100到10000000之间的任意值。
6.3.3 使用HATCH命令创建填充图案
在AutoCAD中还提供了“hatch”命令,用来创建非关联的填充图案。该命令的调用方式为:
命令行:hatch(或别名-h)
调用该命令后,系统要求用户指定填充图案名称、比例和角度:
Enter a pattern name or [?/Solid/User defined] <ANSI31>:
Specify a scale for the pattern <1.0000>:
Specify an angle for the pattern <0>:
然后提示用户选择用于定义填充边界的对象,或选择“direct hatch(直接填充)”选项来指定一个多段线的填充边界进行填充:
Select objects to define hatch boundary or <direct hatch>,
Select objects:
如果用户选择了直接填充的方式,则用户需要确定是否需要保留多段线边界,并可通过指定一系列多段线顶点的方式来定义一个填充边界:
Retain polyline boundary? [Yes/No] <N>:
Specify start point:
Specify next point or [Arc/Length/Undo]:
Specify next point or [Arc/Close/Length/Undo]:
当用户结束某个多段线边界的定义后,还可继续定义新的多段线边界。在完成全部的边界定义后,可选择“apply hatch(应用图案填充)”选项来创建非关联的填充图案:
Specify start point for new boundary or <apply hatch>:
说明 在指定填充图案名称时,用户可选择“?”选项来列出全部图案填充样式。或者在图案名称后跟随一个逗号和图案填充样式码来指定图案填充样式。图案填充样式码的具体定义见表6-1:
例如应用名为“ANSI32”的填充图案并使用“普通”样式时,可根据提示输入:
Enter a pattern name or [?/Solid/User defined] <ANSI31>:ANSI32,n
注意 从“Draw(绘图)”下拉菜单中调用“Hatch…(图案填充)”命令实际上是调用“bhatch”命令而不是“hatch”命令。