首页 > Mastercam文章 > Mastercam后处理修改G02、G03重复添加

Mastercam后处理修改G02、G03重复添加

时间: 2016-02-11 来源:优集学习网

“请问 如何让每一句G02G03的程序前面都有G02G03 补充 ,菲迪亚系统,必须要改啊,研究好多天了,10几个小时,郁闷啊

程序比如是

G02X0Y0I0J0

G02X0Y0I2J2

G02X3Y3I3J3

自动生成的是

G02X0Y0I0J0

X0Y0I2J2

X3Y3I3J3

法兰克可以,但是菲迪亚不行啊,这个他就跑不出来郁闷啊。怎么让他不省略。”

本着助人为快乐之本的原则 我也研究了下。虽然走过些弯路 但还是顺利解决问题。特写下过程跟各位朋友分享下。

按照他的要求 就是

G02X0Y0I0J0

X0Y0I2J2

X3Y3I3J3

变换成

G02X0Y0I0J0

G02X0Y0I2J2

G02X3Y3I3J3

首先用记事本打开后处理。(已MPFAN.pst为例。)

他要改变的的问题就是让G02 G03重复添加,就先要从G02 G03下手

搜索 G2 找到了

sg02    : "G2"       #Circular interpolation CW 

sg03    : "G3"       #Circular interpolation CCW

sg02 sg03 就代表了G2 G3 下面的

sgcode  : ""         #Target string

其中 sgcode 代表了这段代码的变量 sgcode=G0-G4中的任意指令


继续搜索 sgcode

第一个找到的位置

pbld, n$, *sgcode, *sgplane, scc0, sg49, sg80, *sgabsinc, e$

这句指令就是NC开头的 G0 G17 G40 G49 G80 G90 。这句不用处理。


然后继续搜索 找到

pcan1, pbld, n$, *sgcode, *sgabsinc, pwcs, pfxout, pfyout, pfcout,

这句对应就是 G0 G90 G54 X.. Y.. S.. 这句也无需修改

继续搜索       pcan1, pbld, n$, *sgcode, *sgabsinc, pwcs, pfxout, pfyout, pfcout,


这句同上。继续

pbld, n$, sgabsinc, sgcode, *sg28ref, "Z0.", scoolant, e$

这句就是     G91 G28 Z0 继续跳过

然后找到了这句

pcan1, pbld, n$, sgplane, `sgcode, sgabsinc, pccdia,


局部全文就是

prapidout       #Output to NC of linear movement - rapid               
      pcan1, pbld, n$, sgplane, `sgcode, sgabsinc, pccdia,
        pxout, pyout, pzout, pcout, strcantext, scoolant, e$
      #Modify following line to customize output for high-speed toolpath
      #tool inspection/change points
      if rpd_typ$ = 7, pbld, n$, "M00", "(TOOL INSPECTION POINT - POST CUSTOMIZATION REQUIRED)", e$

按照注释  #Output to NC of linear movement - rapid         这句是负责直线处理的     


在此下面有一行是

pcirout         #Output to NC of circular interpolation
      pcan1, pbld, n$, `sgfeed, sgplane, sgcode, sgabsinc, pccdia,
        pxout, pyout, pzout, pcout, parc, feed, strcantext, scoolant, e$

按照注释  #Output to NC of circular interpolation 这句就是负责圆弧插补的代码。


对应第一句代码 pcan1, pbld, n$, `sgfeed, sgplane, sgcode, sgabsinc, pccdia,
但是代码中已经有了  sgcode 暂时陷入僵局。难道前面分析有错误?正在一筹莫展之际,想起来MC的后处理调试器。

于是打开调试器。定位G2 G3 程序输出 确实在pcan1, pbld, n$, `sgfeed, sgplane, sgcode, sgabsinc, pccdia, 这句代码中。

确认前面的推测都是正确的。于是强制添加 *sgcode 指令 在此后处理 问题得到解决。

分享到:
共执行 200 个查询,用时 0.264368 秒,在线 95 人,Gzip 已禁用,占用内存 3.951 MB