QQ登录

只需一步,快速开始

快捷登录

登录 或者 注册 请先

UG爱好者

查看: 10771|回复: 54
打印 上一主题 下一主题

[分享] pro/e 关系式、函数、方程

[复制链接]

上尉

3D世界网创始人

Rank: 6Rank: 6

544

主题

3097

帖子

5880

积分
跳转到指定楼层
楼主
发表于 2010-6-28 09:05:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
关系中使用的函数:
数学函数
下列运算符可用于关系(包括等式和条件语句 )中。  
关系中也可以包括下列数学函数:  
cos () 余弦  
tan () 正切  
sin () 正弦  
sqrt () 平方根  
asin () 反正弦  
acos () 反余弦  
atan () 反正切  
sinh () 双曲线正弦  
cosh () 双曲线余弦  
tanh () 双曲线正切  
注释:所有三角函数都使用单位度。  
log() 以10为底的对数  
ln() 自然对数  
exp() e 的幂  
abs() 绝对值  
ceil() 不小于其值的最小整数  
floor() 不超过其值的最大整数  
可以给函数ceil和floor加一个可选的自变量, 用它指定要圆整的小数位数。  
带有圆整参数的这些函数的语法是:  
ceil(parameter_name 或number, number_of_dec_places)   
floor (parameter_name 或 number, number_of_dec_places)  
其中number_of_dec_places 是可选值:  
·可以被表示为一个数或一个使用者自定义参数。 如果该参数值是一个实数,
则被截尾成为一个整数。  
·它的最大值是8。如果超过 8,则不会舍入要舍入的数(第一个自变量) ,
并使用其初值。  
·如果不指定它,则功能同前期版本一样。  
使用不指定小数部分位数的 ceil和 floor函数,其举例如下:  
ceil (10.2) 值为11  
floor (10.2) 值为 11  
使用指定小数部分位数的ceil 和floor 函数,其举例如下:

有奖推广贴子: 

回复

使用道具 举报

上尉

3D世界网创始人

Rank: 6Rank: 6

544

主题

3097

帖子

5880

积分
沙发
 楼主| 发表于 2010-6-28 09:06:07 | 只看该作者
ceil (10.255, 2) 等于10.26  
ceil (10.255, 0) 等于11 [ 与ceil (10.255)相同 ]  
floor (10.255, 1) 等于10.2  
floor (10.255, 2) 等于10.26  
曲线表计算  
曲线表计算使使用者能用曲线表特征,通过关系来驱动尺寸。尺寸可以是
草绘器、零件或组件尺寸。格式如下:  
evalgraph("graph_name", x) ,其中graph_name 是曲线表的名称,x 是沿
曲线表x-轴的值,返回 y值。  
对于混合特征,可以指定轨线参数trajpar作为该函数的第二个自变量。  
注释:曲线表特征通常是用于计算 x-轴上所定义范围内 x 值对应的 y 值。
当超出范围时,y 值是通过外推的方法来计算的。对于小于初始值的 x值,
系统通过从初始点延长切线的方法计算外推值。同样,对于大于终点值的 x
值,系统通过将切线从终点往外延伸计算外推值。  
复合曲线轨道函数  
在关系中可以使用复合曲线的轨道参数trajpar_of_pnt。  
下列函数返回一个 0.0和 1.0之间的值:  
trajpar_of_pnt("trajname", "pointname")   
其中trajname是复合曲线名,pointname是基准点名。  
轨线是一个沿复合曲线的参数,在它上面垂直于曲线切线的平面通过基准
点。因此,基准点不必位于曲线上;在曲线上距基准点最近的点上计算该
参数值。  
如果复合曲线被用作多轨道扫瞄的骨架, 则trajpar_of_pnt 与trajpar 或1.0
- trajpar 一致(取决于为混合特征选择的起点) 。  
关于关系  
关系(也被称为参数关系)是使用者自定义的符号尺寸和参数之间的等式。
关系捕获特征之间、参数之间或组件组件之间的设计关系,因此,允许使
用者来控制对模型修改的影响作用。  
关系是捕获设计知识和意图的一种方式。和参数一样,它们用于驱动模型
- 改变关系也就改变了模型。  
关系可用于控制模型修改的影响作用、定义零件和组件中的尺寸值、为设
计条件担当约束(例如,指定与零件的边相关的孔的位置) 。  
它们用在设计过程中来描述模型或组件的不同部分之间的关系。关系可以
是简单值(例如,d1=4)或复杂的条件分支语句。  
关系类型  
有两种类型的关系:  
·等式 - 使等式左边的一个参数等于右边的表达式。 这种关系用于给尺寸和
回复 支持 反对

