深度解析Mastercam后处理函数opinfo的用法

在mastercam2017之前如果想要获取Z最大最小值,需要用过buff来实现,其过程为先预读深度值并写入缓存文件,再读取缓存文件并对缓存的数据进行比较获取最大最小值,另外由于buff缓冲器的数量是有限的(buff1-buff10共计10组),可能会导致buff不够用的情况发生。

现在可以利用新版本的opinfo函数来实现,前面介绍过opinfo函数的用法,下面来实战一下opinfo函数的强大功能。



opinfo用法介绍如下:

opinfo函数用法

以下为相关代码,增加方法及步骤:

1:增加以下标签,如有重复,需要改名。


loop : 0

2:定义4个存储关于Z方向最大最小值的标签,,如有重复,需要改名。


fmt    2      z_min_comm
fmt    2      z_max_comm
fmt    2      z_min_op
fmt    2      z_max_op

3:任意位置增加以下代码.,用于循环查找当前所选刀轨中Z轴的最大最小值,并输出最大最小,,如有重复,需要改名。


pcomm_max_min_for_all
      z_min_comm = opinfo(19, 0)
      z_max_comm = opinfo(16, 0)
      loop = 1
      result = opinfo(92, loop)
      while result <> -99999,
        [
        z_min_op = opinfo(19, loop)
        z_max_op = opinfo(16, loop)
        if z_min_op < z_min_comm, z_min_comm = z_min_op
        if z_max_op > z_max_comm, z_max_comm = z_max_op
        loop = loop + 1
        result = opinfo(92, loop)
        ]
      "OAL MAX Z = ", *z_max_comm, e$
      "OAL MIN Z = ", *z_min_comm, e$

4:在psof$或任意想要输出的位置调用Z最大最小输出的代码块


pcomm_max_min_for_all

以下为输出结果:


%
O0
(TEST)
(DATE=DD-MM-YY - 14-12-21 TIME=HH:MM - 20:06)

(------------------------------)
OAL MAX Z= 1.5
OAL MIN Z= -.12
(------------------------------)

G20
G0 G17 G40 G49 G80 G90
(ROUGH PROFILES)
T3 M6
G187 P3 E.001
G0 G90 G55 X-15.1795 Y-.7705 C0. S10000 M3
G43 H3 Z1.5
M8
Z1.1949
G1 Z-.12 F300.
X-15.4662 Y-.3609 F150.
G3 X-15.4775 Y-.3475 I-.082 J-.0573
G1 X-15.5365 Y-.2885
G2 X-15.7049 Y.1181 I.4066 J.4066
G1 Y4.4823
X-15.4184 Y4.7688
G2 X-15.0118 Y4.9372 I.4066 J-.4066
G1 X-14.3309
X-14.2453 Y5.0041
X15.2342
X15.5995 Y4.6389
G2 X15.7679 Y4.2323 I-.4066 J-.4066
G1 Y.1968
G2 X15.5995 Y-.2097 I-.575 J0.
G1 X15.2342 Y-.575
X11.428
G2 X10.9577 Y-.4661 I-.0385 J.9035
G1 X9.163 Y.6455
X3.9039
X2.1508 Y-.4415
G2 X1.6819 Y-.575 I-.4689 J.7564
G1 X-.5862
X-15.0118
G2 X-15.4184 Y-.4066 I0. J.575
G1 X-15.4775 Y-.3475
G3 X-15.4908 Y-.3363 I-.0707 J-.0707
G1 X-15.9004 Y-.0495
G0 Z1.5
(ROUGH POCKET #1 WALL)
G187
X-10.9533 Y2.3478
Z1.1949
G1 Z1. F300.
X-11.3196 Y2.8576 Z.12
X-11.3505 F150.
G2 X-11.6542 Y2.3622 I-1.4172 J.5282
X-11.3196 Y1.7751 I-1.1135 J-1.0236
G1 Y2.8576
X-11.3378 Y2.8393
G3 X-11.5873 Y3.1701 I-3.6384 J-2.4843
G2 X-12.1415 Y2.3622 I-1.1804 J.2157
X-11.5677 Y1.3386 I-.6262 J-1.0236
G1 Y1.263
X-11.0071
Y3.1701
X-11.5873
X-11.5874 Y3.17
G3 X-11.7835 Y3.3858 I-2.4389 J-2.018
G1 X-12.1927
G2 X-12.7677 Y2.8108 I-.575 J0.
G1 X-14.3187
Y2.4052
G2 X-14.488 Y1.9978 I-.575 J0.
G1 Y1.9136
X-12.7677
G2 X-12.1927 Y1.3386 I0. J-.575
G1 Y1.2598
G2 X-12.7677 Y.6848 I-.575 J0.
G1 X-14.3187
Y.638
X-10.3821
Y3.7951
X-12.2972
G2 X-12.1927 Y3.4646 I-.4705 J-.3305
G1 Y3.3858
G0 Z1.5
M5
G91 G28 Z0. M9
G28 X0. Y0. C0.
M30
%

至此,全局Z轴最大最小值获取并输出代码增加结束。

以上代码结构相对buff的用法,更简洁,更容易,更好扩展功能,此方法采用了新版本中opinfo函数的使用,让实现的过程更简单。

opinfo函数支持版本:mastercam2017及更新的版本。

下期将介绍获取每个刀具及每个操作的Z最大最小值。

由于前期发布文章时,未留意到部分代码缺失,现已补完整。



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空