5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)

标题: PowerMILL----Mach3的后处理终于成功了!! [打印本页]

作者: sfj88713    时间: 2012-7-14 02:14
标题: PowerMILL----Mach3的后处理终于成功了!!
PowerMILL----Mach3完美的后处理终于成功了!!
以后在MACH3下就不要修改G代码直接就可以用,软件业不要设置了,还在研究4轴和5轴的计算方法,成功后一起公布!很好用的!!哈哈看图!

[ 本帖最后由 sfj88713 于 2012-7-14 10:21 编辑 ]
作者: sfj88713    时间: 2012-7-14 02:14
PowerMILL----Mach3完美的后处理终于成功了!!
作者: sfj88713    时间: 2012-7-14 02:16
PowerMILL----Mach3完美的后处理终于成功了!!
作者: sfj88713    时间: 2012-7-14 02:17
PowerMILL----Mach3完美的后处理终于成功了!!
作者: sfj88713    时间: 2012-7-14 02:18
PowerMILL----Mach3完美的后处理终于成功了!!
作者: sfj88713    时间: 2012-7-14 02:21
PowerMILL----Mach3完美的后处理终于成功了!!
作者: rugou    时间: 2012-7-14 03:51
:em17: :em17: :em17: :em17: :em17: :em17: :em17:
作者: fastarrow    时间: 2012-7-14 07:14
如何个完美法?用标准后处理存在什么问题?
作者: WJ173733951    时间: 2012-7-14 07:54
也许正好能用吧!不过楼主编程技术有待提高!第一个零件最好外面下刀,后面的挖槽最好螺旋或斜线下刀,不然稍微硬点的材料会顶刀,影响主轴和丝杆寿命!最好的轮廓精加工从边上下刀会有痕迹的!
作者: sfj88713    时间: 2012-7-14 08:44
谢谢了!!正在学习中!!!请多多指点!!
作者: ttt12305    时间: 2012-7-14 08:47
:em22: 标准的法兰克后处理而已啊
作者: 3KS    时间: 2012-7-14 09:00
原帖由 ttt12305 于 2012-7-14 08:47 发表
:em22: 标准的法兰克后处理而已啊

标准法兰克后处理没有回机床零点么?
作者: 灰灰的鱼    时间: 2012-7-14 09:54
标准输出即可了啊
除非你DIY一个没有接近结构的机床,需要自己定义吧。
别卖关子了,赶紧上详细的:em15: :em03:
这几天正好在研究PW
作者: sfj88713    时间: 2012-7-14 10:06
machine fanuc15m
  message output = false
     integer 51 = 5

word order = (+ X Y Z B C I J K R D )
word order = (+ S M2 EM )

  define block tape start
   "%MACH3"

G1 0 ; G5  ; X fromX ; Y fromY
   S ToolSpeed ; M2 3
end define

define block tape end

   M2 30
   "%"
end define
end


