请选择 进入手机版 | 继续访问电脑版

口口外挂论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 524|回复: 11

[分享] G83鑽孔用G1方式

[点此复制链接分享本帖获C币]
最佳答案
2 
发表于 2016-8-14 09:13:10 | 显示全部楼层 |阅读模式
  IF (G01 == 3) //G83方式用G01鑽孔
        IF (CJ == 1)  //正常
        
                 Xin = CYC_PECK * I_CURPOS ;
                 Yin = CYC_PECK * J_CURPOS ;
                 Zin = CYC_PECK * K_CURPOS ;
                 // calculate final depth 計算最終深度
                 XDepth = X_CURPOS - CYC_DEPTH * I_CURPOS;
                 YDepth = Y_CURPOS - CYC_DEPTH * J_CURPOS;
                 ZDepth = Z_CURPOS - CYC_DEPTH * K_CURPOS;
                 // calculate first clear height! 計算第一個清除高度
                 XClear = X_CURPOS + CYC_CLEAR * I_CURPOS;
                 YClear = Y_CURPOS + CYC_CLEAR * J_CURPOS;
                 ZClear = Z_CURPOS + CYC_CLEAR * K_CURPOS;      
                        
                PeckNumber = INT_(CYC_DEPTH/CYC_PECK) + 1 ;
                RestPeck = FRAC_(CYC_DEPTH/CYC_PECK) ;      
                Counter = 1 ;
                        
       REPEAT
      
       OUTPUT $ ;
                IF_SET (CODE_LIN_FAST) OUTPUT CODE_LIN_FAST ; END_IF ;
                IF (Counter == 1)
                                                
                      OUTPUT "X" XClear "Y" YClear  ; // first clear height 第一個清除高度
                        OUTPUT \J "Z" ZClear ; // 鑽孔開始安全高度
                ELSE
*                        OUTPUT " X" XdClear " Y" YdClear " Z" ZdClear ; // next clear height 下一個清除高度
                         OUTPUT "Z" ZdClear ;
                        END_IF;
                        // calc next drill depth 計算下一個鑽孔深度
              XTemp = X_CURPOS - Counter * Xin ; YTemp = Y_CURPOS - Counter * Yin ; ZTemp = Z_CURPOS - Counter * Zin ;
              OUTPUT $ CODE_LIN_FEED "X" XTemp "Y" YTemp "Z" ZTemp "F" MCH_FEED; // drill current peck 目前啄鑽
*              OUTPUT $ " " CODE_LIN_FAST " X" XClear " Y" YClear " Z" ZClear ; // retract to first clear point
              OUTPUT $ CODE_LIN_FAST "Z" ZClear ; //每次提刀到鑽孔開始位置
                        // calculate next clear height CODE_LIN_FAST=G00 計算下一個清除高度
              XdClear = XTemp + CYC_CLEAR * I_CURPOS;
              YdClear = YTemp + CYC_CLEAR * J_CURPOS;
              ZdClear = ZTemp + CYC_CLEAR * K_CURPOS;
              Counter = Counter + 1 ;
              UNTIL (Counter == PeckNumber);
              IF (RestPeck > 0) // last peck in case of uneven distribution
              OUTPUT $ "X" XdClear "Y" YdClear "Z" ZdClear ; // last clear hieght 最後清除高度
              OUTPUT $ CODE_LIN_FEED "X" XDepth "Y" YDepth "Z" ZDepth "F" MCH_FEED; // drill last peck3
              END_IF ;
              OUTPUT $ CODE_LIN_FAST "X" X_CYC_DZINIT "Y" Y_CYC_DZINIT "Z" Z_CYC_DZINIT; // retract to init point
         END_IF ; //CJ=1

這是分享給大家的~~如果要整合~~要定義一些東西喔~~我目前已經寫出上下左右的後處理了~~但是目前只有針對發那科~並且把g81跟g83用g01的方法寫入90度頭裡面~~歡迎大家研究看看

回复

使用道具 举报

     
最佳答案
3 
发表于 2016-8-16 09:47:39 | 显示全部楼层
哥,弄好了没。等着呢
回复 支持 反对

使用道具 举报

     
最佳答案
5 
发表于 2016-8-16 12:21:41 来自手机 | 显示全部楼层
看不明白!大师能解释下每句话的意思莫?
回复 支持 反对

使用道具 举报

     
最佳答案
5 
发表于 2016-8-16 12:25:33 来自手机 | 显示全部楼层
按这个可以用,自己改下就可以了!孔深的话程序太长,用段宏程序好像也可以实现G1钻孔
回复 支持 反对

使用道具 举报

     
最佳答案
5 
发表于 2016-8-16 12:27:10 来自手机 | 显示全部楼层
大师傅,四轴坐标系怎么初始化?怎么定义机床?
回复 支持 反对

使用道具 举报

最佳答案
2 
 楼主| 发表于 2016-8-17 06:36:10 | 显示全部楼层
無須定義~~程式都寫在Z+的方向~~側機頭在選擇手動你要後處理的方向
回复 支持 反对

使用道具 举报

     
最佳答案
5 
发表于 2016-8-17 10:50:28 来自手机 | 显示全部楼层
m1738264 发表于 2016-8-17 06:36
無須定義~~程式都寫在Z+的方向~~側機頭在選擇手動你要後處理的方向

不是侧铣,改成四轴后处理,怎么定义机床,还有坐标输出怎么初始化
回复 支持 反对

使用道具 举报

     
最佳答案
5 
发表于 2016-8-17 22:08:54 来自手机 | 显示全部楼层
m1738264 发表于 2016-8-17 06:36
無須定義~~程式都寫在Z+的方向~~側機頭在選擇手動你要後處理的方向

G84侧铣可以实现吗?
回复 支持 反对

使用道具 举报

最佳答案
2 
 楼主| 发表于 2016-8-18 22:55:56 | 显示全部楼层
可以的~~你要了解原理就可以了
回复 支持 反对

使用道具 举报

     
最佳答案
5 
发表于 2016-8-18 23:19:15 来自手机 | 显示全部楼层
m1738264 发表于 2016-8-18 22:55
可以的~~你要了解原理就可以了

哦,攻牙的宏程序应该怎么写?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋| 口口外挂 ( 苏ICP备11022365号 )

GMT+8, 2017-9-23 11:53 , Processed in 0.338582 second(s), 35 queries .

Powered by 口口外挂

© 2012-2017 CNCQQ.COM

快速回复 返回顶部 返回列表