|
"> 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 |
|