Trying again...
Does any have a :
4 axis
MasterCam v9
Bostomatic 312
postprocessor
... or a lead on where
to find one?
(Reseller hasn't one...)
Trying again...
Does any have a :
4 axis
MasterCam v9
Bostomatic 312
postprocessor
... or a lead on where
to find one?
(Reseller hasn't one...)
Mastercam comes with many many posts on the CD. I've seen one that starts with MPBos, see if you can find it on the CD. If not, ask your reseller for it. When you get it, post some code with it, then come back and maybe we can walk you thru making the mods yourself. (I'm sure it's just a switch you need to toggle inside the post to enable 4th axis.)
p.s. Asking someone to give you a post will usually get you ignored, or flamed. Most MC users modify their own posts, or pay to have them developed, so asking for 'freebies' is a no-no. Keep in mind that while they won't just give you a post, they'd be more than happy to help you with yours.. :cheers:
'Rekd
Matt
San Diego, Ca
___ o o o_
[l_,[_____],
l---L - □lllllll□-
( )_) ( )_)--)_)
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
Thanks, Sir.
Much obliged....
aiwnios
Have you tried contacting CNC direct..
I am lost by the Reseller can not make one for you or get one from another dealer?
May I ask who your Dealer is ,there are at least 3 in new york?
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
Cadcam
Software and hardware sales, contract Programming and Consultant , Cad-Cam Instructor .
Hi guys!
I have just been assigned as a cnc programmer, and our programming tool is Mastercam V9. I have made a program with mastercam V9, to test on our machines in the shop, but none of the post processors work properly. I just wondered if anyone of you have succecfully altered some mill post processors for machines like:
1."Bridgeport Interact 520 with heidenhain TNC 155 controller"
2."Mazak Variaxis 630-5x with Mazatrol 640 M controller"
3."Mazak MTV-515/40N with Mazatrol M plus controller"
4."Mazak Micro-Center H12 with Mazatrol M-1 controller"
From the look of it, it seems like I can get some help here, any help I can get will mean a great deal to me.
Kim from Norway
Kim you are saying this company bought MC V9 and did not get with the dealer for posts on those machines.
Oh & what way are you running te Mazaks EIA or Mazatrol?
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
Cadcam
Software and hardware sales, contract Programming and Consultant , Cad-Cam Instructor .
Hi Cadcam
We are running Mazak EIA now, but we are going to upgrade to invest in the Mazatrol program soon.
My boss is very cheap, he won`t buy these post from the reseller, because they are way too exspensive. Some of them costs up too 40 000 Norwegian kroner about 5500 - 6000$.
To save our very small workshop some money, I asked for them here on this forum, in hope for some luck.
A program to make these posts, with manual, would also be of great help, can someone help me with this???
Kim from Norway
hi kim
mastercam post files are gerenic which will allow you to modify
them to suit your requirements
post me a sample and i will demonstrate for you
thats if i'am allowed
best regards
peter
Peter there is not problem at all helping someone edite ther post.thats if i'am allowed
that is a good thing if you can.
A good post is a good thing.As a dealer I am sorry that I can not just give out posts all day.But it does take me time to adjust them and that is time and money..
But I will try and help and give suggestions..
Kim so you know a proper Post can make you or breake you.
As for the Mazatrol post thought this is a specialty chhok item from Caimax Systems and not a standerd post.
But So you have a mixture of lathe and mill .
The post for the Mazak Variaxis 630-5x is a hard post to work with along with it also being a 5X machine.
your boss does not want to spend a few 1000 dollars after spending hundreds thousands on these really nice machines.
But does not want to make sure they are coded corectly.
I am sorry just don't understand these thoughts.
All I can say is good luck in your search.
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
Cadcam
Software and hardware sales, contract Programming and Consultant , Cad-Cam Instructor .
that's actually a great idea here is a post that I use for Lathe
can you perhaps look over it and fix it because it takes off tool offsets but if next operation is the same tool it won't pick it up
the complete file is attached
thank you
pcur_recd #Write to the current tool record
c1_gcode = gcode$
pmatrix_su
pset_turret
pmap_home
c1_xh = vequ(xabs)
c1_tox = vmap (tox$, mmtx1)
c1_cc_pos = cc_pos$
if gcode$ <> 1003, c1_tool = abs(t$)
else, c1_tool = zero
c1_tloffno = tloffno$
c1_maxss = maxss$
c1_ss = abs(ss$)
if cool_w_spd = zero, c1_spdir = spdir$ + one
else, c1_spdir = (spdir$ + one) + (fsg2(coolant$) * three)
c1_css_actv = css_actv$
c1_fr_pos = fr_pos$
c1_ipr_actv = ipr_actv$
c1_coolant = coolant$
c1_nextdc = nextdc$
c1_posttype = posttype$
c1_cuttype = cuttype
c1_lathtype = lathtype
c1_gcodecc = gcodecc
c1_lathecc = lathecc
c1_millcc = millcc
c1_y_axis = y_axis
if opcode$ = 104,
[
if face_thd <> two, x_min$ = abs(xmaj_thd)
else,
[
if abs(zstrt_thd) > abs(zend_thd), x_min$ = abs(zstrt_thd)
else, x_min$ = abs(zend_thd)
]
x_max$ = x_min$
]
c1_gcode = wbuf (one, wc1)
plast_recd #Update the last record(s) for min-max and point
rc1 = wc1 - one
c1_gcode = rbuf (one, rc1)
if prv_opcode$ <> 104,
[
c1_x_min = x_min$
c1_x_max = x_max$
]
rc1 = wc1 - one #rc1 is used to write also
c1_gcode = wbuf (one, rc1)
pcut_cctyp #Find the type of cut for the tool buffer
#y_axis
#posttype
#cuttype
#lathtype
y_axis = zero
cuttype = zero
if posttype$ = two, cuttype = one
else,
[
if mill5$, cuttype = five
else,
[
if rotary_type$ = one, cuttype = four
else,
[
@m1$, @m2$, @m3$, @m7$, @m8$, @m9$
if m7$ = m_one & m8$ = zero & m9$ = zero, cuttype = -2
if m7$ = one & m8$ = zero & m9$ = zero, cuttype = two
if m1$ = m_one & m2$ = zero & m3$ = zero, cuttype = three
if rotary_type$ = three, y_axis = one
]
]
]
lathtype = lturret$ + spindle_no$ * two
#Check for errors
if rotary_type$,
[
if (abs(cuttype) = two & rotary_axis$ <> three)
| (cuttype = three & rotary_axis$ <> one),
result = mprint(saxiserror)
if cuttype = four & tlplnno$ <> one, result = mprint(stoperror)
]
else,
[
if cuttype = zero, result = mprint(scutterror)
]
#gcodecc, determine G74/G75 direction during processing
#lathecc
#millcc
gcodecc = zero
lathecc = zero
if tool_op$ > 201,
[
if tool_op$ = 202 | tool_op$ = 203,
[
gcodecc = one
lathecc = one
if tool_op$ = 203, lathecc = m_one
]
else,
[
if tool_op$ = 204 | tool_op$ = 205,
[
gcodecc = two
lathecc = one
if tool_op$ = 205, lathecc = m_one
]
else,
[
if tool_op$ = 206 | tool_op$ = 207,
[
gcodecc = three
lathecc = two
if tool_op$ = 207, lathecc = -2
]
else,
[
if tool_op$ = 208,
[
gcodecc = four
lathecc = three
]
]
]
]
]
if mi4$<>zero & opcode$ <> three & (cuttype=four | abs(cuttype)=two),
millcc = mi4$
else, millcc = zero
psetup #Setup post based on NCI settings
home_type = zero
sbufname3$ = spathnci$ + snamenci$ + sextext$
spathext$ = spathnci$
snameext$ = snamenci$
#Set metric defaults
if met_tool$ = one,
[
conversion = 1000
ltol$ = ltol_m
vtol$ = vtol_m
maxfeedpm = maxfeedpm_m
lcc_move = lcc_move_m
]
#Setup for old or new style canned cycles
if old_new_sw = one,
[
result = newfs (16, thddepth$)
result = newfs (16, thdfirst$)
]
else,
[
result = nwadrs (strb, thdang)
result = nwadrs (stri, thdrdlt)
result = nwadrs (strh, thddepth$)
result = nwadrs (strd, thdfirst$)
#Lathe canned cycle old style conversion
result = nwadrs (strd, depthcc)
result = nwadrs (strd, ncutscc)
result = nwadrs (stri, g73x)
result = nwadrs (strk, g73z)
result = nwadrs (stri, grvspcc)
result = nwadrs (strk, grvdpcc)
]
#Setup for arctype setting
if arctype$ = one | arctype$ = four,
[
result = newfs(two, i$)
result = newfs(two, j$)
result = newfs(two, k$)
result = newfs(two, iout)
result = newfs(two, jout)
result = newfs(two, kout)
]
else,
[
result = newfs(three, i$)
result = newfs(three, j$)
result = newfs(three, k$)
result = newfs(three, iout)
result = newfs(three, jout)
result = newfs(three, kout)
]
result = nwadrs(str_cax_abs, cabs)
result = nwadrs(str_cax_inc, cinc)
result = nwadrs(str_index, indx_out)
sc_minus = str_cax_abs + sc_minus
# --------------------------------------------------------------------------
# Turret and cut type change setup, do not edit
# --------------------------------------------------------------------------
pset_turret #Set the machine conditions and mapping based on the turret
if lathtype = one | use_only_tl, pltype1
else,
[
if lathtype = zero, pltype0
else,
[
if lathtype = two, pltype2
else, pltype3
]
]
psw_str_mult
pltype0 #Bottom turret/Left spindle
if cuttype = one,
[
#Lathe
pcuttypldrl
max_speed = max_speedl0
min_speed = min_speedl0
sw_string = scase_bl_c1
]
else,
[
#Mill
pcuttypmdrl
max_speed = max_speedm0
min_speed = min_speedm0
sw_string = scase_bl_c2 #case two is the default
if cuttype = -2, sw_string = scase_bl_c_2
if cuttype = three, sw_string = scase_bl_c3
if cuttype = four & abs(c1_millcc) = one, sw_string = scase_bl_c4c
if cuttype = four & c1_millcc = zero, sw_string = scase_bl_c4
if cuttype = five, sw_string = scase_bl_c5
]
pltype1 #Top turret/Left spindle
if cuttype = one,
[
#Lathe
pcuttypldrl
max_speed = max_speedl1
min_speed = min_speedl1
sw_string = scase_tl_c1
]
else,
[
#Mill
pcuttypmdrl
max_speed = max_speedm1
min_speed = min_speedm1
sw_string = scase_tl_c2 #case two is the default
if cuttype = -2, sw_string = scase_tl_c_2
if cuttype = three, sw_string = scase_tl_c3
if cuttype = four & abs(c1_millcc) = one, sw_string = scase_tl_c4c
if cuttype = four & c1_millcc = zero, sw_string = scase_tl_c4
if cuttype = five, sw_string = scase_tl_c5
]
pltype2 #Bottom turret/Right spindle
if cuttype = one,
[
#Lathe
pcuttypldrl
max_speed = max_speedl2
min_speed = min_speedl2
sw_string = scase_br_c1
]
else,
[
#Mill
pcuttypmdrl
max_speed = max_speedm2
min_speed = min_speedm2
sw_string = scase_br_c2 #case two is the default
if cuttype = -2, sw_string = scase_br_c_2
if cuttype = three, sw_string = scase_br_c3
if cuttype = four & abs(c1_millcc) = one, sw_string = scase_br_c4c
if cuttype = four & c1_millcc = zero, sw_string = scase_br_c4
if cuttype = five, sw_string = scase_br_c5
]
pltype3 #Top turret/Right spindle
if cuttype = one,
[
#Lathe
pcuttypldrl
max_speed = max_speedl3
min_speed = min_speedl3
sw_string = scase_tr_c1
]
else,
[
#Mill
pcuttypmdrl
max_speed = max_speedm3
min_speed = min_speedm3
sw_string = scase_tr_c2 #case two is the default
if cuttype = -2, sw_string = scase_tr_c_2
if cuttype = three, sw_string = scase_tr_c3
if cuttype = four & abs(c1_millcc) = one, sw_string = scase_tr_c4c
if cuttype = four & c1_millcc = zero, sw_string = scase_tr_c4
if cuttype = five, sw_string = scase_tr_c5
]
psw_str_mult #Apply sw_string to variables and strings
#c axis type
c_axistype = plcval (sw_string, 8)
#reverse spindle
spd_rev = plcval (sw_string, 7)
#plane 0
rslt_plc = plcval (sw_string, 6)
if rslt_plc = zero,
[
sg02 = sxg02
sg03 = sxg03
sg41 = sxg41
sg42 = sxg42
]
else,
[
sg02 = sxg03
sg03 = sxg02
sg41 = sxg42
sg42 = sxg41
]
#plane 1
rslt_plc = plcval (sw_string, five)
if rslt_plc = zero,
[
sg02_1 = sxg02
sg03_1 = sxg03
sg41_1 = sxg41
sg42_1 = sxg42
]
else,
[
sg02_1 = sxg03
sg03_1 = sxg02
sg41_1 = sxg42
sg42_1 = sxg41
]
#plane 2
rslt_plc = plcval (sw_string, four)
if rslt_plc = zero,
[
sg02_2 = sxg02
sg03_2 = sxg03
sg41_2 = sxg41
sg42_2 = sxg42
]
else,
[
sg02_2 = sxg03
sg03_2 = sxg02
sg41_2 = sxg42
sg42_2 = sxg41
]
#plane 0
rslt_plc = plcval (sw_string, three)
rslt_upd = updstr (swstr)
sg17 = swstr
#plane 1
rslt_plc = plcval (sw_string, two)
rslt_upd = updstr (swstr)
sg19 = swstr
#plane 2
rslt_plc = plcval (sw_string, one)
rslt_upd = updstr (swstr)
sg18 = swstr
#plane 0, x axis
rslt_plc = plcval (sw_string, m_one)
pl_ax_m0x = -((rslt_plc * two) - one)
rslt_plc = plcval (sw_string, -2)
pl_ax_m0y = -((rslt_plc * two) - one)
rslt_plc = plcval (sw_string, -3)
pl_ax_m0z = -((rslt_plc * two) - one)
rslt_plc = plcval (sw_string, -4)
pl_ax_m1x = -((rslt_plc * two) - one)
rslt_plc = plcval (sw_string, -5)
pl_ax_m1y = -((rslt_plc * two) - one)
rslt_plc = plcval (sw_string, -6)
pl_ax_m1z = -((rslt_plc * two) - one)
rslt_plc = plcval (sw_string, -7)
pl_ax_m2x = -((rslt_plc * two) - one)
rslt_plc = plcval (sw_string, -8)
pl_ax_m2y = -((rslt_plc * two) - one)
rslt_plc = plcval (sw_string, -9)
pl_ax_m2z = -((rslt_plc * two) - one)