使用道具 举报

上尉

3D世界网创始人

Rank: 6Rank: 6

544

主题

3097

帖子

5880

积分
板凳
 楼主| 发表于 2010-6-28 09:08:14 | 只看该作者
参数赋值。例如:  
简单的赋值:d1 = 4.75   
复杂的赋值:d5 = d2*(SQRT(d7/3.0+d4))   
·比较 - 比较左边的表达式和右边的表达式。 这种关系通常用于作为一个约
束或用于逻辑分支的条件语句中。例如:  
作为约束:(d1 + d2) > (d3 + 2.5)   
在条件语句中;IF (d1 + 2.5) >= d7   
增加关系  
可以把关系增加到:  
·特征的截面(在草绘模式中,如果最初通过选择“草绘器”>“关系”>“增加”
来创建截面) 。  
·特征(在零件或组件模式下) 。  
·零件(在零件或组件模式下) 。  
·组件(在组件模式下) 。  
当第一次选择关系菜单时,预设为查看或改变当前模型(例如,零件模式
下的一个零件)中的关系。  
要获得对关系的访问,从“部件”或“组件”菜单中选择“关系”,然后从“模型关
系”菜单中选择下列命令之一:  
·组件关系 - 使用组件中的关系。如果组件包含一个或多个子组件,“组件
关系”菜单出现并带有下列命令:  
─当前 - 缺省时是顶层组件。  
─名称 - 键入组件名。  
·骨架关系 - 使用组件中骨架模型的关系(只对组件适用) 。  
·零件关系 - 使用零件中的关系。  
·特征关系 - 使用特征特有的关系。如果特征有一个截面,那么使用者就可
选择:获得对截面(草绘器)中截面(草绘器)中关系的访问,或者获得
对作为一个整体的特征中的关系的访问。  
·数组关系 - 使用数组所特有的关系。  
注释:  
─如果试图将截面之外的关系指派给已经由截面关系驱动的参数,则系统
再生模型时给出错误信息。试图将关系指派给已经由截面之外关系驱动的
参数时也同样。删除关系之一并重新生成。  
─如果组件试图给已经由零件或子组件关系驱动的尺寸变量指派值时,出
现两个错误信息。删除关系之一并重新生成。  
─修改模型的单位可使关系无效,因为它们没有随该模型缩放。有关修改
单位的详细信息,请参阅“关于公制和非公制度量单位”帮助主题。  
关系中使用参数符号      
在关系中使用四种类型的参数符号:  
·尺寸符号 - 支持下列尺寸符号类型:  
─d# - 零件或组件模式下的尺寸。  
─d#:# - 组件模式下的尺寸。组件或组件的进程标识添加为后缀。  
─rd# - 零件或顶层组件中的参考尺寸。  
─rd#:# - 组件模式中的参考尺寸(组件或组件的进程标识添加为后缀) 。  
─rsd# - 草绘器中(截面)的参考尺寸。  
─kd# - 在草绘(截面)中的已知尺寸(在父零件或组件中) 。  
·公差 - 这些是与公差格式相关连的参数。 当尺寸由数字的转向符号的时侯
出项这些符号。  
─tpm# - 加减对称格式中的公差;#是尺寸数。  
─tp# - 加减格式中的正公差;#是尺寸数。  
─tm# - 加减格式中的负公差;#是尺寸数。  
·实例数 - 这些是整数参数,是数组方向上的实例个数。  
─p# - 其中#是实例的个数。  
注释:如果将实例数改变为一个非整数值,Pro/ENGINEER 将截去其小数部
分。例如,2.90 将变为2。  
·使用者参数 - 这些可以是由增加参数或关系所定义的参数。  
例如:  
Volume = d0*d1*d2   
Vendor = "Stockton Corp."   
注释:  
─使用者参数名必须以字母开头(如果它们要用于关系的话) 。  
─不能使用 d#、kd#、rd#、tm#、tp#、或 tpm#作为使用者参数名,因
为它们是由尺寸保留使用的。  
─使用者参数名不能包含非字母数字字符,诸如!、@、#、$。  
下列参数是由系统保留使用的:  
PI(几何常数)  
值 = 3.14159  
(不能改变该值。)  
G(引力常数)  
缺省值 = 9.8米/秒2  
(C1、C2、C3 和C4是缺省值,分别等于 1.0、2.0、3.0和4.0。)  
可以使用“关系”菜单中的“增加”命令改变这些系统参数的值。这些改变的值
应用于当前工作区的所有模型。
     