经过修改的比较好用的代码!!保存MACH3.opt  就OK了!!请大家试试!!
作者: bbb1225    时间: 2012-7-14 10:07
看看 瞧瞧 僂僂
作者: szcjl    时间: 2012-7-14 10:11
:em15: 学习学习
作者: sfj88713    时间: 2012-7-14 10:16
machine fanucom —————— 后处理文件头
=========================== 第一部分是定义字符段 ==============================
define word TN
address letter = "TOOL TYPE:- "
address width = 13
field width = 25
end define
具体解释:
define word TN —————————————— 定义字段;
address letter = "TOOL TYPE:- " ————— 定义字段的返回值,比如在后处理文件里有“MS =C ; TN ToolType ; EM =C”,而在写程式的时候选用的是端铣刀,那么在CNC程式里就会有(TOOL TYPE:- ENDMILL);
address width = 13 ——————————— 定义字符宽度,如上"TOOL TYPE:- ",从T开始算起一共13位,包括空格;
field width = 25 ——————————— 定义返回字的宽度,如上"ENDMILL",如果field width = 2,那"TOOL TYPE:- "就返回EN;如果field width = 25,那"TOOL TYPE:- "就返回ENDMILL。
end define
========================== 第二段是定义字符的格式 =============================
define format ( / G6 S T M1 M2 L P D E H O )
address width = 1
field width = 2
exponent width = 0
scale factor = 1
scale divisor = 1
tape position = 0
print position = 1
sign = none
not permanent
not modal
metric formats
leading zeros = false
trailing zeros = true
decimal point = false 控制公制尺寸的前导零、后导零,小数点
decimal places = 0
imperial formats
leading zeros = false
trailing zeros = true
decimal point = false 控制英制尺寸的前导零、后导零,小数点
decimal places = 0
end define
word order = ( OP N G1 G2 G3 G4 G5 )
word order = ( + G6 G7 X Y Z B C )
word order = ( + I J K R D S T )
word order = ( + H M1 M2 MS msg EM Q ) 注册字符
word order = ( + Q1 Z2 R2 ID F )
word order = ( + TN TD TR DY MT YR PM )
========================== 第三段是定义键值 ===================================
define keys
blocknumber = N —————— 定义程序段号
preparatory function = G1 ——————— 定义准备功能指令
aux function = M1 —————— 定义辅助功能指令
x feedrate not used ————— 定义X进给率指令
y feedrate not used ————— 定义Y进给率指令
z feedrate not used ————— 定义Z进给率指令
circle angle not used ————— 圆周角度
x coordinate = X —————— 定义X坐标轴
y coordinate = Y —————— 定义Y坐标轴
z coordinate = Z —————— 定义Z坐标轴
key i = I —————— 定义X轴矢量I键
key j = J —————— 定义Y轴矢量J键
key k = K —————— 定义Z轴矢量K键
feedrate = F —————— 定义进给率指令
feedrate per revolution = F ——————— 定义每转进给率指令
spindle = S —————— 定义主轴指令
tool number = T —————— 定义刀具指令
cycle dwell not used
dwell = X ————— 定义暂停时间键值
tool length = H —————— 定义刀具长度补偿指令
tool radius = D —————— 定义刀具半径补偿指令
drill peck depth = Q1 —————— 钻孔的啄钻深度
drill hole depth = Z2 —————— 定义钻孔深度
clearplane = R2 ————— 定义安全平面高度
message start = MS ————— 定义注释的开始符
message end = EM ———— 定义注释的结束符
opskip = OP ———— 定义跳段符号
radius = R ————— 定义半径R键
program id = ID ————— 定义程序号
azimuth axis = B ————— 在多轴加工中,定义方位轴
elevation axis = C ————— 在多轴加工中,定义仰角轴
3rd rotation axis = null ————— 在多轴加工中,定义第三旋转轴
leader not used
x vector not used
y vector not used
z vector not used
error not used
end define
作者: sfj88713    时间: 2012-7-14 10:16
========================== 定义指令值 ========================================
define codes
rapid = G1 0 ========== 快速点定位
linear = G1 1 =========== 直线插补
circle cw = G1 2 =========== 顺圆插补
circle ccw = G1 3 ========== 逆圆插补
dwell = G6 4 ========= 暂停、准确停止
xy plane = G3 17 ========= XY平面
zy plane = G3 19 ========= YZ平面
xz plane = G3 18 ========= ZX平面
compensation off = G2 40 ========== 取消刀具半径补偿
compensation on left = G2 41 =========== 刀具半径左补偿
compensation on right = G2 42 =========== 刀具半径右补偿
imperial data = G4 20 ============ 英寸输入
metric data = G4 21 ============ 毫米输入
absolute data = G5 90 ============ 指定绝对坐标编程
incremental data = G5 91 ============ 指定增量坐标编程
from = G3 54 ========== 制定工作坐标系
feedrate per minute not used ================ 每分钟进给
feedrate per revolution not used ================= 每转进给
spindle rpm not used
constant surface speed not used
drill = G4 81 =========== 钻孔循环锪镗循环
break chip = G4 82 =========== 钻孔循环或反镗循环
deep drill = G4 83 ============ 深孔钻循环
tap = G4 84 ========== 攻丝循环
bore 1 = G4 85 ========== 镗孔循环
bore 2 = G4 86 ========== 镗孔循环
bore 3 = G4 87 ========== 背镗循环
bore 4 = G4 88 ========== 镗孔循环
bore 5 = G4 89 ========== 镗孔循环
end of drill = G4 80 ============= 固定循环取消
macro start not used ============ 宏程序模态调用
macro end not used =========== 宏程序模态调用取消
macro call not used ============ 宏程序调用
cycle retract = G6 99 ========== 固定循环返回到R点
tool length offset = G3 43 =========== 正向刀具长度补偿
spline not used ======== spline插补方式
stop = M1 0 ==== 程序停止
opt stop = M1 1 ===== 选择停止
spindle on cw = M1 3 ===== 主轴正转
spindle on ccw = M1 4 ===== 主轴逆转
spindle off = M1 5 ===== 主轴停止
spin coolant on cw = M1 13
spin coolant on ccw = M1 14
spin coolant off = M1 5 ====== 冷却液关
change tool = M1 6 ====== 自动换刀
coolant on mist = M1 7 ===== 雾状冷却液
coolant on = M1 8 ==== 冷却液开
coolant on flood = M1 8 ===== 冷却液开(喷出)
coolant off = M1 9 ===== 冷却液关
clamp on not used
clamp off not used
end of tape = M1 2 ===== 程序结束
end of prog = M1 30 ===== 程序结束
gear range 1 not used
gear range 2 not used
gear range 3 not used
constant contour speed not used
constant contour speed 2 not used
word drill not used
word break chip not used
word deep not used
word tap not used
word bore 1 not used
word bore 2 not used
word bore 3 not used
word bore 4 not used
word bore 5 not used
coolant on tap not used
rigid tap not used ====== 刚性攻丝
helical drill not used
helical retract drill not used
end define
作者: sfj88713    时间: 2012-7-14 10:17
================================ 定义变量 ======================================
print header = "Delcam Postprocessor" ================== 定义打印标题
machine name = "Fanuc6m version 1.2" ========= 机器名
point = "." ================================ 小数点
zero = "0" =============================== 零
tape headers = 1 ============================== 纸带标题
(integer 6 、integer 7):定义coolant output(冷却液输出)
integer 6 = 2 ============== 定义冷却液开(M07、M08)的输出方式,
此变量共有三个选项——0:在后处理时遇到相关指令时输出;1:在下一段中单独输出;2、在下一段中和坐标移动一起输出。
integer 7 = 1 ============== 定义冷却液关(M09)的输出方式,此变量共有三个选项——0:在后处理时遇到相关指令时输出;1:在下一段中单独输出;2、在下一段中和坐标移动一起输出。
(integer 10、integer 11、integer 12、integer 13):定义spindle output(主轴输出)
integer 10 = 2 ============== 定义主轴开(M03、M04)的输出方式,
此变量共有三个选项——0:在后处理时遇到主轴开指令时输出;1:在下一段中单独输出;2、在下一段中和坐标移动一起输出。
integer 11 = 1 ============= 定义主轴关(M05)的输出方式,此变量共有二个选项——0:在遇到主轴关指令时不输出S;1:在遇到主轴关指令时输出S0。
integer 12 = 1 ============= 定义M代码的输出方式,此变量共有二个选项——0:在遇到主轴相关指令时不输出M;1:在遇到主轴相关指令时输出M。
tool reset coordinates = 2 =============== 定义刀具复位后(M06后)的坐标处理方式,有1、2、3、4四个选项,请注意这四个选项的刀具补偿的区别:
1、 2、




