一、使用自定义箭头块所遇问题 用户在使用AutoCAD绘制尺寸线时,经常使用自定义箭头块(BLOCK)来绘制尺寸线。例如,我们经常用一段首尾等宽的粗线条来代替AutoCAD本身提供的箭头与斜杠。(为了说明问题方便,本人在本文中将使用具体例子来说明问题。本文中对于含有PLINE组线的块,其块插入点均为PLINE组线中心点,如果不特殊说明,本文尺寸变量均使用AutoCAD R14初始变量)。 当进入AutoCAD R14后,绘制一段PLINE组线,如图1中自定义块图形。然后将图1中PLINE组线定义一个块,在进行块定义结束后,使用OOPS命令来恢复上述组线。现在我们绘制一第一尺寸延伸线起点坐标为(10,10),第二尺寸延伸线起点坐标为(25,10),尺寸线位置坐标为(25,15)的一水平尺寸线。按照设想应该出现图1中希望尺寸线的图形,但出现的却是图1中实际尺寸线的图形。与我们设想绘制的尺寸图形有两个明显的区别: 1.绘制的自定义箭头块尺寸线其尺寸线与两条尺寸延伸线之间有空隙。 2.该尺寸线中的自定义箭头块形状,即“组线”比我们定义的块,即图1中的自定义块形状明显放大。 而且当我们对尺寸线爆破后,使用LIST命令可以证明该尺寸线中尺寸线与两条尺寸延伸线之间空隙的距离恰好等于尺寸变量DIMASZ,尺寸线中自定义箭头块与原先定义的块其缩放比例因子也恰好等于DIMASZ。由于DIMASZ是尺寸线绘制中,控制箭头尺寸箭头大小的参数,从这一点来进行分析,自定义箭头块尺寸与箭头尺寸之间应存在着联系。所以在分析出现这种情况的原因之前,我们先来分析箭头尺寸构造原理。 二、箭头尺寸构造原理分析 现在我们在图2中绘制一个箭头尺寸,如图2中名为原始尺寸图的一箭头尺寸。当我们使用COPY命令对其拷贝,并选择合适的基准点与位移的第二点,拷贝至图2中原始尺寸分解示意图位置,并对拷贝后的尺寸线进行爆破,我们将爆破后的尺寸线中其箭头上移个3图形单位,如图2中的原始尺寸分解示意图。 从图2中原始尺寸分解示意图,我们发现尺寸线与两条尺寸延伸线之间也存在空隙,而且两端空隙距离也恰好等于DIMASZ。我们还可以多举几个例子,我们会发现自定义箭头块尺寸线中, 以及箭头尺寸线中其尺寸线与两条尺寸延伸线之间的空隙距离均等于DIMASZ。因此我们可以证明箭头与自定义箭头块尺寸线中,其尺寸线与两条尺寸延伸线之间的空隙是受DIMASZ控制的。 我们对图2中分解后的箭头尺寸的箭头用LIST命令查看后,发现箭头实际上是一个其长度与其末端宽度成3:1的SOLID区域。在图2中,箭头参数示意图可清楚地表明这一点。现在,我们可以清楚地分析出,箭头尺寸与自定义箭头块尺寸线之间区别只在于,箭头尺寸是用SOLID区域作为箭头,而自定义箭头块尺寸是用自定义块替换箭头放在相应的位置上。要注意的一点是,该自定义块在被作为箭头块插入时,在尺寸线与第一尺寸延伸线的交点作为插入点时,其插入角度为180°,而不是0,而在尺寸线与第二尺寸延伸线交点处,插入自定义块其插入角度为0°。本人推测在AutoCAD在绘制尺寸线中之所以存在空隙的原因,即AutoCAD没有将尺寸线延伸到两条尺寸延伸线,是因为这样做好处是可以减少计算量,从而可以加快计算机处理速度。 三、消除自定义箭头块尺寸线中尺寸线与两条尺寸延伸线之间的空隙 当我们知道自定义箭头块尺寸线中,其尺寸线与两条尺寸延伸线之间有空隙是由于AutoCAD在绘制自定义箭头块尺寸线时,只是将SOLID区域变成缩放比例因子为DIMASZ的自定义块,而其它方面完全相同而造成的。所以要消除尺寸线与两条尺寸延伸线之间的空隙需要自己在自定义块中绘制一段直线来弥补上述空隙,我们假设该直线的长度为L。由于尺寸线在将自定义块插入时,在尺寸线与第二尺寸延伸线其插入角度为0°,因此在绘制直线时,其起始点为自定义块中块的插入点,位移第二点为起始点相对坐标@-L,0位移第二点相对于起始点,相对坐标为>@-L,0 的长度为L的一段直线。根据空隙距离=DIMASZ>,而又由于空隙距离=DIMASZ*L,即DIMASZ=DIMASZ*L,所以,L=1,因此,我们需要绘制的直线长度为1。在这里,我们没有考虑该长度为1的直线与我们自定义的箭头块是否存在重叠情况,但从方便与实用的情况考虑,可不去考虑重叠或重叠多少情况。 |