Creo关系式建模专题
重点:
- 熟悉关系式的基本概念及参数化建模
- 熟悉关系式中常用的基础函数
- 掌握图形计算函数
evalgraph的用法 - 掌握复合曲线轨道函数
trajpar的用法 - 掌握周期函数
mod(t*trajpar,10)的用法 - 熟悉
evalgraph、trajpar、mod在vss中的应用 - 掌握
if语句的用法 - 掌握字符串函数的用法(
itos、string_length、search、extract)
关系式的基本概念
关系式的基本含义
在creo中,关系式的基本含义是定义符号尺寸和参数之间的数学表达式。
关系式种类
关系式的种类分两种:
- 等式
- 比较
关系式由参数符号和运算符号组成,例如d1=d2*3+3 这就是一种等式关系式
再例如d1>d2 这是一种简单的比较关系式,常用在if语句中
关系式的层次
关系式存在多个层次,也就是可以在这些地方添加关系:
- 草绘
- 特征
- 零件
- 装配
关系式的参数
参数符号有几种:
- 尺寸符号(d、sd)
- 实例数
- 公差
- 系统参数
- 用户参数(字符串、实数、整数、是否)
用户参数的使用场景:
- 无法直接赋值的计算结果
- 重复利用的参数
用户参数注意事项:
- 必须是字母开头
- 不能使用尺寸符号和非字母数字符号
运算符
- 算数运算符:+、-
- 赋值运算符:=
- 比较运算符: <、>、== 、& 、| 、!、!=
基础函数
函数的类型

三角函数基础

三角函数与反三角函数的值域

平方根与开方函数

绝对值

对数

不小于或超过其值的最小或最大整数

两个数的比较与求余

图形计算及复合曲线轨道函数
重点:掌握trajapar和evalgraph的运用
图形命令的运用
在基准选项卡中进入图形命令
基准图形一般配合evalgraph函数使用,图形可以输出横纵坐标的值
图形横纵坐标的值具有唯一性,以下为错误画法
evalgarph()函数
evalgarph()函数是用于计算给定图形中横坐标对应的高度值
具体写法是evalgraph(“graph_name”,x)
其含义为名为graph_name在x处的y值
需要注意的是,超出图形范围的值,系统根据图形得到相应的值,但在不可控范围内,所以不建议超出范围
trajpar函数
trajpar函数的概念及应用
trajpar函数是creo的内部参数,从0到1呈线性变化的一个变量,代表相对于原点轨迹的长度百分比,在扫描的起点,trajpar的值为0,在终点为1
trajpar_of_pnt()函数

evalgraph函数和trajpar函数综合应用在扫描
这里我们通过调整trajpar和evalgraph前面乘以的系数实现了对轨道函数的定义域和值域的调整,使其实现的效果更多样和灵活
周期函数
周期函数mod()
函数写法:mod(t* trajpar,10)
mod实际上是一个求余函数,例如mod(10,3)的值为1,求余函数在加上变量后,其功能就是计算周期,一般写作mod(t* trajpar,10)这样的形式。例如mod(300* trajpar,10)就是30个周期。
周期函数的演算


周期函数与正弦函数的比较与应用
在左图中是引入了evalgraph()函数和mod()函数进行vss,而右图则是直接使用sin()函数和trajpar进行扫描控制。从结果上说,左边因为可以改变图形而是的vss更为灵活
左图扫描关系式:
1 | sd3=2*evalgraph("graph1",mod(20*trajpar,10)) |
右图扫描关系式:
1 | sd3=6+2*sin(trajpar*360*40) |

if语句
if语句的一般形式
if作为条件语句,规定关系式的成立。一般形式如下
1 | if d1>d2 |
if语句的嵌套形式
1 | if d1>100 |
字符串函数
针对字符串有一系列的函数,对字符串进行计算
itos()函数
itos函数的作用是将整数转换为字符串,实数将自动把小数点后的值四舍五入得到整数,然后再转换为字符串
例如itos(256)其值为256,itos(25.68)其值为26,itos(25.44)其值为25
string_length()函数
string_length函数的作用是返回字符串的字符个数
例如字符串参数a1的值为steel,那么string_length(a1)的值就是5
需要注意的是,字符串的单个中文也只占一个数,而不是两个,空格也占一个
search()函数
search函数的作用是搜索子串,查找子串在字符串中的位置
例如search(”打倒佩洛西老巫婆”,”老巫婆”)其值为6
需要注意的是,子串的概念是字符串当中的一个或一段,超过内容值为0
extract()函数
extract函数的作用提取子串
例如extract(“hello,world”,7,5)其值为world,代表从第七个字符开始往后提取长度为5的字符子串
需要注意的是,提取时不要超过字符串长度