3、 4、




cycle output = 1 ================ 定义循环指令(G80~G89)的输出方式,此变量共有两个选项——0:不输出循环移动指令;1、输出循环指令(默认值为G81)。
(integer 20、integer 26、full circle):定义circle output(圆弧输出)
integer 20 = 1 ============= 定义圆弧(M02、M03)的输出坐标,此变量共有两个选项——0:不输出圆弧的X、Y坐标;1:输出圆弧的X、Y坐标。
block start = 1 =============== 定义程序段的开始段号
block increment = 1 =============== 定义程序段号的增量
split move = 0
integer 26 = 1 ============== 定义圆弧(M02、M03)的输出,此变量共有两个选项——0:不输出圆弧指令;1、输出圆弧指令,如果选择0,那么在后处理时遇到有圆弧的地方,系统将这个圆弧打断成若干条直线段输出。
program id start = 100 =============== 定义程序起始号
integer 34 = 3
integer 35 = 1
integer 36 = 1
integer 37 = 2
rapid feed code = 0 =============== 共有两个选项——0:在快速移动时不输出进给率;1:在快速移动时输出进给率(需要在快速移动中定义F)。
maximum block number = 0
maximum tape blocks = 0
minimum tape blocks = 0
segment type = 0
counter start = 0
counter increment = 0
tape split retract distance = -999
multiaxis coordinate transform = true ====== 定义机床是否支持多轴联动,true:支持;false:不支持
message output = false
block order = true
tlo output = true ======== 是否正常输出刀具长度(半径)补偿,true:输出;false:不输出。
tape split on tool change = false
full circle = true ========= true:整圆输出;false:不做整圆输出。
incremental centre = true
go home output = false
use partid = true ======== 是否使用自定义partid,true:使用;false:不使用
use progid = true ======== 是否使用自定义progid,true:使用;false:不使用
spindle x motion = false ======== 定义主轴运动方向,true:X方向;false:NOX方向。
spindle y motion = false ======== 定义主轴运动方向,true:Y方向;false:NOY方向。
spindle z motion = true ======== 定义主轴运动方向,true:Z方向;false:NOZ方向。
spindle w motion = false ======== 定义主轴运动方向,true:W方向;false:NOW方向。
spindle azimuth rotation = false ========== 定义方位轴方式,true:为主轴头式;false:为工作台式。
spindle elevation rotation = false ========== 定义仰角轴方式,true:为主轴头式;false:为工作台式。
linearise multiaxis moves = true ========== 定义机床是否支持线性多轴联动,true:支持;false:不支持。
use hole top in cycles = false
retract at angular limit = false
unwind at tool change = false
suppress xy arc = false
suppress xz arc = false
suppress yz arc = false
transform workplane origin = false
previous multax rapid style = false
knot vector type = none
units = input ======= 定义单位,input=ouput;metric;imperial
coordinates = absolute ====== 定义坐标单位,absolute ;incremental
azimuth axis units = degrees ======= 定义方位轴单位
azimuth axis direction = positive ======= 定义方位轴用法,相对还是绝对
elevation axis units = degrees ======== 定义仰角轴单位
elevation axis direction = positive ======== 定义仰角轴用法,相对还是绝对
spline type = none
workplane angles = none
option file units = none
maximum feedrate = 9999.0000
minimum feedrate = 1.0000
rapid feedrate = 9999.0000
maximum tape length = 0.0000
plunge threshold angle = 0.0000
maximum segment = 0.0000
diameter = 1.0000
withdrawal amount = 50.0000
arc radius limit = 10000.0000
retraction threshhold angle = 360.0000
arc minimum radius = 0.0000
azimuth axis parameters = ( 0 0 0 0 0 0 ) ========= 定义方位轴参数,前三个零为分别定义每个轴的旋转中心;后三个零为定义方位轴的坐标,依次为X、Y、Z。
azimuth centre = ( 0 0 0 ) ========================== 定义方位轴圆心参数
elevation axis parameters = ( 0 0 0 0 0 0 ) ========== 定义仰角轴参数,前三个零为分别定义每个轴的旋转中心;后三个零为定义仰角轴的坐标,依次为X、Y、Z。
elevation centre = ( 0 0 0 ) =========================== 定义仰角轴圆心参数
pcs origin = ( 0 0 0 0 0 0 ) ======== 定义旋转轴圆心
linear axis limits = ( -99999 999999 -99999 999999 -99999 999999 ) ============== 定义线性轴范围
rotary axis limits = ( -99999 999999 -99999 999999 999 1 ) ============ 定义旋转轴范围,前两个零为定义方位轴的旋转范围;中间两个零为定义仰角轴的旋转范围;第五个零定义公差;第六个零定义分辨率。
move safe angles = ( 0 0 0 0 ) ==================== 定义起始角度
作者: sfj88713    时间: 2012-7-14 10:18
本人看到这个启发修改代码来形成MACH3用的合适代码!供大家学习学习!
作者: jjjtony    时间: 2012-7-14 10:42
帮顶
楼主有没有加工品出来,如果有产品请上图,单看这!!!
作者: 闲云孤鹤    时间: 2012-7-14 11:29
这个还是挺实用的,等楼主的4、5轴
作者: qingdiy    时间: 2012-7-14 12:14
顶楼主!
留个记号,将来有用:em24:
作者: 惠民    时间: 2012-7-14 12:40
顶上去,留下以后慢慢学。
作者: liangfei    时间: 2012-7-14 13:32
还在学习MACH3,PowerMILL我用的是2010完全看不明白啊,头疼:em17:
作者: 灰灰的鱼    时间: 2012-7-14 13:39
能不能详细说说用不用这个后处理有什么区别?
1-使用标准后处理输出(以前一直用标准输出,没发现什么问题啊。一般后处理是用来根据机床的结构功能来产生适配代码的。比如XYZABC结构,方向,等等。)
2-使用你这个定制的后处理输出
:em00: :em03:
作者: swst    时间: 2012-7-16 01:16
謝謝分享成果:em00:
作者: tiger10    时间: 2012-7-16 10:48
支持一下,学习!
作者: lz756088056    时间: 2012-7-18 22:03
标题: 回复 楼主 sfj88713 的帖子
machine standard

       define codes

        end define

        define format (  X Y Z I J K  )
           metric formats
           decimal point     = true
           decimal places  = 3
        end define

      incremental centre = false
      message output = false

      end
