社区活动 技术论坛 求教一个函数语法问题,高手来帮个忙
求教一个函数语法问题,高手来帮个忙
2010-05-10 07:46 77 0 28
如下: 赋值/V1=ARRAY(PNT1.TZ,PNT2.TZ,PNT3.TZ,PNT4.TZ,……PNT100.TZ) 赋值/v2=MAX(V1) 在以上语句中,我是求100个点的Z理论值的最大值,但必须是一个点一个点的全部排列出来,现在请问:有没有一种方法,可以让所有点的Z理论值用一个函数代替呢?也就是说不输入PNT1.TZ,PNT2.TZ……PNT100.TZ,也可以把所有点的Z理论值逐个的排列出来,可以吗? 请高人解答一下吧,小弟在这里有一点不明白呀!!!
我要回复

登陆后才能评论

登录
所有回贴(28)
我作了个通用的程式,式式看吧:里面的测点无论增加还是删除,里面测点的最大TZ值都能抓出来。不过增加加测点时须得在SCN1特征组中重新KEY一下PNT*这个几字母。否则特征组无法更新。 请试试看,不知道是否满意:) [size=4]ASSIGN/V1 = 0 [/size] [size=4] DO/ ASSIGN/V1 = V1+1 UNTIL/SCN1.HIT[V1].IJK==0 ASSIGN/V2 = MAX(SCN1.HIT[1..V1-1].TZ) [/size] CLEARP/ZPLUS,V2,ZPLUS,V2,ON [size=3]PNT1 =FEAT/POINT,CARTESIAN THEO/<1.66,-1.9,-0.03937>,<0,0,1> ACTL/<1.66,-1.9,-0.03937>,<0,0,1> MEAS/POINT,1 MOVE/CLEARPLANE HIT/BASIC,NORMAL,<1.66,-1.9,-0.03937>,<0,0,1>,<1.66,-1.9,-0.03937>,USE THEO = YES ENDMEAS/ PNT2 =FEAT/POINT,CARTESIAN THEO/<2.09,-4.21,-0.03937>,<0,0,1> ACTL/<2.09,-4.21,-0.03937>,<0,0,1> MEAS/POINT,1 MOVE/CLEARPLANE HIT/BASIC,NORMAL,<2.09,-4.21,-0.03937>,<0,0,1>,<2.09,-4.21,-0.03937>,USE THEO = YES ENDMEAS/ PNT3 =FEAT/POINT,CARTESIAN THEO/<1.39,-3.4,-0.03937>,<0,0,1> ACTL/<1.39,-3.4,-0.03937>,<0,0,1> MEAS/POINT,1 MOVE/CLEARPLANE HIT/BASIC,NORMAL,<1.39,-3.4,-0.03937>,<0,0,1>,<1.39,-3.4,-0.03937>,USE THEO = YES ENDMEAS/ [/size][size=4]SCN1 =FEAT/SET,CARTESIAN THEO/<2.294,-3.608,-0.03937>,<0,0,1> ACTL/<1.71333,-3.17,-0.03937>,<0,0,1> CONSTR/SET,BASIC,PNT*,,[/size]
2010-05-14 20:40
回复
取消
提交
还是楼上详细:)
2010-05-14 17:52
回复
取消
提交
赋值/V3 = "T" 转到/L1 L2 =标号/ 赋值/V3 = "N" 注释/报告,V1 A2 =建坐标系/开始,回调:启动, LIST= 是 建坐标系/平移偏置,Z 轴,-20 建坐标系/终止 点1 =特征/点,直角 理论值/3.139,77.523,2.538,0,0,1 实际值/3.139,77.523,2.538,0,0,1 测定/点,1 触测/基本,常规,3.139,77.523,2.538,0,0,1,3.139,77.523,2.538,使用理论值 = 是 终止测量/ 点2 =特征/点,直角 理论值/3.564,40.062,2.538,0,0,1 实际值/3.564,40.062,2.538,0,0,1 测定/点,1 触测/基本,常规,3.564,40.062,2.538,0,0,1,3.564,40.062,2.538,使用理论值 = 是 终止测量/ 点3 =特征/点,直角 理论值/4.456,17.13,2.538,0,0,1 实际值/4.456,17.13,2.538,0,0,1 测定/点,1 触测/基本,常规,4.456,17.13,2.538,0,0,1,4.456,17.13,2.538,使用理论值 = 是 终止测量/ 点4 =特征/点,直角 理论值/14.811,49.088,20,0,0,1 实际值/14.811,49.088,20,0,0,1 测定/点,1 触测/基本,常规,14.811,49.088,20,0,0,1,14.811,49.088,20,使用理论值 = 是 终止测量/ 点5 =特征/点,直角 理论值/36.225,88.743,20,0,0,1 实际值/36.225,88.743,20,0,0,1 测定/点,1 触测/基本,常规,36.225,88.743,20,0,0,1,36.225,88.743,20,使用理论值 = 是 终止测量/ 点6 =特征/点,直角 理论值/38.969,55.255,20,0,0,1 实际值/38.969,55.255,20,0,0,1 测定/点,1 触测/基本,常规,38.969,55.255,20,0,0,1,38.969,55.255,20,使用理论值 = 是 终止测量/ 点7 =特征/点,直角 理论值/85.855,18.692,20,0,0,1 实际值/85.855,18.692,20,0,0,1 测定/点,1 触测/基本,常规,85.855,18.692,20,0,0,1,85.855,18.692,20,使用理论值 = 是 终止测量/ 点8 =特征/点,直角 理论值/128.716,96.529,20,0,0,1 实际值/128.716,96.529,20,0,0,1 测定/点,1 触测/基本,常规,128.716,96.529,20,0,0,1,128.716,96.529,20,使用理论值 = 是 终止测量/ 点9 =特征/点,直角 理论值/159.994,4.808,20,0,0,1 实际值/159.994,4.808,20,0,0,1 测定/点,1 触测/基本,常规,159.994,4.808,20,0,0,1,159.994,4.808,20,使用理论值 = 是 终止测量/ 点10 =特征/点,直角 理论值/163.499,60.279,20,0,0,1 实际值/163.499,60.279,20,0,0,1 测定/点,1 触测/基本,常规,163.499,60.279,20,0,0,1,163.499,60.279,20,使用理论值 = 是 终止测量/ L1 =标号/ SCN1 =特征/特征组,直角 理论值/63.923,50.811,14.761,0,0,1 实际值/63.923,50.811,14.761,0,0,1 构造/特征组,BASIC,点1,点2,点3,点4,点5,点6,点7,点8,点9,点10,, 赋值/V1 = MAX(SCN1.HIT[1..10].TZ) 如果转到/V3=="T",转到 = L2 这样出来的V1就是理论的最高点了。
2010-05-14 16:12
回复
取消
提交
[quote] 原帖由 [b]artiqc[/b] 于 2010-5-13 18:02:00 发表 本来说搞一点高级一点的东东出来和大家讨论讨论,可这论坛。。。 请求版主把我这帖子删掉吧,就当我没发这帖 [/quote] :D 这样说说也能气走人?也太没幽默感了哈。:D
2010-05-14 15:16
回复
取消
提交
一定要用安全平面么?可不可以编个循环,把安全平面看成是个点,然后点到点的移动?
2010-05-14 12:27
回复
取消
提交
呵呵,楼上的朋楼用不着生气,mack_125 朋说话是比较直的。其实交流多了您会了解他的:Z 我明白你的意思了,我明天上机试一下后,晚上再回复。 可以考虑用这个语句: ASSING/v1=MAX(SCN1.HIT[1..SCN1.NUMHITS]) 现在问题是,这个特征组要抓成动态的,我还没想好。我现在家里,没有软件来调试。等天上班了我试好了再说吧。:D
2010-05-13 20:55
回复
取消
提交
本来说搞一点高级一点的东东出来和大家讨论讨论,可这论坛。。。 请求版主把我这帖子删掉吧,就当我没发这帖
2010-05-13 18:02
回复
取消
提交
[quote] 原帖由 [b]mack_125[/b] 于 2010-5-13 14:26:00 发表 :D 那你弄通了记得发上来,也学习学习嘛。 PC-DMIS挺通用的,呵呵,要不再弄个模块出来。:D [/quote] 好像被哥们你讽刺了呀,唉,这论坛。。。 我是说在PC-DMIS里面编写出来的程序要有通用性,那才是最高境界,不是说这个软件通不通用, 看来这个论坛里面也都不是什么吃素的呀 本人决定潜水了,让大哥们去喷吧 :break:
2010-05-13 17:59
回复
取消
提交
:D 那你弄通了记得发上来,也学习学习嘛。 PC-DMIS挺通用的,呵呵,要不再弄个模块出来。:D
2010-05-13 14:26
回复
取消
提交
[quote] 原帖由 [b]yj407[/b] 于 2010-5-12 21:02:00 发表 3楼的方法是可行的,如果楼主觉得太麻烦,就用下面这个方法吧 1、将您所要的所有测点构造成特征组,设该特征组为SCN1(这应该很快很方便的) 2、用下面这段函数,去抓您想要的最大的理论值 即V1值。 assign/v1=MAX(SCN1.HIT[1..100].TZ) [/quote] 朋友,照你的办法有一点还是不行,你这句语句可以,但是之前构造的特征组(SCN1)不能拿来通用,也就是说只有采点出来了,构造特征组才有值,但是把所有测量点删了之后,这个构造的特征组的所有点都会跟着你删除的动作消失,那这个构造的特征组就没有意义了,哪怕你重新采点,这个特征组也是没有值的 以上我表达的意思就是说,此方法缺乏通用性,但还是多谢你 另建议别的朋友们,我的程序是要拿来通用的,不是你们想像的这是一个单个程序 再次强调,我是要求程序的通用性,通用性...
2010-05-13 12:27
回复
取消
提交
在线咨询
关注我们

海克斯康制造智能

电话咨询
400-6580-400

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

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

海克斯康制造智能