找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8489|回复: 14

[分享] 图形(Graph)在可变扫描中的循环利用和应用

[复制链接]
发表于 2009-10-21 20:51 | 显示全部楼层 |阅读模式
图形(Graph)在可变扫描中的循环利用和应用【概述】
本教程详细讲解了如何在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()函数的基本方式也是一样。
女人之美,在于蠢得无怨无悔;男人之美,在于说谎说得白日见鬼。
 楼主| 发表于 2009-10-21 20:52 | 显示全部楼层
下面我就来看一个简单的例子,我们首先创建一个宽为10的图形(graph)名叫loop,图形由一段圆弧组成。可变扫描的轨迹是一个椭圆,我们要在椭圆上实现10个周期的变化
女人之美,在于蠢得无怨无悔;男人之美,在于说谎说得白日见鬼。
回复

使用道具 举报

 楼主| 发表于 2009-10-21 20:54 | 显示全部楼层

11 :lol
1.png
回复

使用道具 举报

 楼主| 发表于 2009-10-21 20:55 | 显示全部楼层

士大夫

关键的表达式就是:sd3=evalgraph(“loop”,mod(trajpar*100,10)),相信大家如果仔细看了上面的说明,应该对这个关系的理解不是问题,得到的效果如下。
2.png
女人之美,在于蠢得无怨无悔;男人之美,在于说谎说得白日见鬼。
回复

使用道具 举报

 楼主| 发表于 2009-10-21 20:56 | 显示全部楼层

通过上面的例子,大家多如何循环利用图形(graph)应该也了解的差不多了,但如果就这样贸贸然然自己去尝试,很有可能你就会碰壁,因为这个应用对于图形还有一个陷阱所在,而这个陷阱甚至从道理上来讲是完全不通的。我们重定义一下”loop”这个图形,只是简单的把圆弧打断成两段然后退出,你就会发现后面的可变扫描特征就会失败了。至于原因,就是因为我们的图形有两段图元组成,而为什么两段图元的图形就不能循环利用,这个原因恐怕大家只能问PTC了。
33.png
女人之美,在于蠢得无怨无悔;男人之美,在于说谎说得白日见鬼。
回复

使用道具 举报

 楼主| 发表于 2009-10-21 20:57 | 显示全部楼层

所以,通过上面的例子,我们可以看到要循环利用的图形必须要符合以下两点:
1.图形的起点和终点高度必须一致,因为这样才能保证图形归零是能和上一个周期连接上
2.图形的最后输出的几何必须是单一段。

我们明白了上面的限制,可能有的用户又会产生疑惑了,既然图形有这样的限制,那不是对我们这个方法的应用带来很大的限制?特别是第二点,其实对于多段相切图元组合成的形状,我们可以采用转换成样条线的方式来转化成单一段几何,这样就可以大大放宽了第二点的限制,下面我们就用另外一个例子来说明这个方法的运用。


这一次我们要创建一条圆弧轨迹的可变扫描手柄,图形名称依然是“loop”,不过它的构成有两段圆弧和一段水平线组成,我们知道如果直接是这样的几何构成,我们的扫描将会失败,所以,我们在图形里把这三段几何转换成了单一的样条线,最终成功循环利用了这个图形并扫描出我们期望的形状。
女人之美,在于蠢得无怨无悔;男人之美,在于说谎说得白日见鬼。
回复

使用道具 举报

118

主题

3483

回帖

446

威望

教授

积分
5043

热心助人勋章优秀会员勋章希望之星勋章

QQ
发表于 2009-10-21 20:58 | 显示全部楼层
是从其他网站copy过来的吧?
回复

使用道具 举报

85

主题

5459

回帖

1037

威望

VIP(贵宾)

积分
9915

优秀斑竹勋章VIP 勋章热心助人勋章优秀会员勋章斑竹勋章希望之星勋章

发表于 2009-10-21 21:04 | 显示全部楼层
原帖由 chenwenjun13 于 2009-10-21 20:56 发表
通过上面的例子,大家多如何循环利用图形(graph)应该也了解的差不多了,但如果就这样贸贸然然自己去尝试,很有可能你就会碰壁,因为这个应用对于图形还有一个陷阱所在,而这个陷阱甚至从道理上来讲是完全不通的。我 ...


    疑似从“無維网”Copy 而移植过来共享 ?!
       ……无后患乎?
回复

使用道具 举报

 楼主| 发表于 2009-10-21 21:08 | 显示全部楼层

d

怎么来不中要
重要的是有资料大家学
回复

使用道具 举报

26

主题

592

回帖

118

威望

高工

积分
965
发表于 2009-10-21 21:51 | 显示全部楼层

回复 9# chenwenjun13 的帖子

要注意知识产权哦!!
曾经发生过某网站来咱这说产权的事。前车之鉴!
参阅:http://www.proewildfire.cn/thread-29820-1-1.html
http://www.proewildfire.cn/thread-6279-1-1.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站为非营利性站点,部分资源为网友搜集或发布,仅供学习和研究使用,如用于商业用途,请购买正版。站内所发布的资源,如有侵犯你的权益,请发邮件联系我们,本站将立即改正或删除。

手机版|小黑屋|野火论坛(©2007~2024) ( 苏ICP备11036728号-2 )苏公网安备 32039102000103号|站长QQ28016688

GMT+8, 2025-2-2 13:42 , Processed in 0.153740 second(s), 25 queries .

快速回复 返回顶部 返回列表