creo关系式函数说明.docx
《creo关系式函数说明.docx》由会员分享,可在线阅读,更多相关《creo关系式函数说明.docx(13页珍藏版)》请在冰豆网上搜索。
creo关系式函数说明
creo关系式函数说明
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=3a=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可以是参数或尺寸.
例:
Ifexists(d5)检查零件内是否有d5尺寸.
Ifexists("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
ifXXX
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_namerel_model_name()为返回模型名称函数用法:
rel_model_name()括号内为空则返回当前模型的名称
例:
当前模型为part1,则
partName=rel_model_name()==>partName="part1"
如在装配图中,则需加上进程号(sessionId),例如partName=rel_model_name:
2()
47)rel_model_typerel_model_type()为返回模型类型函数
48)search
search()查找字符串,返回位置值
用法:
search(string,substring).
string:
原字符串
substring:
要找的字符串.
查到则返回位置,否则返回0,第一个字符位置值为1,依此类推.例:
Parstr=abcdef.则
Where=search(parstr,"bcd"")==>Where=2.
Where=search(parstr,"bed")==>where=0(没查到).
49)sign
,,
50)sin
sin()为正弦函数
51)sinh
sinh()双曲线正弦
52)sqrt
sqrt()平方根
53)string_ends
字符串结束
54)string_length
string_length()为求字符串的长度
用法:
String_length(Parameternameorstring).
例:
strlen1=string_length("material")则strlen1=8若material="steel",strlen2=string_length(material),则strlen2=5,字符串要用""括起,
空格亦算一个字符.
55)string_match
字符串匹配
56)string_starts
字符串开始
57)tan
tan()正切函数
58)tanh
tanh()双曲线正切
59)
0~1变量
60)trajpar_of_pnt
trajparf_of_pnt()返回指定点在曲线中的位置比例。
用法:
trajpar_of_pnt("curve_name","point_name")
curve_name是曲线的名称
point_name则为点的名字
两个参数都需要用""来括起
函数返回的是点在曲线上的比例值,可能等于trajpar也可能是1-trajpar,视乎曲线的起点如何。
ratio=trajpar_of_pnt("wire","pnt1")
ratio的值等于点pnt1在曲线wire上的比例值。
61)true
62)yes
关于关系
关系(也被称为参数关系)是使用者自定义的符号尺寸和参数之间的等式。
关系捕获特征之间、参数之间或组件组件之间的设计关系,因此,允许使用者来控制对模型修改的影响作用。
关系是捕获设计知识和意图的一种方式。
和参数一样,它们用于驱动模型,改变关系也就改变了模型。
关系可用于控制模型修改的影响作用、定义零件和组件中的尺寸值、为设计条件担当约束(例如,指定与零件的边相关的孔的位置)。
它们用在设计过程中来描述模型或组件的不同部分之间的关系。
关系可以是简单值(例如,d1=4)或复杂的条件分支语句。
关系类型
有两种类型的关系:
等式-使等式左边的一个参数等于右边的表达式。
这种关系用于给尺寸和参数赋值。
例如:
简单的赋值:
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="StocktonCorp."
注释:
使用者参数名必须以字母开头(如果它们要用于关系的话)。
不能使用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。
)可以使用“关系”菜单中的“增加”命令改变这些系统参数。
这些改变的值应用于当前工作区的所有模型
sd4=trajpar*360*100
360表示全圆100表示100个圈子
运算符:
“+”--加
“-”--减
“*”--乘
“/”--除
“>”--大于
“<”--小于
“>=”--大于等于
“<=”--小于等于“!
=”--不等于“!
>”--不大于“!
<”--不小于“=”--等于(赋值)“==”--等于
“&”--与
“|”--或
“!
”--非
“/*”--后面添加注解