三轴PM代码
作者: lz756088056    时间: 2012-7-18 22:03
我用了一年了没问题
作者: DIY精灵    时间: 2012-7-18 23:40
用PM-POST修改更直观
作者: HR-1983    时间: 2012-12-27 01:15
留名学习
作者: alexchow    时间: 2012-12-27 08:49
支持,留名学习!
作者: hnyqp    时间: 2013-3-10 20:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: 蒋琥    时间: 2013-8-27 08:45
请问这个刀具直径补偿是否完成?譬如,当10MM的刀需要改成9.99MM的时候,是否在mach3里做操作就可以,而不需要从新在powermill里生成刀路?
谢谢!

作者: ksac2022790    时间: 2013-8-27 08:46
12年的也挖

作者: lab01    时间: 2013-8-27 12:44
尽管看不懂,暂时还用不到,但这种分享精神值得学习,向LZ及各位致敬!

作者: yangguofei    时间: 2013-8-27 13:05
谢谢分享!

作者: sdxiaomuyu    时间: 2013-8-27 16:53
多谢分享,学习学习。

作者: coolmao    时间: 2013-8-27 17:02
不明觉厉。。。一直用SW的飘过。。

作者: 老撅杆    时间: 2013-8-27 19:43
楼主太牛了。这个也能整。

作者: lifei7408    时间: 2013-8-31 00:13
标记一下,学习学习

作者: 铁冰    时间: 2013-9-17 20:20
兄弟,你的powermill 专门针对MACH3的四旋翼后处理成功了吗?


作者: 鲨鱼狼    时间: 2013-9-18 17:58
有点蒙圈了 还是想学习下

作者: 674054554    时间: 2019-1-15 00:25
这个厉害了
作者: zny05    时间: 2021-8-23 02:56
万分感谢~~~~今天用了楼主的MACH3后处理,powermill写入的TAP可以在MACH3上面完美运行了。G代码有10000多条,在ARTCAM2018里面生成同一个模型的G代码只有3900多条。
作者: 破烂王    时间: 2021-12-31 09:11
还在为UGNX的后处理发愁,找不到适合mach3的





欢迎光临 5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年) (http://wz.5imx.com/) Powered by Discuz! X3.3