常用曲线方程:
1.正弦曲线--------------笛卡尔坐标系  
x=50*t  
y=10*sin(t*360)  
z=0  
2. 螺旋线(Helical curve)--------圆柱坐标(cylindrical)  
r=t  
theta=10+t*(20*360)  
z=t*3  
3. 蝴蝶曲线 ------------------球坐标  
rho = 8 * t   
theta = 360 * t * 4   
phi = -360 * t * 8   
4.Rhodonea  曲线 -----------采用笛卡尔坐标系  
theta=t*360*4  
x=25+(10-6)*cos(theta)+10*cos((10/6-1)*theta)  
y=25+(10-6)*sin(theta)-6*sin((10/6-1)*theta)  
5.圆内螺旋线 -----------------采用柱座标系  
theta=t*360  
r=10+10*sin(6*theta)  
z=2*sin(6*theta)      

5. 渐开线的方程  
r=1  
ang=360*t  
s=2*pi*r*t  
x0=s*cos(ang)  
y0=s*sin(ang)  
x=x0+s*sin(ang)  
y=y0-s*cos(ang)  
z=0  
6. 对数曲线  
z=0  
x = 10*t   
y = log(10*t+0.0001)   
7. 球面螺旋线--------------采用球坐标系  
rho=4  
theta=t*180  
phi=t*360*20  
8.双弧外摆线-------------卡迪尔坐标  
l=2.5  
b=2.5  
x=3*b*cos(t*360)+l*cos(3*t*360)  
Y=3*b*sin(t*360)+l*sin(3*t*360)      
9.星行线 ------------------------卡迪尔坐标  
a=5  
x=a*(cos(t*360))^3  
y=a*(sin(t*360))^3 没有分加吗?  
10.心臟線----------------------------圓柱坐標  
a=10  
r=a*(1+cos(theta))  
theta=t*360  
11.葉形線----------------------------笛卡儿坐標  
a=10  
x=3*a*t/(1+(t^3))  
y=3*a*(t^2)/(1+(t^3))  
12. 抛物线  
x =(4 * t)   
y =(3 * t) + (5 * t ^2)   
z =0   
13. 碟形弹簧-----------------圓柱坐标  
r = 5   
theta = t*3600   
z =(sin(3.5*theta-90))+24   
异形弹簧:  
1. 蝴蝶曲线 --------------球坐标      
rho = 8 * t   
theta = 360 * t * 4   
phi = -360 * t * 8   
2.碟形弹簧----------------圓柱坐标  
r = 5   
theta = t*3600   
z =(sin(3.5*theta-90))+24
圆柱齿轮齿廓的渐开线方程
1.卡笛尔坐标下的渐开线参数方程
卡笛尔坐标系下的渐开线参数方程如下(设压力角 afa  由0 到60 度,基圆
半径为 10) :
        afa=60*t
        x=10*cos(afa)+pi*10*afa/180*sin(afa)
        y=10*sin(afa)-pi*10*afa/180*cos(afa)
        z=0
