Steps to make sure your lathe is configured properly.
II. Two Axis Lathe Samples
Machines Covered
TM6, TM8, TM10, TM12, TM18
TMX8, TMX10
III. Live Tool Lathe Samples
Machines Covered
TMM8, TMM10
IV. Live Tool Y Axis Lathe Samples
Machines Covered
TMX8MY, TMX8MYS, TMX10MY, TMX10MYS
All live tool lathes that are an “i” series machine will use the same examples.
All examples are done programming in software version 09.02.68
Please read this document until a stop for your machine type is reached.
This document was designed to be used as a work book, do not jump ahead!
This document was developed by Hurco Applications in Indianapolis Indiana by Hurco USA.
THIS DOCUMENT IS STILL IN THE TESTING, THIS DOCUMENT MAY NOT BE EXACT OR COMPLETE AT THIS
TIME, PLEASE CALL HURCO APPLICATIONS FOR ADDITIONAL SUPPORT.
Page 2
I. Getting Started
Make sure the software version on the machine is on this software or a
more current version than 09.02.68.
Check the first two digits to make sure it is larger than 09
Check the second set of digits to make sure it is larger than 02
Check the last set of digits to make sure it is larger than 68
Page 3
The next step is to make sure the NC setting have been
properly set.
Press the AUX/Menu button on the control.
This button is located next to the Input button on the control. It will be one of the large
oval shaped buttons.
Press the utilities key on the touch screen.
Press the user preferences soft key
Press the NC Setting key
This control should display this screen.
Page 4
Set all the settings as displayed above. The only setting
that may change is the ISNC G Code Mode. (see next page)
There are Two settings for G code interpertation.
The easiest way to think about these two modes is to imagine they are dialects, some of the
codes will mean different things, however all the functionallity exist in both modes, you may just need
to use a different code.
STOP!
Some codes are only available in certain modes. The mode of ISNC G-code will determine how
to program the machine.
Mode A is an older style of code and may not have all the functionality that Mode B will
contain. Mode A’s purpose is to add flexability. Mode A may allow programs from an older
control that is not a Hurco control to run on a hurco control will little to no modification.
Mode B is the Prefered way to program a Hurco Turning
Center!
ALL EXAMPLES WILL BE IN MODE B!
Page 5
Mode A
Mode B
G50
Max RPM
G92
Max RPM
G98
Per Min Feed
G94
Per Min Feed
G99
Per Rev Feed
G95
Per Rev Feed
No Code
G98
Return to Initial Level
No Code
G99
Return to R point Level
G94
End Face Turning Cycle
G79
End Face Turning Cycle
G92
Thread Cutting Cycle
G78
Thread Cutting Cycle
No Code
X,Y,Z Coordinates Abs
G90
Absolute Programming
No Code
U,V,W Coordinates Inc
G91
Incremental
Programming
G90
Outer/Inner Cutting
Cycle
G77
Outer/Inner Cutting
Cycle
G32
Thread Cutting
G33
Thread Cutting
Most codes will retain the same functionallity.
These codes Containt the same functionality between modes, however may still require different
When dealing with Live Tool machines there must be an
understanding of these simple codes and how to utilize them.
First off there are two machine modes, milling and turning.
M130 – Turning mode
M131 – Milling Mode
All these codes establish are what spindle will be turning,
as well as which spindle will everything be calculated from;
such as Feed Per Revolution. Turning mode is main spindle (or
sub on MYS machines). Milling mode is Live tools.
There are also 3 axis Maps that apply to the TMM
machines.
G101 – Milling on the face of the part
G102 – Milling on the diameter of the part
G109 – Turning or positional drilling using the c axis
When Using a Milling Map C axis positions cannot be used! Those maps do not
contain a C axis, everything is interpolated from X and Y coordinates.
Page 23
G101 AXIS MAP DIAGRAM
Notice that the axes are the same layout as turning with
the addition of the Y axis.
This map will always use the milling mode (M131)
Again there is no C axis in this map!
The intended purpose of this map is to handle all polar
interpolation internally from X and Y positions. This map is
suitable for all milling and drilling operations on the face of the
part, however drilling can be done using C axis positions in the
G109 map.
Page 24
G102 AXIS MAP DIAGRAM
This map will swap the X and Z axis. Notice the Y axis is
wrapped around the diameter of the bar to be programmed,
and that Z0 is on the diameter of the bar.
This map will need to be used in conjunction with an
additional code to establish a working diameter.
G25 Q (whatever the working diameter is)
This map is suitable for all milling and drilling on the outside of
the part, however drilling can be done on the diameter of the
part using C positions if desired in the G109 map.
No C axis positions are allowed in this map!
Page 25
G109 AXIS MAP DIAGRAM
This axis map uses standard axes for a lathe and is suitable
for all turning operations.
The typical mode for this map is the Turning Mode (M130)
This map also can be used in conjunction with the Milling
Mode (M131) for drilling holes with X, Z, and C positions.
Page 26
Utilizing the G109 map properly for drilling
First call the proper tool and change modes.
T0606
G109 (TURNING MAP)
M131 (MILLING MODE)
G7 (RADIUS PROGRAMMING)
G97 M33 S1500 (TURN SPINDLE ON AT FIXED RPM)
G54
Now that the proper tool has been called up in the proper
In this mode all canned cycles can be executed and are
available.
Page 27
After the holes are drilled the turret should be positioned
to index the turret
G28 U0. W0. (SENDS TURRET HOME)
It is important to place a G7 at the beginning of any live
tool operation to program in radius mode, if this isn’t done all x
number will need to be doubled.
It is equally important to return to G8 after the features
are cut that way if a turning process follows milling the turning
can be programmed in diameter.
When programming a lathe it is also important to program
in Feed Per Rev if possible. The advantage to this is the spindle
will give feedback as to what the RPM is and calculate the IPM
from there. The biggest advantage to this is if a spindle were to
stall, the machine will recognize that the spindle has slowed or
stopped and adjust the feed accordingly. On milling tools this is
not acceptable because they normally have multiple flutes,
however for all drilling, tapping, and turning all feed rates
should be in Feed Per Rev.
The next step will be to mill to flats on the side of the part
using cutter comp.
Page 28
The next tool will be loaded and used to mill in the G101
map.
The G109 mode will be used to execute an approach.
Programming in the way allows the C axis to be positioned
without forcing the tool to travel through the center of the
part.
The diameter established is a 2 inch diameter; this is
established with the G25 Q2. line. If we multiply the diameter
by 3.1415 we get 6.2831. That means 0.000 will be at 0
degrees, and 6.2831 will be 360 degrees. A CAD/CAM system
will generate the proper values; in this example the values are
given. This axis map must have a Q value greater than .1, Q0. Is
There are two additional axis map codes used for milling
on the main spindle utilizing the Y axis.
G103 - Milling on the face of the part with Y axis
G104 - Milling on the diameter of the part with Y axis
Everything is programmed very similar to the G101 map
code. The only differences are
C axis can be used to position the material.
No polar interpolation in this map.
Y axis is used instead of polar interpolation.
G103 AXIS MAP DIAGRAM
Page 39
Why use a Y axis?
On the face of the part there isn’t any reason to use the Y
axis in theory. The machine with a G101 map could very easily
hit every angle, and cut every feature. However Angular
accuracy is decreased as the machine gets further away from
the center of rotation.
The Y axis is a True linear move, and will cut a true flat and
will help eliminate angular inaccuracies.
The C axis with the G101 map will cut a flat surface,
however it is polar interpolation and may not be as flat as a
surface cut with the linear Y axis in the G103 map. The
inaccuracy from the G101 map will be very small and in some
instances very difficult to measure.
If the work is small, smaller than 2 inches, and the tool will
be traveling close to center it may be best to use the G103 map
so the C axis isn’t rotating around as much. This really is
personal preference.
Page 40
Milling with the Linear Y G103 Axis Map
First step is to call the tool
On all Y axis lathes the tool change block will be different from
the two axis and live tool machine.
Since we are adding another axis an offset for the axis must be
able to be applied in case live tools are shifted, or gang tool
holders are used.
G103 (ALLOWS THE Y AXIS TO BE USED)
T0707 (CALLS UP THE TOOL AND APPLIES OFFSET)
Y0. (SHIFTS THE TOOL SO THAT THE TIP IS AT THE CENTER OF ROTATIONS)
G109 (RETURNS TO TURNING AXIS MAP)
Now the tool has been correctly positioned we are ready to
turn the live tool spindle on and start an approach.
Next we will return everything back to turning settings and call
up the next tool.
G109
M130
G95
G8
M35
G28 U0. W0.
From this point the final axis map code for the main spindle will
be covered.
G104 AXIS MAP DIAGRAM
This axis map is defined similar to the G102 however the Y axis
is not wrapped around the part, in this map it is linear up and
down.
Page 42
This map can use a G25 Q0. If programming around the
center is desired, or programmed where Z0. is the diameter of
the bar.
To begin a tool must be called and positioned
G103 (ALLOWS THE Y AXIS TO BE USED)
T0606 (CALLS UP THE TOOL AND APPLIES OFFSET)
Y0. (SHIFTS THE TOOL SO THAT THE TIP IS AT THE CENTER OF ROTATIONS)
G109 (RETURNS TO TURNING AXIS MAP)
G104
G7
G25 Q0.
M131
G97 M33 S1500
G54
G94
G0 C0.
X-.75
Z1.25
From here a pocket can be programmed
Y.5
G01 Z.5
Y-.5
G0 Z1.25
G109
M130
G95
G8
M35
G28 U0. W0.
Page 43
STOP!
If the machine to be programmed is one of the
following machines all the post information
needed is above.
Please refer to the 2 axis section for cutoff
example.
TMX8MY
TMX10MY
This includes any machine above with the letter
“i” afterward
Page 44
The following will apply to sub spindle machines.
Part Transfer
The first step is recognizing that the work will be transferred
and positioned inside the machine so we will need to setup a
new work offset.
On the input screen press part setup.
Page 45
At the point the screen will look similar to this.
The G54 value will most likely not be 10 inches, this is only here as an
example.
Page 46
On this page there needs to be an offset with the sub
spindle check box selected.
This will allow the sub spindle to rotate instead of the mail spindle.
From here an offset for the “W” axis can be set on the
main spindle offset and sub spindle
The offset should be set with the sub spindle on the face of the part. This will
allow the “W” axis to be positioned to the face of the part, and then feed onto the
part an exact distance.
Page 47
On the last screen press additional offsets, this page with
the “W” axis will become available.
The check box for the “W” offset will need to be selected, and then the machine
can jog to the front of the part and the position can be stored.
The spindle can then be jogged to a safe position and an offset can be stored for
the position of the “W” offset relative to the second offset. This position is
normally around 2 inches in front of the limit.
When the machine is setup this way it is very easy to program the transfer
because any move positive will be in front of the part, and any move negative will
be onto the part.
Page 48
The part transfer should be programmed as follows
G109 (TURNING MAP)
M130 (TURNING MODE)
G0 G54 (CALLS MAIN SPINDLE OFFSET)
M203:0 (COMMANDS SPINDLE SYNC AT 0 DEGREES)
G97 M3 S500 (TURNS THE MAIN SPINDLE ON AT A FIXED RPM)
M241 (ALLOWS THE SUB SPINDLE TO OPEN WHILE ROTATING)
M114(SUB-SPINDLE OPEN)
G94 (INCHES PER MINUTE)
G152 G0 W1. (G152 COMMANDS THAT THE W AXIS IS TO MOVE)
M186 (ACTIVATE W AXIS TORQUE MONITORING)
G152 G1 G6 W-.5 F50. (COMMANDS THE W AXIS TO MOVE WITH TORQUE MONITORING ON)
M187 (STOP TORQUE MONITORING)
M115 (CLOSE SUB SPINDLE CHUCK)
M231 (ALLOWS MAIN SPINDLE TO OPEN WHILE CHUCK IS ROTATING)
M69 (OPEN THE MAIN CHUCK)
G55 G152 G0 W0. (MOVE W AXIS TO THE SECOND PART OFFSET)
M68 (CLOSE MAIN SPINDLE)
M5 (STOP SPINDLE)
M205 (CLEAR SPINDLE SYNC)
This code is acceptable to transfer the part, however if bar stock is going to be
used the sub spindle will need to pull the stock out to the next position and a
cutoff will need to be programmed.
Page 49
The part cutoff with bar pull should be programmed as
follows
G103 (CALLS MAP WITH Y AXIS AVAILABLE)
T0505 (CALLS TOOL AND APPLIES OFFSETS)
Y0. (SHIFTS THE TOOL TO Y 0.)
G109 (TURNING MAP)
G92 S1000 (SETS MAX RPM AT 1000RPM)
G97 M3 S500 (TURNS THE SPINDLE ON AT 500RPM)
G54 (CALLS MAIN SPINDLE OFFSET)
Z.05 (MOVES THE CUTOFF TOOL INFRONT OF PART)
G109 (TURNING MAP)
M130 (TURNING MODE)
G0 G54 (CALLS MAIN SPINDLE OFFSET)
M203:0 (COMMANDS SPINDLE SYNC AT 0 DEGREES)
M241 (ALLOWS THE SUB SPINDLE TO OPEN WHILE ROTATING)
M114 (SUB-SPINDLE OPEN)
G94 (INCHES PER MINUTE)
G152 G0 W1. (G152 COMMANDS THAT THE W AXIS IS TO MOVE)
M186 (ACTIVATE W AXIS TORQUE MONITORING)
G152 G1 G6 W-.875 F50. (COMMANDS THE W AXIS TO MOVE WITH TORQUE MONITORING ON)
M187 (STOP TORQUE MONITORING)
M115 (CLOSE SUB SPINDLE CHUCK)
M231 (ALLOWS MAIN SPINDLE TO OPEN WHILE CHUCK IS ROTATING)
M69 (OPEN THE MAIN CHUCK)
G152 G0 W.975 (MOVE W AXIS TO CUTOFF POSITION)
(Part length – Feed distance onto the part + cutoff tool width + stock to face off for next part +
stock for sub spindle to face)
(1.625 - .875 + .125 + .05 + .05 = .975)
M205 (CLEAR SPINDLE SYNC)
G55 G152 W0. (POSITION SUB SPINDLE FOR SECOND WORK OFFSET)
G28 U0. (POSITION TOOL AT HOME IN X POSITION FOR TOOL CHANGE)
G28 W0. (POSITION TOOL AT HOME IN Z POSITION FOR TOOL CHANGE)
The main spindle graphics do not show the part being
pulled.
A Hurco MYS machine (equipped with a sub spindle) can
turn between spindles. The example above should be used up
until the move to position the part for the cutoff, at that point
you could insert turning, milling, drilling, or any operation
desired instead of cutting the part off.
The machine will need to perform the spindle sync and the
positioning of the bar inside of the program, so all features will
need to be programmed and ran at that time.
Page 51
The final examples will show how to program on the sub
spindle.
Tools
9. Sub Spindle Turning Tool
Turning on the sub spindle is identical to the main with one
difference, all moves will be positive instead of negative.