社区活动 技术论坛 一个测量平面的小程序,在面上采9点的思路。
一个测量平面的小程序,在面上采9点的思路。
2004-08-13 17:07 69 0 15
各位老师好, 我编了一个测量平面的小程序,在面上采9(3*3 在X轴采3点,在Y轴采3点)点,我的思路是先采一个点,再用LOOP循环这个过程,可是每次循环完毕,只出现这一个点的坐标值,我如何作才能得到9个点的坐标呢?请各位老师指点,后者给我在下面些个这样的程序,我可以学习学习。
我要回复

登陆后才能评论

登录
所有回贴(15)
用循环语句来做这个程序比较麻烦,不如用阵列和阵列和粘贴的方法来做这个程序就容易多了。 河北廊坊瑞达汽车制动器有限公司
2004-08-25 12:47
回复
取消
提交
如果只有4个圆,一个一个测量救行了,如果是一组对称圆,给您一个思路:不过适用于读取外部数据测量孔。 举例,相对X轴对称 打开文件读取外部数据,每个圆的D、X、Y、Z、I、J、K 变量附值{DD}{XX}{YY}{ZZ}{II}{JJ}{KK} 循环判断 C1 COMMENT/INPUT R 如果“R”=0,测量一侧孔 如果“R”=1,测量对称一侧孔 令XX=-XX 这只是编程时的一个思路,回头我会帖一个完整的程序。
2004-08-26 07:23
回复
取消
提交
调用外部测量圆的子程序 SUBROUTINE/CIRCLE, DATA = "DATA" : , R = "R" : , SN = "START_NO." : , EN = "END_NO." : , = 打开一个文件,用于输出测量值 FPTR =FILE/OPEN,C:and SettingsDocuments,WRITE ASSIGN/NUM = 0 利用变量定义,设置读取外部数据的文件名及路径 ASSIGN/V3 = "D:/PCDMIS3.5/DATA/" ASSIGN/V4 = ".DAT" ASSIGN/V5 = V3+DATA+V4 定义孔的测量深度 C1 =COMMENT/INPUT,HOLE'S DEPTH 定义+\-公差带 C2 =COMMENT/INPUT,+tol C3 =COMMENT/INPUT,-tol 打开需要读取的数据文件 FPTR1 =FILE/OPEN,V5,READ L5 =LABEL/ 变量赋值 F1 =FILE/READLINE,FPTR1,NO+","+XX+","+YY+","+ZZ+","+DD ASSIGN/NUM = NUM+1 这个IF判断是为了让程序可以在任意指定的起始位置开始测量孔,而不一定非要从第一个孔开始测量 IF_GOTO/NUM>=SN ,GOTO = L2 GOTO/L5 IF/R==1 ASSIGN/XX = -XX X轴对称 END_IF/ IF/R==2 ASSIGN/YY = -YY y轴对称 END_IF/ IF/R==3 ASSIGN/ZZ = -ZZ z轴对称 END_IF/ ELSE/ L2 =LABEL/ 自动圆测量 CIRCLENO =AUTO/CIRCLE, SHOWHITS=YES, SHOWALLPARAMS=YES THEO/XX,YY,ZZ,0,0,1,DD ACTL/-0.1728,6.5911,-32.187,0.0254281,-0.4017274,0.9154062,0 TARG/XX,YY,ZZ,0,0,1 THEO_THICKNESS = 0, RECT, IN, CIRCULAR, LEAST_SQR ,$ AUTO MOVE = YES, DISTANCE = 20, RMEAS = None, READ POS = NO, FIND HOLE = NO, REMEASURE = NO ,$ NUMHITS = 4, INIT = 0, PERM = 0, SPACER = 0, PITCH = 0 ,$ START ANG = 0, END ANG = 360, DEPTH = C1.INPUT ,$ ANGLE VEC = 1,0,0 MEAS/CIRCLE HIT/BASIC,0,0,0,-1,0,0,0,0,0 HIT/BASIC,0,0,0,0,-1,0,0,0,0 HIT/BASIC,0,0,0,1,0,0,0,0,0 HIT/BASIC,0,0,0,0,1,0,0,0,0 ENDMEAS/ 评价 FORMAT/TEXT,OPTIONS,HEADINGS, , ;MEAS,NOM,DEV, , , DIM LOC1= LOCATION OF CIRCLE CIRCLENO UNITS=MM ,$ GRAPH=OFF TEXT=OFF MULT=1.00 OUTPUT=BOTH AX MEAS NOMINAL DEV X -0.1728 0.0000 -0.1728 Y 6.5911 0.0000 6.5911 D 0.0000 0.0000 0.0000 END OF DIMENSION LOC1 DIM LOC2= LOCATION OF CIRCLE CIRCLENO UNITS=MM ,$ GRAPH=OFF TEXT=OFF MULT=1.00 OUTPUT=BOTH AX MEAS NOMINAL DEV Z -32.1870 0.0000 -32.1870 END OF DIMENSION LOC2 变量赋值 ASSIGN/V2 = LOC1.X.MEAS END_ELSE/ 将指定值输出到指定文件中(路径在程序开始时已经设置) FILE/WRITELINE,FPTR,V2 判断,如果计数=结束值,结束程序 IF_GOTO/NUM==EN,GOTO = END 循环 GOTO/L5 END =LABEL/ 结束子程序 ENDSUB/ 这是一个测量孔的通用程序
2004-08-26 12:41
回复
取消
提交
sesame.谢谢你了.这个程序好难阿,我得好好研究研究.其实,我就是测量扁置的圆,就是前哨公司给的那个测量快上面的那四个圆,我就是想学编程而已. 我就是想测量一个圆,在用loop语句编程测量四个圆,然后评价四个圆的位置,运行后可我只能在编辑窗口看到第一个圆的做标值,而在图形窗口看到四个特征圆,这是为什么?是不是后面测的圆的做标值覆盖了前面的值?我如何解决这个问题?
2004-08-27 20:16
回复
取消
提交
用了循环语句,每次测量结束后需要变量赋值,把当前值输出来,否则下一次测量后会将值覆盖的。
2004-08-30 19:17
回复
取消
提交
在线咨询
关注我们

海克斯康制造智能

电话咨询
400-6580-400

热线电话(工作时间8:30-17:30)

关注我们 电话咨询 在线咨询

海克斯康制造智能