社区活动 技术论坛 求教一个函数语法问题,高手来帮个忙
求教一个函数语法问题,高手来帮个忙
2010-05-10 07:46 75 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)
如下: 赋值/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理论值逐个的排列出来,可以吗? 请高人解答一下吧,小弟在这里有一点不明白呀!!!
2010-05-10 07:46
回复
取消
提交
呵呵 ,跟我想的一样。 不知道能不能按照EXCEL里面的方法做出来
2010-05-10 12:36
回复
取消
提交
赋值/V1=1 赋值/VMax=PNT1.TZ while v1<=100 赋值/V2="PNT"+v1 赋值/v3=v2.TZ IF VMAX<V3 THEN 赋值/VMax=V3 END IF 赋值/V1=V1+1 END WHILE 自己试下能跑通不。直接写的,没软件跑。
2010-05-10 16:33
回复
取消
提交
[quote] 原帖由 [b]mack_125[/b] 于 2010-5-10 16:33:00 发表 赋值/V1=1 赋值/VMax=PNT1.TZ while v1<=100 赋值/V2="PNT"+v1 赋值/v3=v2.TZ IF VMAX<V3 THEN 赋值/VMax=V3 END IF 赋值/V1=V1+1 END WHILE 自己试下能跑通不。直接写的,没软件跑。 [/quote]朋友,好像用你的这方法不行呀,第一,最大值始终是PNT1.TZ的值,第二,这个程序要在这里循环100次之后才执行后面的程序,假如是1000个点呢?那就要循环1000次呀?太浪费时间了 我看到pc-dmis手册(下)里面的1399页有一个“标识通配符”的说明,上面介绍是用“PNT*”来代替的,但是我试过了,好像不行,不知道有没有高手来给我解答一下,在此谢过了!!! 祝量友们天天开心!!!
2010-05-11 07:54
回复
取消
提交
报告里面似乎有这个东西,可以把全部的点都报告出来,当然也能看到最大点在哪里,不过现在没有机器 在,不是非常确定。
2010-05-11 23:08
回复
取消
提交
标识通配符,似乎在quindos里边用的蛮多的,你可以去哪里问一下,我也忘的差不多了。 似乎你可以用pnt[v1].tz代替。然后v1或者用array来做,或者用if语句来做。我想都基本能达到你的要求了。
2010-05-11 23:11
回复
取消
提交
我这几天天天都在查这方面的资料,就是没有办法,SUN老师在吗?请问有没有办法呢?
2010-05-12 07:49
回复
取消
提交
老板还是试过在说吧。 要打印出每个数值,在循环里面加个注释/报告就成。
2010-05-12 10:42
回复
取消
提交
[quote] 原帖由 [b]mack_125[/b] 于 2010-5-12 10:42:00 发表 老板还是试过在说吧。 要打印出每个数值,在循环里面加个注释/报告就成。 [/quote] 大哥,我不要在报告里面体现呀,我是要求所有点的最大TZ值,然后再赋值给其它项!要在程序里体现呀 我把例子程序贴出来给大家看一下: [color=blue]STARTUP =坐标系/开始,回调:,列表=是 坐标系/终止 模式/手动 格式/文本,选项, ,标题,符号, ;标称值,公差,测定值,偏差,超差, , 加载测头/L110D2 测尖/T1A0B0, 柱测尖 IJK=0, 0, 1, 角度=0 移动速度/ 80 逼近距离/ 1 回退/ 1 回调/坐标系,外,a2,EROWA:a2 赋值/DMIS1 = MAX(ARRAY(PNT1.TZ,PNT2.TZ,PNT3.TZ,PNT4.TZ,PNT5.TZ,PNT6.TZ,PNT7.TZ,PNT8.TZ,PNT9.TZ,PNT10.TZ)) 赋值/DMIS2 = MAX(ARRAY(PNT11.TZ,PNT12.TZ,PNT13.TZ,PNT14.TZ,PNT15.TZ,PNT16.TZ,PNT17.TZ,PNT18.TZ,PNT19.TZ,PNT20.TZ)) 赋值/DMIS3 = MAX(ARRAY(PNT21.TZ,PNT22.TZ,PNT23.TZ,PNT24.TZ,PNT25.TZ,PNT26.TZ,PNT27.TZ,PNT28.TZ,PNT29.TZ,PNT30.TZ)) 赋值/DMIS4 = MAX(ARRAY(PNT31.TZ,PNT32.TZ,PNT33.TZ,PNT34.TZ,PNT35.TZ,PNT36.TZ,PNT37.TZ,PNT38.TZ,PNT39.TZ,PNT40.TZ)) 赋值/DMIS5 = MAX(ARRAY(PNT41.TZ,PNT42.TZ,PNT43.TZ,PNT44.TZ,PNT45.TZ,PNT46.TZ,PNT47.TZ,PNT48.TZ,PNT49.TZ,PNT50.TZ)) 赋值/DMIS6 = MAX(ARRAY(PNT51.TZ,PNT52.TZ,PNT53.TZ,PNT54.TZ,PNT55.TZ,PNT56.TZ,PNT57.TZ,PNT58.TZ,PNT59.TZ,PNT60.TZ)) 赋值/DMIS7 = MAX(ARRAY(PNT61.TZ,PNT62.TZ,PNT63.TZ,PNT64.TZ,PNT65.TZ,PNT66.TZ,PNT67.TZ,PNT68.TZ,PNT69.TZ,PNT70.TZ)) 赋值/DMIS8 = MAX(ARRAY(PNT71.TZ,PNT72.TZ,PNT73.TZ,PNT74.TZ,PNT75.TZ,PNT76.TZ,PNT77.TZ,PNT78.TZ,PNT79.TZ,PNT80.TZ)) 赋值/DMIS9 = MAX(ARRAY(PNT81.TZ,PNT82.TZ,PNT83.TZ,PNT84.TZ,PNT85.TZ,PNT86.TZ,PNT87.TZ,PNT88.TZ,PNT89.TZ,PNT90.TZ)) 赋值/DMIS10 = MAX(ARRAY(PNT91.TZ,PNT92.TZ,PNT93.TZ,PNT94.TZ,PNT95.TZ,PNT96.TZ,PNT97.TZ,PNT98.TZ,PNT99.TZ,PNT100.TZ)) PNT1 =特征/点,直角坐标 理论值/<0,0,0>,<0,0,1> 实际值/<0,0,0>,<0,0,1> 测定/点,1 触测/基本,常规,<0,0,0>,<0,0,1>,<0,0,0>,使用理论值 = 是 终止测量/ A1 =坐标系/开始,回调:EROWA:a2,列表=是 建坐标系/平移,Z 轴,PNT1 坐标系/终止 赋值/VMAX = MAX(ARRAY(DMIS1,DMIS2,DMIS3,DMIS4,DMIS5,DMIS6,DMIS7,DMIS8,DMIS9,DMIS10)) 赋值/SAFETYH = 20 模式/DCC 安全平面/Z 正,VMAX+SAFETYH,Z 正,0,开 移动/安全平面 注释/操作者,否,检查测尖是否在安全的高度上! ,点击“确定”,继续程序; ,点击“取消”,终止程序。 移动/安全平面 PNT2 =特征/接触/矢量点,直角坐标 理论值/<188.337,45.58,-6.347>,<0.0256911,0.0126411,0.99959> 实际值/<188.337,45.58,-6.347>,<0.0256911,0.0126411,0.99959> 目标值/<188.337,45.58,-6.347>,<0.0256911,0.0126411,0.99959> SNAP=否 显示高级测量选项=否 显示相关参数=是 自动移动=否,距离=0 显示触测=否 移动/安全平面 PNT3 =特征/接触/矢量点,直角坐标 理论值/<48.164,27.625,11.948>,<0.0902986,0.0565614,0.9943073> 实际值/<48.164,27.625,11.948>,<0.0902986,0.0565614,0.9943073> 目标值/<48.164,27.625,11.948>,<0.0902986,0.0565614,0.9943073> SNAP=否 显示高级测量选项=否 显示相关参数=是 自动移动=否,距离=0 显示触测=否 移动/安全平面 PNT4 =特征/接触/矢量点,直角坐标 理论值/<12.72,67.143,11.743>,<-0.0080401,0.0667791,0.9977354> 实际值/<12.72,67.143,11.743>,<-0.0080401,0.0667791,0.9977354> 目标值/<12.72,67.143,11.743>,<-0.0080401,0.0667791,0.9977354> SNAP=否 显示高级测量选项=否 显示相关参数=是 自动移动=否,距离=0 显示触测=否[/color] 以上程序中,我要把所有点的TZ值的最大那个求出来,再赋给安全高度! 但是像我这样只能手动往程序里面增加点ID,我要一个代码,可以找出所有点中的最大TZ值,假如是1000点或更多点!
2010-05-12 12:24
回复
取消
提交
虽然不知道你程序段有啥用,个人觉得纯属浪费。:D 刚把程序段拿去运行了下。VMAX出来的就是最大值。 白猫黑猫能抓耗子才是好猫。
2010-05-12 15:41
回复
取消
提交
在线咨询
关注我们

海克斯康制造智能

电话咨询
400-6580-400

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

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

海克斯康制造智能