Mastercam多坐标后处理分享。
第一次修改后处理。不懂的地方还很多,不便之处请多多包涵。可以说是后处理方面是小白。市场找不到合适自己的,只能动手了。平时做产品用到的一个工作台安装工装,一次装夹加工多个产品的环境。
官方默认的多坐标后处理是G54--G59,用完这组G代码后用 G54 P1,G54 P2.....
这个看机床有些设备直接可以用G54 P1... 这边的设备 是可以直接G54 P1 我就修改了一下G54这边的后处理。看机床,不是所有都是这样的。pwcs #G54+ coordinate setting at toolchange
if mi1$ > one,
[
sav_frc_wcs = force_wcs
if sub_level$ > 0, force_wcs = zero
if workofs$ <> prv_workofs$ | (force_wcs & toolchng),
[
if workofs$ < 100,
[
p_wcs = workofs$ + 1
"G54", *p_wcs
force_wcs = sav_frc_wcs
!workofs$
]
有个小bug (出现的数字1-8看图) 出程序后处理的时候 全部出1-8,G54P1 有二次出现。只出刀路转换那个 输出少一个坐标(应该是系统默认了第一个(1-7)也算一个)
单一坐标输出应该不影响使用的,多坐标输出,假如需要6个坐标,那么设置7个坐标,只出刀路转换的坐标。前面(1-7)的不出。
本文仅供学习参考,如若上机实践,一经出现问题本人概不负责。请根据实际情况来做。祝各位事业进步。
想上几个上几个,你上48个都行
N1 ( 6.0 倒角刀 | T2 | D2 | H2 | φ6. )
( MAX_Z = 10.MIN_Z = -1. )
( CMF-6.0 )
T2 M6
#1=54
#2=54
WHILE[#1LE#2]DO1
G0 G17 G90 G#1 X0. Y35.003 S2800 M3
M8
G43 H2 Z10.
G98 G81 Z-1. R.5 F200.
Y-35.003
G80
G91 Z30.
G17 G40 G80 G90
#1=#1+1
END1
M9
M5
S50
G91 G28 Z0.
M1
N2 ( 3.4 钻头 | T13 | D13 | H13 | φ3.4 )
( MAX_Z = 10.MIN_Z = -10. )
( DR-3.4 )
T13 M6
#1=54
#2=54
WHILE[#1LE#2]DO1
G0 G90 G#1 X0. Y-35.003 S2200 M3
M8
G43 H13 Z10.
G98 G83 Z-10. R.5 Q2. F300.
Y35.003
G80
G91 Z30.
G17 G40 G80 G90
#1=#1+1
END1
M9
M5
S50
G91 G28 Z0.
M1 兄弟,你把这下面的加到你的后处理,开启多工位就OK了{:lol:}
#-------------------------------------------------------------------------------------------------
Multi_coordinates : 0 # 开启多工位,多坐标选择?(利用宏代码循环指令多工位多坐标系加工,最多48个)
# 0 = 关闭多工位,多坐标
# 1 = 开启多工位,多坐标(数量小于7个使用标准坐标系G5N,大于6个使用附加坐标系G54.1 PN)
# (开启时在对话框输入数量小于2个或直接回车 = 软件设置的坐标系)
#-------------------------------------------------------------------------------------------------
#-------------------------------------------------------------------------------------------------
fmt"P"4 dwellda #G54.1坐标系P代码
coordinate : 0
le_number : 0
sav_spc1 : 0
hzbscbj : 0
fmt "LE" 4le_number
pcoordinate
if sjyxbj = 1238 & sydgx = 2589 & sfzmdl = 1579,
[
if Multi_coordinates = 1,
[
if hzbscbj = 0, q1, hzbscbj = 1
if coordinate > 1 & coordinate < 7,
[
sav_spc1 = spaces$
spaces$ = 0
le_number = coordinate + 53
pbld, "#1=54", e$
pbld, "WHILE[#1", *le_number,"]", "DO1", e$
spaces$ = sav_spc1
]
else,
if coordinate > 6,
[
if coordinate > 48, coordinate = 48
sav_spc1 = spaces$
spaces$ = 0
le_number = coordinate
pbld, "#2=1", e$
pbld, "WHILE[#2", *le_number,"]", "DO1", e$
spaces$ = sav_spc1
]
]
]
fq 1 coordinate "请输入坐标数量后按回车键确认!大于6个使用G54.1PN坐标系,输入数量小于 2 或直接回车确认等于软件默认坐标系(支持6个标准和48个附加坐标系)"
pcoordinate1
if sjyxbj = 1238 & sydgx = 2589 & sfzmdl = 1579,
[
if Multi_coordinates = 1,
[
if coordinate > 1 & coordinate < 7,
[
sav_spc1 = spaces$
spaces$ = 0
pbld, "#1=#1+1", e$
pbld, "END1", e$
spaces$ = sav_spc1
]
else,
if coordinate > 6,
[
sav_spc1 = spaces$
spaces$ = 0
pbld, "#2=#2+1", e$
pbld, "END1", e$
spaces$ = sav_spc1
]
]
]
pwcss
if sjyxbj = 1238 & sydgx = 2589 & sfzmdl = 1579,
[
,
,
,
]
#-------------------------------------------------------------------------------------------------
pkdghsc
if sjyxbj = 1238 & sydgx = 2589 & sfzmdl = 1579,
[
if Empty_knife = 1,
[
if coordinatea = 1, pbld, szbhl, e$
if coordinatea = 2, pbld, sghla, e$
pbld, , *sgcode, *sgabsinc, "G54", pfxout, pfyout, pfcout,
,
,
pgear, , strcantext, e$
if Length_Compensation = 1, pbld, sg43, *tlngno$, pfzout, , , e$
if Length_Compensation = 2, pbld, *sgcode, pfzout, , , e$
]
else,
[
pbld, sgabsinc, pwcs, pfxout, pfyout, pfzout, pfcout, e$
]
]
################################################################################################### 消灭零回复 原后处理不需要按照你那么改,本身坐标系参数里0-5表示G54-G59,6-53表示G54.1 P1-G54.1 P48,代码里,只需要把G54.1 P_WCS,改成G54 P_WCS就够了 75921872 发表于 2024-9-28 08:38
原后处理不需要按照你那么改,本身坐标系参数里0-5表示G54-G59,6-53表示G54.1 P1-G54.1 P48,代码里,只需 ...
这边的机台 默认坐标G54 P1。不过知道怎么改就好了。 谢谢大佬分享!!! 感谢分享! 收藏了,感谢楼主无私分享 riym 发表于 2024-9-29 09:15
兄弟,你把这下面的加到你的后处理,开启多工位就OK了
你好,请问你这个代码添加到数车后处理里面可以吗?实现一个长轴可以加工多个相同零件