A 程式是自带后处理出的,
B 程式是改后的后处理出的。
本人并非专业编程人员,对编程只是知道些皮毛。
同事叫我帮忙修改一下MasterCAM9.1的后处理,因为每次都要手工修改,很麻烦,还怕出错。
在网上找了好久都找不到关于MasterCAM 车床后处理的修改方法,只好自己慢慢研究……最终还是改好了,能正常使用。
但我毕竟不是专业人氏,也不知会不会出现意外的情况,希望懂的人可以指正。
声明:此后处理适用MasterCAM 9.1,其它版本请自行研究。
如何要使用此后处理,请务必核对程式!凡使用此后处理一切后果自负!(经反馈,两段程式合并一起处理时,会出现换刀指令!如不用刀库的必须注意!)
找到车床的后处理文件MPLFAN.PST (位于Mcam9\Lathe\Posts\),复制一份出来放在同目录,改好自己喜欢的名字,打开修改。
以下是修改记录。
(黄色底纹是修改过的,注意对比源文件)
force_wcs : no #删除程式中的G54,默认是yes 。
#去除程式中的M08、M09(冷却液开关)
#fstrsel sm09 coolant scoolant
#程序名,日期,时间等
% O0000 G21
(PROGRAM NAME - 111 DA TE=DD-MM-YY - 21-07-15 TIME=HH:MM - 10:00 ) (TOOL - 2 OFFSET - 2)
(OD ROUGH LEFT - 80 DEG . INSERT - CNMG 12 04 08) G0 T0202 G97 S55 M03
G0 G54 X-1.461 Z29.597 M9 G50 S55 G96 S295
G99 G1 Z31.597 F.2 X-68.261 Z34.519
G2 X-68.4 Z34.522 R.8 X-70. Z33.722 R.8 G1 Z2.922
X-67.172 Z1.508 G28 U0. W0. M05 T0200 M30 %
%
(-111 .NC - 05-08-15 ) G0 X-1.461 Z29.597 S55 M03
G99 G1 Z31.597 F.2 X-68.261 Z34.519
G2 X-68.4 Z34.522 R.8 X-70. Z33.722 R.8 G1 Z2.922
X-67.172 Z1.508 M30 %
A B
# *progno, e #去除程序名
# pbld, n, *smetric, e #去除G21
"(-", progname,".NC", "- ", date, ")", e #程度名和日期,随意更改
#删除程式中的刀具和刀片描述
# ptoolcomment
# comment
#删除程式中的“G0 T0202(刀具号)”
# pbld, n, *sgcode, *toolno, e
#以下两段调换顺序,可以调换“G0快速定位”和“主轴转动”的顺序。
黄色的第一段输出“快速定位和冷却开关”。
sav_absinc = absinc
if home_type > one, absinc = zero
pcan1, pbld, n, psccomp, *sgcode, pwcs, pfxout, pyout, pfzout,
pfscool, strcantext, e
if lcc_cc_pos, plcc_cc_pos #Use sav_xa to position with comp. LCC
pcom_movea #Update previous, pcan2
ps_inc_calc #Reset current
absinc = sav_absinc
#Added for 'css_start_rpm' logic (09/05/01)
if css_actv,
[
if css_start_rpm,
prpm # Direct RPM startup for programmed CSS
else,
pcssg50, pcss # NO RPM start - just output the CSS
]
else, # Direct RPM was programmed
[
prpm # Output programmed RPM
]
#回参考点。
删除程式中的“G28 U0. W0. M05”和刀号
# [
#Retract to reference return
# pbld, n, `sgcode, psccomp, e
# if home_type = m_one, pbld, n, *toolno, e
# pcan1, pbld, n, *sg28ref, "U0.", [if y_axis_mch, "V0."], "W0.",
# pnullstop, strcantext, e
# if home_type > m_one, pbld, n, *toolno, e
# ]
#回参考点。
删除程式中的“G28 U0. W0.”和刀号;保留“M05”。
(带删除线的文字表示要删除掉,下同)
[
#Retract to reference return
pbld, n, `sgcode, psccomp, e
if home_type = m_one, pbld, n, *toolno, e
pcan1, pbld, n, *sg28ref, "U0.", [if y_axis_mch, "V0."], "W0.",
pnullstop, strcantext, e
if home_type > m_one, pbld, n, *toolno, e
]
#开始主轴输出。
删除程式中的G97,保留转速和M03
prpm #Output for start spindle
speed = speedrpm
if speed = zero,
pbld, n, *spindle_l, e #RPM = '0', output just an 'M05'
else,
pbld, n, *sg97, *speed, *spindle_l, pgear, e
!css_actv #Added (8/27/2002)
#输出恒线速速度限制。
删除程式中的G50及最大转速
pcssg50 #Output Constant surface speed clamp
if css_actv, pbld, n, *sg50, *maxss, e
#输出恒线速度。
删除程式中的G96及转速。
pcss #Output Constant surface speed
speed = g_speed
if css_actv, pbld, n, *sg9697, *speed, spindle_l, !css_actv, e
----------------------------------------------------------Edited by Linc,2015---------。