问:在相同条件下,重复三次测量一个孔,仅须输出直径最大的一次,软件可以实现吗?如何实现?
答:可以实现。我们VGS威申的Rational DMIS测量软件是完全以DMIS标准为内核的软件,可以通过DMIS高级语句实现,具体实现方法如下:
第一步、定义要测量的圆,并测量这个圆。
F(CIR1) = FEAT/CIRCLE,INNER,CART, 42, -47, -2, 0,0,1,40
······
第二步、申明循环变量,测量次数,编写循环结构,把测量圆的语句放进循环结构中。
$$申明整型的循环变量,测量次数
DECL/INTGR,II,Repeat
$$赋值循环次数
Repeat = ASSIGN/3
$$循环结构
DO/II,1,Repeat
······
这一步我们实现了对圆CIR1的重复测量,但是没有把每次的测量值记录下来,只能记录到最后一次的测量值,要得到每次的测量值,就需要对程序做一下改动。
第三步、修改程序,记录每次的实测值,并取到每次的直径值。
1. 在申明循环变量下面加两行声明变量
$$申明实型变量数组Dia[],变量Dmax用来存放直径值和最大直径值
DECL/REAL,Dia[3],Dmax
$$声明一个字符串变量CIR用来存放元素名,以实现对测量元素动态编号
DECL/CHAR,10,CIR
2. 在循环结构内的第一行加上一句代码,并把元素名CIR1用@CIR替换,以实现对元素的动态编号,从而记录每次的测量值。
CIR = ASSIGN/CONCAT ('CIR1_',STR (II))
3. 在循环结构最后加上一句代码,作用取出每次测量的直径值。
Dia[II]=OBTAIN/FA(@CIR),10
第四步、我们记录下了每次测量的实测值,并取到了每次测量的直径,接下来就是要判断,哪次的测量值最大,其实现算法,先把第一次的值作为最大值取出来,和第二次比,取其较大者,再和第三次比,取其较大值,这样就能取到三次的最大值,如果是5次10次道理是一样的。并记录下最大值的那次测量序号。先在前面申明整型变量里加一个变量Cir_index,具体代码如下:
Dmax = assign/Dia[1]
······
通过对DMIS语句行的编写,修改,分三步实现了我们需要的功能,希望能给大家有所帮助,
预知详情,请联系:021-34680900
声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,不为其版权负责。如果您发现网站上所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容,以保证您的权益!联系电话:010-58612588 或 Email:editor@mmsonline.com.cn。
- 暂无反馈