重点:

  • 熟悉关系式的基本概念及参数化建模
  • 熟悉关系式中常用的基础函数
  • 掌握图形计算函数evalgraph的用法
  • 掌握复合曲线轨道函数trajpar的用法
  • 掌握周期函数mod(t*trajpar,10)的用法
  • 熟悉evalgraphtrajparmod在vss中的应用
  • 掌握if语句的用法
  • 掌握字符串函数的用法(itosstring_lengthsearchextract

关系式的基本概念

关系式的基本含义

在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
2
3
4
5
if d1>d2
a1 = 20
else
a1 = 30
endif

if语句的嵌套形式

1
2
3
4
5
6
7
8
9
 if d1>100
a1 = 20
else
if d1<50
a1 = 30
else
a1 = 20
endif
endif

字符串函数

针对字符串有一系列的函数,对字符串进行计算

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的字符子串
需要注意的是,提取时不要超过字符串长度