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的圆柱间的顺接。或许很多人都能想到用轨迹参数来控制长轴的变化以使得在和圆柱的接合点处值变为20,为此就会加入下面的关系: 但是结果出来后你就会发现虽然在结合的地方形状是对了,但是却不能实现顺接,如下图所示 :这是为什么呢?这是因为你的截面的变化是线性的也就是说如果把trajpar作为一个变量来看待,那么截面在连接点的导数值就为-10,而圆柱的导数则为0所以导数不连续不能实现相切. 我们只需把上面的关系改为:Sd4=20-10*sin(trajpar*90) 就可,至于原因我想你已经不难想到了.
上一页 [1] [2] [3] [4] [5] [6] 下一页