proe教程-图形(Graph)在可变扫描中的循环利用和应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
概述】:
教程详细介绍了在Pro/Engineer野火4中重复利用图形循环的方法,对于理解可变扫描和图形的结合非常有帮助
【概述】
本教程详细讲解了如何在Pro/Engineer的野火4(WildFire4.0)版本中的可变扫描指令中循环利用已有的图形(Graph)以实现更一般化的周期性形状变化过程;并在这个过程中了解要循环利用图形(Graph)的一些需要注意的地方。
这个概念首先是由christ000版主提出,下面的教程上进行完善和补充以方便大家更好的理解。
利用可变扫描的轨迹参数,我们可以通过使用关系的方式实现整个过程中的周期性变化,但是这种周期性变化首先于我们的函数所表达的形状,比如正弦变化,但对于更一般性的形状就显得勉为其难了。我们下面的教程就通过演示如何结合图形以实现这些更一般化形状的周期变化。
mod()函数
在进行讲解前,我们需要先了解一个将在这个过程扮演重要角色的函数:mod()。mod()函数是Pro/Engineer 中用于数学求余的函数,下面就是一些求余的结果:
mod(10,3)=1
mod(10.5,3)=1.5
mod(10.5,3.1)=1.2
…
因为我们要实现循环利用图形,那么在我们的可变扫描过程中,我们必须有方法在某个值后归零然后重新计算图形对应的值,很显然mod()函数是非常恰当的实现方式。有关图形循环利用的概念,christ000版主提出这个方法时他实现的方法是用floor函数来进行计算余数,其实两者方式结果都是一样的,不过mod ()函数的方式更直观和直接。假设我们的图形X宽度为10,而我们要在可变扫描过程中循环利用5次的话,那么我们就可以使用mod()函数来进行如下的关系编写:
sd#=evalgraph(“graph”,mod(50*trajpar,10))或
sd#=evalgraph(“graph”,50*trajpar-floor(5*trajpar)*10)
很显然第一种方式更为直观容易理解,我们简单说明一下它的意义,在我们的整个可变扫描过程中,trajpar 是从0到1变化,所有50*trajpar的变化就是0到50,mod(50*trajpar,10)的意思就是这0到50的变化要对10进行求余,换句话说,当变化到10的倍数的时候我们的mod()函数值就会归0,从而实现图形的循环利用,floor()函数的基本方式也是一样。
==更多精彩,源自无维网()
下面我就来看一个简单的例子,我们首先创建一个宽为10的图形(graph)名叫loop,图形由一段圆弧组成。可变扫描的轨迹是一个椭圆,我们要在椭圆上实现10个周期的变化
关键的表达式就是:sd3=evalgraph(“loop”,mod(trajpar*100,10)),相信大家如果仔细看了上面的说明,应该对这个关系的理解不是问题,得到的效果如下。
通过上面的例子,大家多如何循环利用图形(graph)应该也了解的差不多了,但如果就这样贸贸然然自己去尝试,很有可能你就会碰壁,因为这个应用对于图形还有一个陷阱所在,而这个陷阱甚至从道理上来讲是完全不通的。我们重定义一下”loop”这个图形,只是简单的把圆弧打断成两段然后退出,你就会发现后面的可变扫描特征就会失败了。至于原因,就是因为我们的图形有两段图元组成,而为什么两段图元的图形就不能循环利用,这个原因恐怕大家只能问PTC了。
所以,通过上面的例子,我们可以看到要循环利用的图形必须要符合以下两点:
1.图形的起点和终点高度必须一致,因为这样才能保证图形归零是能和上一个周期连接上
2.图形的最后输出的几何必须是单一段。
==更多精彩,源自无维网()
我们明白了上面的限制,可能有的用户又会产生疑惑了,既然图形有这样的限制,那不是对我们这个方法的应用带来很大的限制?特别是第二点,其实对于多段相切图元组合成的形状,我们可以采用转换成样条线的方式来转化成单一段几何,这样就可以大大放宽了第二点的限制,下面我们就用另外一个例子来说明这个方法的运用。
这一次我们要创建一条圆弧轨迹的可变扫描手柄,图形名称依然是“loop”,不过它的构成有两段圆弧和一段水平线组成,我们知道如果直接是这样的几何构成,我们的扫描将会失败,所以,我们在图形里把这三段几何转换成了单一的样条线,最终成功循环利用了这个图形并扫描出我们期望的形状。
运用同样的处理技巧,我们可以实现塑胶椅子靠背后的编织纹。