本人并非专业编程人员,对编程只是知道些皮毛。同事叫我帮忙修改一下MasterCAM9.1的后处理,因为每次都要手工修改,很麻烦,还怕出错。在网上找了好久都找不到关于MasterCAM车床后处理的修改方法,只好自己慢慢研究……最终还是改好了,能正常使用。但我毕竟不是专业人氏,也不知会不会出现意外的情况,希望懂的人可以指正。
声明:此后处理适用MasterCAM 9.1,其它版本请自行研究。如何要使用此后处理,请务必核对程式!凡使用此后处理一切后果自负!(经反馈,两段程式合并一起处理时,会出现换刀指令!如不用刀库的必须注意!)
找到车床的后处理文件MPLFAN.PST(位于Mcam9\\Lathe\\Posts\\),复制一份出来放在同目录,改好自己喜欢的名字,打开修改。以下是修改记录。(黄色底纹是修改过的,注意对比源文件)
force_wcs : no #删除程式中的G54,默认是yes。
#去除程式中的M08、M09(冷却液开关)
#fstrsel sm09 coolant scoolant #程序名,日期,时间等
# *progno, e #去除程序名 # pbld, n, *smetric, e #去除G21
\"(-\程度名和日期,随意更改
#删除程式中的刀具和刀片描述
# 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.\# 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.\ 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---------
因篇幅问题不能全部显示,请点此查看更多更全内容