可变截面扫描-指令详细解说不管版本如何变更,可变扫出始终是我比较偏爱的造型指令。
这是因为可变扫出除了可以得到相对规则的曲面外,它丰富的控制属性和可以预见的结果形状让它更能在适当的场合发挥作用。
可变扫出的控制主要有下面的几项:轨迹,截面的定向和截面的形状1.轨迹在可变扫出中有两类轨迹,有且只有一条称之为原始轨迹(Origin)也就是你第一条选择的轨迹。
原始轨迹必须是一条相切的曲线链(对于轨迹则没有这个要求)。
除了原始轨迹外,其它的都是轨迹,一个可变扫出指令可以有多条轨迹。
在wildfire以后的版本中,原始轨迹和轨迹的功能性差异除了这点外可以说没有任何差异了;截面的定向依赖于两个方向的确定:Z方向和X方向。
注意看上面的图片你会发现在每条轨迹后面都有三个可选项分别用X,N和T作标题,它们分别代表的是X向量,Normal(垂直方向也就是Z方向)以及T angency切向参考,在对应的方框内打勾就表明采用该选项;显然对于可变扫出只能有一个X向量和一个Z方向,所以你选择了某个轨迹后会自动曲线其它轨迹中对应的选择;对于切向参考,因为一条轨迹很可能是两面链的交线,所以有两个框来供你选择不同的面链。
当然你也可以手工选择作为切向参考的面链。
在下面的Section Plane Control下拉框中,你可以选择你的截面的定向方法,缺省是Norma To Trajectory是由轨迹来确定截面的定向,但是你也可以用其它两个选项来确定:最下面就是水平竖直方向的确定,这可以在Horzontal/Vertical Control下拉框中进行选择。
下面就来具体看一下各种组合的截面定向方法的表现形式:2.切向参考(Tangency)很多人都知道用切向参考可以实现扫出面和已有的面实现相切连接,但如果仅是局限于定义面相切的话那就是人为的把这个选项的作用局限在一个点上了,事实上利用这个选项你可以把你的扫出面定以成和参考面成任何角度关系(当然也包括相切的0度关系)。
设定这个选项只是告知系统你需要一条关于参考曲面的切线参考,至于用来定义成什么关系则完全是你的事了。
因为参考切线实际上就是已有曲面在截面处的切线,所以当我们在截面中定义截面的图元和参考线相切时那么该图元扫出形成的面自然就是参考曲面相切了。
下面就是对同一条曲面边轨迹不使用切线参考和使用切线参考的情况。
可以注意到在使用切线参考的情况下进入草绘环境后会自动生成一条曲面的切线。
下图中假设我们截面为一在切线参考上的直线段,那么扫出的面就是一个和参考面相切面额带面,如右下图的效果。
但是如果刻意标准直线段和参考线成一角度如30度,那么扫出的带面在公共边的任一垂直截面上两个面的交线都是30度(或说是150度)。
如右下图所示:3.在可变扫出的Options(选项)中还有几个选项:Variable Section和Constant Section分别控制在扫出过程中截面的形状变化,分别表示可变和恒定,我们在下面会用图来说明则两者的区别。
Merge ends用于在截面是封闭的时候可以生成端部封闭的封闭的曲面Sketch Placement Point用来确定草绘平面的位置。
下面的两个图分别说明Variable Section(可变截面)和Constant Section(恒定截面)所产生的不同效果。
使用Variable Section选项则表明在扫出过程中截面严格按照在草绘中的约束和尺寸来生成扫出过程的截面形状,所以截面形状是可变的,不变的是截面的约束和尺寸,下例中草绘的截面是使用拉伸圆柱的边界而得到的圆,那么在扫出的过程中因为草绘平面的定位改变使用边界得到的就有可能是椭圆(因为“使用边界“这个约束维持不变),所以就会得到如右下图的形状。
而如果使用constant Section选项,那么扫出过程中系统就会维持原来的截面形状不改变(本例中是正圆)。
如左下图所示。
我们再看一个例子,如下图的可变扫出有两条轨迹,截面圆经过两条轨迹。
从下面的两个图中就可以很明显看到两个选项的不同之处。
可以说constant Section选项的可变扫出已经不再是可变扫出了,它的截面形状在扫出过程中并不发生变化。
4.轨迹参数trajpar要灵活使用可变扫出,自然不可不理解轨迹参数trajpar。
轨迹参数实际就是扫出过程中当前位置对应的原始轨迹位置相对整个原始轨迹的比例值,其值为0到1之间,它也是可变扫出特征特有的一个参数。
在草绘截面时可以把这个参数作为已知参数来编写关系以控制截面的形状。
如下图,假设pnt0在曲线中的位置比例为0.3,那么在可变扫出的过程中在这点处的轨迹参数值就是0.3(或0.7)。
假设我们在截面中添加的关系为sd3=trajpar*50,那么在这点sd3就是0.3*50=15 。
推而广之,那么在整个扫出过程中截面的sd3值就上从0到50发生线性变化,所以形状就类似下图所示:利用这个参数和不同数学函数的组合就可以生成各种规则的变化。
而很多花哨的变化其实就是一些简单的变化的累加。
a) 大小渐变:尺寸实现从某个值渐变到另一个值(变大或变小),常用有两个关系(当然你用任何关系都可以),线性变化和正弦变化:线性:sd#=V0+Vs*trajpar正弦:sd#=V0+Vs*sin(trajpar*90)其中:V0是初始值,Vs是变化幅度它决定变化的速度和终了值(V0+Vs),Vs为正值则增大,为负值则为减小。
如果要实现先小再大最后再变小的峰状变化,你可以用Sd#=V0+Vs*abs(trajpar-0.5)或sd#=V0+Vs*sin(trajpar*180)等,如下面两图所示:b) 螺旋变化:螺旋变化其实就是线性变化和圆周变化的累加。
原始轨迹的自动变化就是线性变化,截面的变化只需加上角度的圆周变化就可以完成螺旋变化,一般的关系形式如下:Sd#=trajpar*360*n其中Sd#是变化角度尺寸,trajpar是轨迹参数,n是需要的螺旋圈数。
扫除的结果如下,效果类似沿轨迹的的螺旋效果:c) 周期变化一般来说都是用正弦(sin)或余弦(cos)来实现截面的周期变化,基本的关系表现形式如下:Sd#=Vs*sin(trajpr*360*n)+V0其中V0是基准值,Vs是幅度值(变化幅度),n是周期数。
如下图,原始轨迹为直线,截面为正圆,关系如下这个关系表明在扫出的过程中圆的直径sd4的值以20为基准,10为幅度在扫出过程中作4个周期的变化。
所以不难想象结果如下所示:最小的直径为10,最大的直径为30,总共发生四个周期的变化。
而如果把原始轨迹换成为圆周的,那么就实现了圆周和周期变化的叠加,得到结果如下:同样的道理你可以实现和螺旋以及其它任何形状的叠加。
你会发现很多貌似复制的花哨形状其实是很简单的。
d) 椭圆和圆之间的过度变化而在实际情况中,更多的是遇见的椭圆和圆之间的过度变化,这个时候你要善于应用椭圆和conic线,要注意的是长短轴相等的椭圆就是正圆,而rho值为sqrt(2)-1的conic线就是正椭圆弧。
而当轨迹相切的时候要实现形状的连接相切时要保证截面形状在端点处的导数连续。
下面举例说明;如下图,我们要实现长轴为40短轴为20的椭圆到直径20的圆柱间的顺接。
或许很多人都能想到用轨迹参数来控制长轴的变化以使得在和圆柱的接合点处值变为2 0,为此就会加入下面的关系:但是结果出来后你就会发现虽然在结合的地方形状是对了,但是却不能实现顺接,如下图所示:这是为什么呢?这是因为你的截面的变化是线性的也就是说如果把trajpar作为一个变量来看待,那么截面在连接点的导数值就为-10,而圆柱的导数则为0所以导数不连续不能实现相切.我们只需把上面的关系改为:Sd4=20-10*sin(trajpar*90) 就可,至于原因我想你已经不难想到了5.轨迹参数与计算函数evalgraph结合使用轨迹参数通常还和计算函数evalgraph来结合使用,也正是因为它们结合的频繁度所以给很多人造成一个错觉,那就是evalgraph本就是专给可变扫出而使用的,其实不然,evalgraph只是proe提供的一个用于计算图表graph中的横坐标对应纵坐标的值的一个函数,你可以用在任何场合而非只是可变扫出。
如图,假设我们有一条名字为“graph“的图表graph,我们要计算它在横坐标x处对应的值,那么就可以用evalgraph(“graph”,x)来获得,函数返回的就是这条graph在x处的纵坐标值。
利用这个函数结果轨迹参数我们就可以实现通过graph图表来控制截面的目的。
首先我们创建一个graph,名字是”sec”。
它的形状和值如下:然后用直线作为轨迹正圆作为截面创建可变扫出,并添加关系如下。
这样我们就把截面中sd3的值和图表sec建立起了一一对应关系,注意到我们在graph中的横坐标的值最大为100,而我们的trajpar的变化范围是0到1,所以需要把轨迹参数放大100倍才能建立一一对应关系。
可以看出截面的变化和graph的变化是一致的,这就是两者结合使用的奥妙所在。
使用可变扫出,如果你在生成几何前不能想像出它的大概形状的话可以说你并没有真正理解可变扫出。
使用可变扫出你一定要完完全全明白:你的截面垂直谁?x方向通过谁?尺寸和约束变化如何引起截面的变化?前两项我们在前面我们讨论了,下面我们来详细讨论最后一项:a)约束对截面形状的影响可变扫出在进入草绘环境的时候会缺省生成在原始轨迹交点处的水平和竖直的参考线,并且生成每条轨迹在草绘平面的交点参考。
在草绘中一旦几何建立和则这些参考的尺寸或约束关系也就是建立了截面和对应的轨迹的约束关系。
同样的道理,如果你想截面和轨迹建立起约束关系你在草绘中就必须显式的进行定义,比如你想在扫出过程中某个几何的端点在轨迹上的话你就要在草绘中添加一个点对齐的约束把几何端点显式的对齐到轨迹的参考点上。
当你的可变扫出形状并没有跟着轨迹走的话不妨看看约束条件是否错了。
b) 尺寸标注对截面形状的影响我们先来看一下不同的标注形式对扫出形状的影响。
因为可变扫出只需要用户提供一个草绘截面,所以对于同一形状的截面或许就有不同的标注方法。
但是不同的标注方法就有可能带来不同的形状,哪一种才是你想要的呢?这就要根据你的设计意图来定了。
要预先知道我们将要扫出的形状如何,我们一定要紧记可变扫出过程中系统维持的是截面的尺寸标注和约束而并不一定是形状(当然设了恒定截面的除外)所以我们在创建截面的时候一定要注意约束和尺寸。
如下图假设我们用过两个轨迹的交点的圆弧来扫出,并且标注圆弧半径。
这样就相当于我们告诉系统要在扫出的过程中维持这个R30不变并且两个端点在上下两条轨迹上。
因为轨迹是渐开的不难想像我们的圆弧“高度“会不断升高。