在相同条件下,重复十次测量一个孔,输出直径最大最小值。
常规方法用高级功能,变量赋值,取值,三角函数功能。
具体如下:
F(圆-1)=FEAT/CIRCLE,INNER,CART,38.0000,28.0000,-4.1231,0.0000,0.0000,1.0000, 25.0000
DECL/COMMON,INTGR,I
DECL/COMMON,INTGR,NUM
$$赋值循环次数
NUM = ASSIGN/10
$$循环结构
DO/I,1,NUM,1
ENDDO
这一步实现了对圆-1的重复测量,但是没有把每次的测量值记录下来,只能记录到最后一次的测量值,要得到每次的测量值,就需要对程序做一下改动。
1. 在申明循环变量下面加两行声明变量
$$申明实型变量数组Dia[],变量Dmax用来存放直径值和最大直径值
DECL/COMMON,DOUBLE,Dia[10]
DECL/COMMON,DOUBLE,Dmax
DECL/COMMON,DOUBLE,Dmin
$$声明一个字符串变量CIR用来存放元素名,以实现对测量元素动态编号
DECL/COMMON,CHAR,255,C1
2. 在循环结构内的第一行加上一句代码,并把元素名圆-用@C1替换,以实现对元素的动态编号,从而记录每次的测量值。
C1 = ASSIGN/CONCAT('圆','-',STR(I))
3. 在循环结构最后加上一句代码,作用取出每次测量的直径值。
Dia[I] = OBTAIN/FA(@C1),10
其实现算法,先把第一次的值作为最大值取出来,和第二次比,取其较大者,再和第三次比,取其较大值,一直和第十次比较,取到十次的最大值,并记录下最大值的那次测量序号。
Dmax = ASSIGN/Dia[1]
现介绍一种高效快速的方法:
利用构造区“拷贝创建元素“和变量数据区“ 变量数据区最小最大宏”功能,快速完成最大最小值输出评价。也可以利用MX(X1,X2,X3),MN(X1,X2,X3)函数功能。
(1)阵列特征(拷贝创建元素)
步长:0 重复:9
(2)拖放测量块 产生DMIS测量语句
从元素数据区拖放元素标签名到“拖放测量块”图标上,当拖放一个理论元素到这个图标上, RationalDMIS会使用在测量操作区中的测量设置面板中设置的的测量点产生规则来产生测量点DMIS语句块。
(3)自动测量特征元素
(4)变量数据区“最小最大宏”
上述几个宏的作用分别为计算得到 最大最小 直径、半径、X坐标、Y坐标、Z坐标,在拖放元素到如下2条目时会自己调用;
拖放多个元素到宏上,将找到指定类型的最大最小,并输出到屏幕;