2.圆柱坐标下的渐开线参数方程
圆柱坐标系下的渐开线参数方程如下(设基圆半径为 10,压力角 afa  从 0
到60 度) :
        afa=60*t
        r=(10^2+(pi*10*afa/180)^2)^0.5
        theta=afa-atan((pi*10*afa/180)/10)
        z=0
回复 支持 反对

使用道具 举报

列兵

Rank: 1

6

主题

56

帖子

11

积分
地板
发表于 2010-6-29 15:34:47 | 只看该作者
本帖最后由 wvfsy 于 2010-6-29 15:37 编辑

一个单位统一制定模板时,在工程图中要列出零件质量,三维中有系统报告质量参数:pro_mp_mass
但是设计时有的零件很大,有的零件很小,但考虑数据唯一性原则,三维模板质量参数要进行一定处理。

以下我写的应用实例是:
三维模板采用kg作为质量单位。
1、当零件质量小于0.000001kg时,直接忽略不计。
2、当零件质量小于0.001kg时,用补零方法处理。
3、当小于1kg时,以“克”来表达,放大1000倍。上同。
4、当大于1kg时,不处理。

if PRO_MP_MASS < 0.000001
单件质量 = "0 g"
else
if PRO_MP_MASS < 0.001
单件质量 = "0."+extract("00"+itos(PRO_MP_MASS*1000000),string_length(itos(floor(PRO_MP_MASS*1000000))),3) +" g"
else
if PRO_MP_MASS < 1
单件质量 = itos(floor(PRO_MP_MASS*1000)) + "." + extract(itos(PRO_MP_MASS*1000000),string_length(itos(floor(PRO_MP_MASS*1000)))+1,3) +" g"
else
if PRO_MP_MASS >= 1
单件质量 = itos(floor(PRO_MP_MASS)) + "." + extract(itos(PRO_MP_MASS*1000),string_length(itos(floor(PRO_MP_MASS)))+1,3) +" kg"
endif
endif
endif
endif


感兴趣的看看,由于处理数据的函数少,这个是最为精简的编程了算是。。。
回复 支持 反对

使用道具 举报

列兵

Rank: 1

0

主题

39

帖子

9

积分
5#
发表于 2010-7-18 10:53:42 | 只看该作者
这东西一直没搞懂不会呀
回复 支持 反对

使用道具 举报

列兵

Rank: 1

0

主题

39

帖子

9

积分
6#
发表于 2010-7-18 10:54:42 | 只看该作者
直接把这个关系式输进去可以吗
回复 支持 反对

使用道具 举报

列兵

Rank: 1

0

主题

14

帖子

6

积分
7#
发表于 2010-8-25 01:11:56 | 只看该作者
哈哈,好怕怕~~我每次看帖必回的~~藏了
回复 支持 反对

使用道具 举报

上等兵

Rank: 1

0

主题

24

帖子

61

积分
8#
发表于 2010-8-25 03:35:14 | 只看该作者
好久没去关注了,今天再去看看,谢谢了!
回复 支持 反对

使用道具 举报

列兵

Rank: 1

0

主题

34

帖子

2

积分
9#
发表于 2010-8-25 09:56:23 | 只看该作者
顶你一下,好贴要顶!
回复 支持 反对

使用道具 举报

列兵

Rank: 1

0

主题

79

帖子

4

积分
10#
发表于 2010-8-25 22:46:20 | 只看该作者
阿额~~~这些人都疯特勒~~~~~这地方也卧虎藏龙了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

 
 
QQ:1359218528
工作时间:
9:00-17:00
 
微信公众号
手机APP
机械社区
微信小程序

手机版|UG爱好者论坛 ( 京ICP备10217105号-2 )    论坛管理员QQ:1359218528

本站信息均由会员发表,不代表本网站立场,如侵犯了您的权利请联系管理员,邮箱:1359218528@qq.com  

Powered by UG爱好者 X3.2  © 2001-2014 Comsenz Inc. GMT+8, 2024-11-12 00:23

返回顶部