CREO关系式函数说明
1) abs
abs() 为绝对值函数
例如: x=20*(t-0.5)+5*cos(t*540)
y=10*sin(t*540)
z=abs(t-0.5)
总是没办法输出曲线,有谁清楚为什么?
后来发现一个方法也可以实现绝对值即
z=sqrt((t-0.5)^2)
2) acos
acos () 为反余弦
3) asin
asin () 为反正弦
4) atan
atan () 为反正切
5) atan2
atan2 () 为反正切弧度制
6) bound函数
bound(x,first,last)
返回的是大于等于last而小于等于last并且等于或接近x的值。例:
a=bound(3,1,8) 则a=3 因为3在1和8之间,所以a=3
a=bound(8,1,4) 则a=4 因为8>4,所以a=4为最接近结果
a=bound(1,5,12) 则a=5 因为1<5,所以a=5为最接近结果
7) cable_len函数
???
8) ceil
ceil() 为不小于其值的最小整数
9) comparegraphs函数
???
10) cos
cos() 为余弦
11) cosh
cosh() 为双曲线余弦
12) dbl_in_tol
???
13) dead
???
14) eang
???
15) ecoordx
???
16) ecoordy
???
17) edist
???
18) elen
???
19)
evalgraph("图形名称", x) 为图形取值函数
曲线表计算使使用者能用曲线表特征,通过关系来驱动尺寸。尺寸可以是草绘器、零件或组件尺寸。格式如下:
evalgraph("图形名称", x) ,其中graph_name是曲线表的名称,x是沿曲线表x-轴的值,返回y值。 对于混合特征,可以指定轨线参数trajpar作为该函数的第二个自变量。
注释:曲线表特征通常是用于计算x-轴上所定义范围内x值对应的y值。当超出范围时,y值是通过外推的方法来计算的。对于小于初始值的x值,系统通过从初始点延长切线的方法计算外推值。同样,对于大于终点值的x值,系统通过将切线从终点往外延伸计算外推值。
例如:
sd1= evalgraph("1",trajpar*100)
说明:从图形“1”中0~100取值
20) exists
exists() 测试项目存在与否
用法:exists(Item) Item可以是参数或尺寸.
例:
If exists(d5) 检查零件内是否有d5尺寸.
If exists("material") 检查零件内是否有material参数.
21) exp
exp() e的幂
22) extract
extract() 提取字符串
用法:extract(string,position,length)
| | |
原字符串 提取位 提取字符数
string可以是一个对应的参数。
例: new=extract("abcded",2,3)==>new="bcd".
其含义是: 从"abcdef"串的第2个字符(b)开始取出3个字符.
如图:
又例:
下例演示在PROE关系由标准文件名(b321-2der-123)分离出项目号,零件号及零件名:
FileName=rel_modle_name() /* 获得文件名=>FileName 得:b321-2der-123
StrLen=string_length(FileName) /* 计算文件名长度=>StrLen 得:13
Project_No=extract(FileName,1,4) /* 提取第1~4个字符=>Project_No 得:b321
Part_No=extract(FileName,6,4) /* 提取第6~9个字符=>Part_No 得:2der
Part_Name=extract(FileName,11,StrLen-10) /*提取第10以后的字符=>Part_Name 得:123
rel_model_name() 为模型文件名参数,注意括号内为空
23) false
???
24) 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函数,其举例如下:
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
25) if
if XXX
XXX
endif
为条件语句
26) itos
itos()将整数转换为字符串的函数
注意:入需要使用“°”,请从工程图的文本符号中复制出来使用。不然输入法的会出问题
27) ln
ln() 自然对数
28) log
log() 以10为底的对数
29) lookup_inst
lookup_inst() 从族表中搜索符合条件的实例并返回实例名
格式:lookup_inst("普通模型名",匹配方式,"参数1",匹配值1,"参数2",匹配值2, ...)
“匹配方式”有一下3种:
-1 ,查找实例对应的参数值小于或等于所给定的匹配值的是最接近族表实例
0 ,查找实例对应的参数值精确等于所给定的匹配值的族表实例
1 ,查找实例对应的参数值大于或等于所给定的匹配值的是最接近族表实例
30) massprop_paran
???
31) material_paran
???
32) max
max() 为求最大数
33) min
min() 为求最小数
34) mod
mod() 循环图形控制,例如:
sd3=evalgraph("1",mod(trajpar*100,5))
图形“1”:注意图形中为一段圆弧或将其他转换为样条线
100/5为重复次数
生成图形:
35) mp_assigned_mass ???
36) mp_cg_x
mp_cg_x("path") 用于确定模型重心X坐标值
37) mp_cg_y
mp_cg_y("path") 用于确定模型重心Y坐标值
38) mp_cg_z
mp_cg_z("path") 用于确定模型重心Z坐标值
39) mp_mass
mp_mass("path") 用于确定模型质量
40) mp_surf_area
mp_surf_area("path") 用于确定曲面面积
41) mp_volume
mp_volume("path") 用于确定模型体积
42) near
???
43) no
???
44) pi
圆周率
45) pow
pow() 指数。
设A=pow(10,2),则A=100
46) rel_model_name
rel_model_name() 为返回模型名称函数
用法:rel_model_name() 括号内为空则返回当前模型的名称
例: 当前模型为part1,则
partName=rel_model_name()==>partName="part1"
如在装配图中,则需加上进程号(session Id),例如
partName=rel_model_name:2()
47) rel_model_type
rel_model_type() 为返回模型类型函数
48) search
search() 查找字符串,返回位置值
用法:search(string,substring).
string:原字符串