|  | 
 
| "> dmis程序 救火 dmis程序 救火
 1、oint01点实际测值是x=-59.0000,y=-54.0000,z=-125.5000;
 2、oint01点理论值是x=-57.0000,y=-58.0000,z=,-134.5000;各个方向公差是±1.5。
 想法:从上面的oint01点可以看出实测值超差,编一段程序将oint01点的z向实测值取出来(整个的或者是其中的一个方向值),oint01点的z向坐标值要在-136~-133之间材算合格。将z向坐标值取出后先判断它是否符合以上的条件。如果不符合就加一个运算,使之达到合格即在公差范围内。再将运算后的结果重写入到oint01点再输出。
 以下的程序我是这样写的,但是有问题,请教各位大侠给指点指点,谢谢!!!
 程序:
 outut/fa(oint01)
 decl/double,zz
 decl/double,var1
 var1=obtain/fa(oint01),5
 if/(var1<(-136))
 zz=(-134.5)+(var1)/100
 else
 if/(var1>(-133))
 zz=-133+(var1)/100
 endif
 zz=var1
 endif
 write/did(didterm),'oint01-z.',zz
 meas/oint,f(oint01),1
 tmeas/cart,-59.0000,-54.0000,zz,0,0,1
 endmes
 mode/rog,man
 outut/fa(oint01)
 f(oint01)=feat/oint,cart,100.0000,110.0000,-134.5000,$
 0.0000,0.0000,0.0000
 t(cortol01)=tol/cortol,zaxis,-0.5000,0.5000
 outut/fa(oint01),ta(cortol01)
 $$end of this file
 点1 =自动/矢量点, 显示所有参数=否
 理论值/-59,-54,-134.5,0,0,1
 实际值/-59,-54,-138,0,0,1
 目标值/-59,-54,-138,0,0,1
 if/点1.z<133 or 点1.z>136
 赋值/v1 = 点1.z+134.5
 注释/运算符,"点1的偏差数值:"+ v1 +""
 end_if/
 meas/oint,f(t1),1
 这是dmis程序,大家不要把cdmis的语句都用上了,这是dmis语句。
 这个我知 点1 =自动/矢量点, 显示所有参数=否
 理论值/-59,-54,-134.5,0,0,1
 实际值/-59,-54,-138,0,0,1
 目标值/-59,-54,-138,0,0,1
 可我怎么从未看见过 if/点1.z<133 or 点1.z>136
 赋值/v1 = 点1.z+134.5
 注释/运算符,"点1的偏差数值:"+ v1 +""
 end_if/
 突然怀疑自己是否会使用c dmis?????????
 搞什么东东,那里会有这么大误差的零件,{/fn
 | 
 |