You are on page 1of 67

Section IV

Computer Numerical Controlled Machining

and Computer Aided Manufacturing
Revised 8/2/05
AML Laboratory Manual


Table of Contents
1.0 Introduction to CNC CAD/CAM Lab ................................ 5
1.1 Instructional Objectives ..................................... 5
1.2 Safety ..................................................... 5

2.0 Computer Numerical Control Systems ................................. 7

2.1 Defining Numerical Control ................................... 7
2.2 Advantages of NC and CNC Machining .............................. 10
2.3 Coordinate Systems and Machine Motions ........................... 11

3.0 Machining Fundamentals ............................................. 16

3.1 Machining Operations and Machining Practice . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2 Determining Cutting Conditions and Performance . . . . . . . . . . . . . . . . . . . . . . 18

4.0 Manual Part Programming ......................................... 21

4.1 Introduction to G Code ....................................... 22
4.2 Programming Examples ......................................... 22

5.0 Computer Assisted Part Programming/Computer Aided Manufacturing Software . . . 27

5.1 Mastercam .................................................... 28
5.2 Post Processing .............................................. 31

6.0 CNC Milling Machine Setup and Operation .............................. 32

6.1 Haas VF1 CNC Milling Machine ............................. 32

7.0 Abrasive Waterjet Machining ........................................ 36

7.1 Introduction to Technology .................................... 36
7.1 Comparison to Other Technologies ............................... 39
7.3 Case Study ................................................ 39
7.4 Machine Setup ............................................... 41
7.5 Creating a DXF File .......................................... 41
7.6 FlowPATH Software .......................................... 42
7.7 FlowCUT Software ........................................... 44


A. References ................................................... 47
B. Reference Tables for Standard Drill, Tap, and Screw Sizes . . . . . . . . . . . . . . . . . 48
C. Haas VF1 Control Panel .................................. 50
D. G-Code References .......................................... 59

List of Figures

AML Laboratory Manual

4.1 A simplified schematic of an NC system. ......................... 8

4.2 Computer numerical control (CNC) system schematic. ..................... 9
4.3 DNC System Configurations. ................................ 9
4.4 Right hand coordinates for vertical milling machines. ..................... 12
4.5 CNC lathe coordinate system. ................................ 12
4.6 Absolute versus incremental positioning. ......................... 13
4.7 Comparison of control system paths. ............................ 14
4.8 Two-dimensional NC contouring ............................... 15
4.9 Three-dimensional NC contouring ............................. 15
4.10 Peripheral milling; up milling and down milling shown
considerably exaggerated to illustrate the principle of operation .......... 18
4.11 Pocket Milling .......................................... 18
4.12 Milling Tool Parameter Illustrations ................................ 29
4.13 Tool Length Offset .......................................... 35
4.14 Water Jet Nozzle ............................................ 36
4.15 Abrasive Water Jet Nozzle ........................................ 36
4.16 Jet Lag in thick part ........................................... 37
4.17 Corner Blowout ............................................. 38
4.18 Curve Taper .................................................. 38
4.19 Yo-Yo Contact ................................................ 40
4.20 Grid Part Layout ............................................. 42
4.21 Nested Parts .................................................. 42
4.21 Lead In / Lead Out ............................................. 43

List of Tables

4.1 Recommended Surface Speed and Chip Load for Slotting Operations on
Different Materials (HSS End Mills with Small Diameters (d<0.25”)) . . . . . 20
4.2 G Code using G02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.2 Tool Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30


1.0 Introduction to CNC CAD/CAM Lab

The AML CNC CAD/CAM lab provides an introduction to machine tools under computerized
numerical control and the use of modern CAD/CAM software packages. Numerical Control
(NC) or Computerized Numerical Control (CNC) -we will often use the terms interchangeably, -
is the operation of machine tools (and other processes) by a series of coded instructions. Note
that numerical control is not a kind of machine tool, but a technique for controlling a wide
variety of machines. NC has been applied to assembly machines, inspection equipment, drafting
machines, typesetting machines, welding tools, woodworking machines, punch presses and
nibblers, wire wrap and insertion machines, as well as the more common metal-cutting machine
tools. Since we can program the machine, we can make a variety of parts which are not possible
when using specialized or fixed automation. CAD/CAM tools are used to model geometry and
create tool paths associated to the geometry.

In this course the focus will be on machining using a CNC vertical milling machine. You will
learn two different ways to create a part on a CNC machine. The first, which we will use with
the CNC vertical mill, is the use of Computer Aided Manufacturing software to interface
Computer Aided Design (CAD) technology with CNC machine tools. You will use this
technology to transform CAD representations of a part into a tangible product. This is one
primary application of Computer Aided Manufacturing (CAM) software. The second method is
called manual part programming where the user writes the code by hand and directly enters this
code into the CNC machine via a keypad on the machine itself.

1.1 Instructional Objectives

In the five lab sessions you will:

• Learn safety procedures.

• Learn standard machining procedures used for the selection of tools machining operation of
the milling machine.
• Learn and or review typical CNC machine tool systems and the differences between point-
to-point, straight cut, and contouring machine tool control systems.
• Learn how to write and debug a manual part program.
• Learn how to use Mastercam’s machining software to design and machine an injection
mold insert.

1.2 Requirements For Safe Operation of a CNC Milling Machine

MILLING MACHINE! Sharp fragments of metal may fly off at high velocity. Protect your
eyes at all times. Failure to comply may result in revocation of shop privileges.


OPERATION. Furthermore, each student is responsible to know how to emergency stop the

AML Laboratory Manual

milling machine before starting the machine. Software glitches can cause the cutting head to
veer off unexpectedly resulting in severe damage to the machine.

C) WARNING!! Loose clothing, long hair, personal stereo wires, jewelry, and gloves may
become entangled in rotating equipment leading to serious injury or death! Make certain that
such articles are removed or securely fastened to avoid entanglement.

D) WARNING!! Milling cutters can be extremely sharp. When changing tools, always wrap the
cutter in a rag. Do not touch the cutting edges with your bare hands. NEVER touch a rotating
tool bit.

E) The chips produced in the milling process can also be razor sharp. Always use a brush to
clean a machine. Do not use compressed air to blow the chips off of the machine or your
clothes. Blown chips may get into eyes or puncture skin.

F) Never reach over the machine while the cutter is rotating and never attempt to measure parts
or clean the machine while the milling cutter is rotating.

G) WARNING!! Make certain that the workpiece is securely fixtured and that all components of
the fixture are securely fastened to the table. Because of the enormous forces involved in
milling, failure to check security may result in items being flung from the setup causing bodily
injury. If you are not sure if your setup is safe, have a TA or staff member check it out before
you begin cutting. Pay extra attention to the position and angle of toe clamps.

H) Apply all coolants to the tool bit in a safe manner. Use extreme care when adjusting spray
nozzles! The magnetic bases holding the spray nozzles may slip. Therefore, hold the base while
adjusting the nozzle. If a base falls into the cutter, personal injury or machine damage may
result. It is recommended that the spindle be placed on hold before adjusting spray direction.


J) If the workpiece begins to vibrate, or the cutter makes excessive noise, stop cutting

K) Before powering up the spindle, make certain that the milling cutter, its tool holder, and the
spindle, are free of the workpiece and will not run into any of the fixturing components. Also,
make certain all loose tools, spindle wrenches, chuck keys, and measuring tools have been
removed from the machine and put in the proper location.



A) The spindle must be completely stopped before attempting to change from low gear to high
gear or vice versa. Conversely, speed selection within a gear range should only be done with the
spindle running.

B) Calculate the proper spindle speed and table feed rate before beginning a cut. Do not attempt
to take a heavier cut than the cutter or the workpiece setup can handle. Make certain to use a
proper safety factor for the rigidity of the set up and the condition of the tooling. If you are not
sure about your calculations, ask!

C) Make certain that the milling cutter is rotating in the proper direction before beginning a cut,
otherwise the milling cutter will burn up.

D) Check that table or spindle locks are off before engaging the associated power feed.

If you do not know how to operate a machine or do not fully understand the instructions you
have been given, ask a supervisor until you are certain about what is required. IF YOU DON’T

2.0 Computer Numerical Control Systems

This section deals with general background information for Numerical Control (NC) machines,
Computerized Numerical Control (CNC) machine tool systems, and Direct Numerical Control
(DNC) systems. This section describes CNC machine operation and identifies planning that is
necessary before running a CNC machine tool.

2.1 Defining Numerical Control

When we think of automation, we tend to think of fixed automation like Detroit-type flow or
transfer lines. Here the configuration of the equipment is fixed and optimized to produce one
type of part or product in large quantities. This allows high production rates and low cost per
unit. However, when the part or product line is changed, the equipment must undergo a major
changeover and re-tooling. Under these circumstances we would like to have the flexibility to
produce a variety of parts on demand and in smaller quantities. For this type of application the
programmable automation available on NC machines is beneficial.

Schematically, an NC machine, as illustrated in Figure 4.1, has three basic components:

• A program of instructions
• A controller unit
• A machine tool

With this relationship among the components we can define NC as a method of automatic control

AML Laboratory Manual

that uses computer-like instructions to cause the machine to perform a series of operations. In
the next unit we will learn the programming instruction set for our Haas CNC so that we can
write manual programs to machine a variety of parts.
Figure 4.1: A simplified schematic of an NC system.

While the terms and abbreviations Numerical Control (NC) and Computer Numerical Control
(CNC), will for the most part be used interchangeably, their definitions and, in particular, the
control technology behind them are different. The Electronics Industries Association (EIA)
definition of numerical control is,

"A system in which actions are controlled by the direct insertion of numerical data at some point.
The system must automatically interpret at least some portion of this data."

The technology to implement this definition was primarily the hard wired logic control available
in the decades of the 1950's and '60's. With the advent of integrated circuits and the
microprocessor technology since the late 1960's, the controllers themselves became
programmable, leading to the definition of computerized numerical control:

“A numerical control system wherein a dedicated, stored program computer is used to perform
some or all of the basic NC functions according to control programs stored in the read-write
memory of the computer.”

These definitions indicate that the concepts of NC are handled in a more flexible and reliable
way with computer technology on CNC machines. Since the 1970's all machine tools that have
been built are CNC, including the Haas used in the AML Lab. A typical CNC schematic is
shown in Figure 4.2. The basic difference between NC and CNC is that many of the hardware
functions done by the NC machine are performed by software in the CNC system.

Figure 4.2: Computer numerical control (CNC) system schematic.

The last type of NC system is Direct Numerical Control (DNC). This is really a method for
managing many CNC machines by a large computer. We can define DNC as:


“A system connecting a set of numerically controlled machines to a common memory for part
program or machine program storage with provisions for on-demand distribution of data to the
individual machine memories.”

The DNC approach embraces the Computer Integrated Manufacturing (CIM) philosophy by
integrating many functions such as scheduling or inventory and can directly aid in the
manufacturing process planning and NC program preparation. Figure 4.3 shows some possible
DNC system configurations.

Figure 4.3: DNC System Configurations.

In all three cases, the three basic components of a numerical control system are the same:

• a program of instructions entered by: tape, manually through a keypad or CRT, or

downloaded from another system into resident memory,

• a controller unit using different technologies with different features, and

• a machine tool with servos and the tools and fixtures needed to produce a part.

The controller unit interprets the program and converts the commands to electrical signals to
control various machine functions. For example, it could cause the servo or stepper motors to
move the machine tool spindle up or down or to move the machine tool table in its plane. In this
course we are not concerned with the controller unit design, but the controller is what makes a
CNC machine tool different from a conventional machine tool.

The last basic component we have seen is the milling machine itself. It consists of a worktable
that moves in the X-Y plane and a spindle that holds the tools and can move up and down (along
the Z-axis). Notice that the tool itself cannot move in the X and Y directions. However, when

AML Laboratory Manual

we program the machine, the instructions we use assume that the tool is doing all of the moving.
Thus, the instruction set is designed for conceptual ease and we could say that the way in which
XY motion occurs is “transparent to the user”.

Before using a CNC machine tool, it is usually necessary to:

• Start with a sketch, dimensioned drawing, or solid model of the part.

• Select tools, plan a fixturing and cutting strategy, and determine cutting conditions
which will meet the accuracy and finish requirements for the part and not exceed the
capabilities of the machine tool.
• Put together a sequence of instructions that will cause the machine tool to generate the
desired part geometry.
• Verify the program to avoid damage or harm to people, the machine tool, and the part
you are trying to produce.
• Setup the machine for operation and execute the program.
Note: In section 4 of this manual you will learn how CAD/CAM software can be used to
fulfill these requirements

Before we begin the unit on programming it will be helpful to know something about machine
tool motions and coordinate systems, and the tools needed to machine a part.

2.2 Advantage of NC and CNC Machining

NC and CNC machining provide several advantages over conventional manual machining. With
NC and CNC machining, parts can be reproduced with improved accuracy. NC and CNC
technology automates the machining process, therefore requiring fewer machine operators and
avoiding operator error. This automation, combined with the improved repeatability, yield
improved quality control over the machining process. Furthermore, when linked to computer
aided design software, NC and CNC technology provide the foundation for agile manufacturing.

While NC and CNC technology can provide substantial improvements over manual machining,
there are applications where manual machining is more effective and practical. For small
batches or single parts where accuracy and repeatability are not critical, manual machining may
provide adequate accuracy, save time, and cut cost. Manual machining typically requires less set
up time, and no programming time. Therefore, there are many applications where manual
machining will be more cost effective.

In general, we should consider using a CNC system when our production situation has:

• Similar workpieces in terms of raw material,

• Workpieces produced in various sizes and with complex geometries, and in small-to
medium batch sizes,
• Sequence of similar machining steps required to complete the operation on each
• Design changes are frequent.


2.3 Coordinate Systems and Machine Motions

To program a sequence of tool motions, we need a coordinate system and must remember that
programs are written as if the tool moves around the workpiece (even though in most cases it is
the workpiece that moves around the tool). All vertical CNC milling machines use the same
right hand coordinate system shown in Figure 4.4. The z-axis is always along the axis of spindle
rotation, with the positive direction away from the workpiece. The primary or longest travel
direction of the table determines the x-axis and the third or y-axis can be determined by the right
hand rule. This means that for the Haas VF1 CNC the axes are:

• X axis (table motion, +X to the right)

• Y axis (saddle motion, +Y away from you)
• Z axis (quill motion, +Z is up away from the workpiece table)

For the CNC lathe this means that the axes are (Figure 4.5):

• X axis (motion perpendicular to the spindle, +X towards the operator)

• Z axis (along the axis of the spindle, +Z away from the quill)
• (Note that there are only two axis on a lathe so there is no Y)

AML Laboratory Manual

Figure 4.4: Right hand coordinates for vertical milling machines.

Figure 4.5: CNC lathe coordinate system.

The coordinate system is very important during machine setup. Should you make an axis sign
error you could easily send the tool into (and through!) the machine table when actually you
thought you were retracting it. (One reason for +Z being away from the workpiece is that if a
minus sign is lost during data transfer, the tool will move away from the table.)
We must have an origin to locate the tool in relation to the workpiece. One possibility is to use
the fixed zero provided by some machines. The tool will be located above this point with the
quill (Z) in the home position (fully retracted). With this origin, all tool locations are now
defined by positive X and Y coordinates.

A more convenient feature is the floating zero. It allows you to specify the origin so that you
can take advantage of workpiece symmetry or the origin used in your engineering drawing or
CAD model. Dimensions shown on a drawing are often with reference to some datum (origin)
on the part, perhaps the center of a hole or both sides of a corner. In this case, the programmer
can save calculation time by using the coordinates directly from the drawing. The operator
establishes the floating zero manually when the workpiece is setup (initialized).


Once we’ve selected an origin we have the option of defining other further points in space by
either absolute or incremental positioning. Absolute positioning is what we are used to seeing;
all tool locations are defined in relation to the origin. By contrast, incremental positioning
means that the next tool location is defined with reference to the previous tool location as shown
in Figure 4.6. This is of particular use when drawings specify locations from particular
workpiece features and not from a common datum location. While CNC technology can handle
either type of coordinate, if the part will be checked on, for example, a coordinate measuring
machine, it is good practice to have a common or absolute coordinate system or datum for the
engineering drawing, NC part program, and the measurement of the part.

Figure 4.6: Absolute versus incremental positioning.

Consider the problem of drilling a line of 100, 0.100 inch holes spaced 0.500 inches apart. We
could use absolute coordinates and command the tool to move to each hole location with respect
to the origin and drill a hole. That would take about 100 instructions. Using incremental
coordinates we could define this repetitive operation with fewer instructions using a loop. The
pseudo-code commands would look something like:

Move the tool to X = 3, Y = 3

Drill a hole
Repeat this Move the tool in the X direction 0.5 inches
operation Drill a hole
99 times Stop drilling after 99 holes have been drilled

Note that these are not actual commands from the Haas vocabulary. However, the technique of
looping is, and so we can see the value of incremental coordinates.

AML Laboratory Manual

So far we have not concerned ourselves with how the tool moves from one point to another. As
it turns out, the path the tool follows depends upon the type of control system used. There are
two types of numerical control systems: point-to-point, and contouring systems.

A point-to-point system moves the tool from one position to another and disregards the path
along the way. Each axis of motion is controlled independently so that the path steps from the
start position to the next position as shown in Figure 4.7. The path shown is not unique as some
point-to-point systems first satisfy the X command and then the Y, while others reverse the
order. Because the traverse path is not controlled, point to point systems are primarily used in
applications for positioning, e.g., drilling or part insertion.

Figure 4.7: Comparison of control system paths.

Contouring is the most versatile and sophisticated type of control system. The controller can
simultaneously coordinate the motion and control the tangential feed rate of more than one axis.
The path of the cutter is continuously controlled to generate the desired geometry of the
workpiece. In this system the controller generates a path between points by interpolating
intermediate coordinates. All contouring systems have a linear interpolation capability - they
can generate a straight line between two points - but some, like the Haas, can perform circular
interpolation as well. Figure 4.8 and 4.9 show examples of contouring. In two dimensional
contouring two axes move simultaneously with one axis fixed. During three dimensional
contouring, three axis move at the same time.


Figure 4.8: Two-dimensional NC contouring

Figure 4.9: Three-dimensional NC contouring

AML Laboratory Manual

3.0 Machining Fundamentals

3.1 Machining Operations and Machining Practice

The machining operations done on a CNC machine are no different than those done on a
conventional machine tool. They are done faster and more repeatable but still require planning
to make a quality part at reasonable cost. Some of the many operations we will be concerned
with are:

slot milling boring

peripheral end milling counter boring
face milling spot facing
face grooves deburring
recesses chamfering
pockets threading and tapping
drilling center drilling

While you will not become an expert machinist in a few lab periods, knowledge of basic
functions, standards in selecting tools or specifying operations when you are designing will help
you in the future. The future means when you design your product and tools in AML II, but also
when you leave Rensselaer.

The drill is a tool for making holes of moderate accuracy and is often the first operation when
making a more accurate hole by reaming or producing a threaded hole by tapping. There are two
main drill types: twist and the spade drills. Twist drills are common for holes under 1.000" and
there are standard sizes that should be specified in design and used in manufacture to save cost
and tooling inventory. Standard drills are categorized by three systems: fractional drill sizes
range from 1/64" upward by 64ths of an inch, letter drill sizes range from "A" (0.234 inch) to
"Z" (0.413 inch), and number drill sizes run from No. 80 (0.0135 inch) to No. 1 (0.228). These
drills are summarized in Table 4.B.1 in Appendix B. You should understand the number and
letter convention and use table 4.B.1 as a reference.

It is common for twist drills with a diameter larger than 1/2” to have a large web for strength. As
a result, they often center cut poorly. Therefore, to accurately drill a hole with a diameter greater
than 1/2”, one must first drill a smaller hole and use a second operation to drill or ream the hole
to the desired size. In addition, since small drills lack rigidity, small holes are often centerdrilled
or spotfaced. The tools used for these operations make a shallow indentation in the surface of
the part, so that the drill point locates correctly. Therefore, drilling both large and small holes
will often require multiple operations to obtain the final size.

When drilling “deep holes,” holes whose depth exceeds the drill diameter, the drill must be
retracted to clear the chips from the hole. The drill repeatedly plunges into the material, and
retracts out of the workpiece to clear any built up chips. This is called pecking.


When a tapped hole is required, a hole is needed for a dowel pin to align mold sections, or a bolt
hole with a standard clearance is needed, Table 4.B.2 can be used to correctly size the hole.
This table lists tap drill sizes and clearance drill sizes for standard screws.

For example given a 7/16" bolt and told to tap a hole, one needs first to determine the thread
size. The threads are specified by the diameter of the bolt and the number of threads per inch.
Although different standards exist, the one we shall deal with, and the most common is the
Unified National system. Bolts of a given diameter (under 1.500 inch) are specified in this
system under three different threads: A coarse series (UNC), a fine series (UNF) and an extra
fine series (UNEF). The tap drill size for the 7/16" hole can be found from the corresponding
entry in Table A2. Thus if 7/16"-UNC is specified, the recommended tap drill is a "U" letter
drill (0.368").

Since almost no additional holding strength is gained past five threads, often a clearance hole is
desired to reach the threaded section of the hole.

The tap is one tool used to thread holes and is available in all the Unified National sizes. Taps
may be used by hand with a tap wrench or on the milling machine with a device called a tapping
head. Except for cast iron, tapping fluid is usually used when tapping to lubricate the tap and aid
in cutting.

The reamer is used to produce a hole that is round and has an accurate diameter. Reamers are
used because twist drills often will not provide a hole which is uniform enough for parts
requiring a precise hole such as dowel pins. The reamer is typically used by first drilling a hole
about 1/64" under the desired size, and finishing the hole with the reamer. Reamers with a
square at the end of the shank (like a tap) are designed for hand use with a tap wrench. Reamers
for machine use have either a straight or tapered shank.

The counterbore is a feature of a drilled hole that provides a recess for a cap screw below the
surface of the part. The counterbore consists of a shank, flutes and pilot. The pilot of the
counterbore does not cut, and serves to keep the counterbore aligned with the previously drilled
hole. Counterbores with fixed pilots are made to bore holes for the standard capscrew sizes.
Counterbores with changeable pilots are made in many of the same sizes that twist drills are
available. Countersinks are used to make a cone shaped depression to accept the head of the flat
head screw so it will be flush with the part surface. Large countersinks often have pilots similar
to the counterbore. Table 4.B.3 shows the geometry and sizes of machine and cap screws that
may need to be counterbored or countersunk.

The most useful and versatile tool for milling is the endmill. Two and four flute endmills are
common and are readily available in 1/16" size increments. Other sizes in 1/32" and 1/64"
increments are made, but because they are less common are also more expensive. The main
difference between two and four flute endmills is that the four flute endmill is generally not
center cutting, so, like large diameter drills it cannot be simply plunged into the work. However,
since the four flute endmill has an additional two flutes, it can remove material faster than the
corresponding two flute endmill. Peripheral milling, where teeth located on the periphery of the
cutter body generate the milled surface, produces a plane parallel to the cutter axis (Figure 4.10).

AML Laboratory Manual

Note that milling can be either up (conventional) or down (climb). Pocket milling refers to the
operation of removing material so that a desired cavity is formed as shown in Figure 4.11.


Figure 4.10: Peripheral milling: up milling and down milling shown considerably exaggerated to
illustrate the principle of operation.

Figure 4.11: Pocket Milling

3.2 Determining Cutting Conditions and Performance

Before initiating a machining operation it is necessary to program appropriate cutting speeds and
feeds. The speed refers to the rotational spindle speed of the cutting tool. This is measured in
rev/min and it is the angular velocity of the tool. The feed rate is the rate at which the tool is fed
into the workpiece; in the English system the units are inches per minute. While these are the
quantities programmed, there are other more fundamental quantities related to metal cutting and
materials that have to be determined before programming the spindle speed and feedrate. These
quantities are the surface speed and the chip load.


Surface Speed: The velocity of the tool with respect to the workpiece is more important than
the spindle speed because it determines the temperatures and life of the cutting edge. This
relative velocity is referred to as the surface speed and is measured in surface feed per minute
(ft/min) in the common English units. The required surface speed is a function of both the cutter
and workpiece materials and the type of cutting operation. For a tool of given diameter D
(inches), the relationship between surface speed v (ft/min) and spindle speed N (rev/min) is:
v = N • circumference of tool / (12 in/ft)
( or v = N• D / 4 )
where v is the surface speed in feet/min., D is the diameter of the tool in inches and N is the
spindle speed.
Feed Rates: It is very important to feed the workpiece into the tool at the correct rate. Improper
feed can result in poor finish, a damaged piece, damage to the tool, the machine, or the operator
and ultimately a loss of time and poor quality. There is a tendency to make the feed rate too
high, so beware of this as you go through this lab. To obtain the proper feed you must consider
the material being cut and the power of the machine tool or the required finishes of the part.
There are several ways to specify feed: inches/min, inches/tooth, or inches/rev. are all
acceptable units. Inches/min. (F) refers to the rate at which the tool is fed into the piece.
Inches/rev. is the distance the tool travels during one revolution of the spindle. Inches/tooth (sz)
is a measure of how much each cutting tooth removes as it passes over the piece. This amount is
referred to as the chip load. For a given material and type of cut the recommended chip load is
constant. However, because tools can have different numbers of teeth, the feed rate must be
varied. We shall define feed rate as the rate, or linear velocity, at which the tool is fed into the
workpiece, be it either by the spindle descending or the table traversing.

Chip load is related to spindle speed and feed as follows:

sz = F/ (Nt • N).

Where sz is the chip load, Nt is the number of cutting edges (or flutes) and N is the spindle
speed. For a given chip load and surface speed, the correct feed rate (F) which should to be
programmed with an “F” command is:
F = sz • Nt • N

Calculating Cutting Speed and Feed:

With all of these equations and variables, it is not necessarily clear how to calculate an
appropriate cutting speed and feed rate. Typically, cutting speed will determine tool life, and
feedrate will affect the chip load and surface finish. Therefore, these parameters should be set to
obtain the desired tool life and chip load.
For applications in AML, the material and its Brinell hardness are usually known, the cutting
tool (diameter and number of flutes) have been selected, and type of cut is also known. Under
these circumstances the following procedure can be followed to calculate an appropriate cutting
speed and feed rate.

AML Laboratory Manual

1. First, look up the ranges for surface speed (cutting speed, ft/min) and the feed per tooth
(chip load, inches/tooth) for the material being cut. (Table 4.1) The higher values of both v
and sz are for the lower hardness values.

2. Calculate the spindle speed range as follows:


3. Calculate the recommended feed rate range from the spindle speed, number of teeth, and
chip load, according to the following formula:

(F is feed rate in in/min, N is the spindle speed in RPM, Nt is the number of teeth, and sz is
the chip load in inches/tooth)

Table 4.1: Recommended Surface Speed and Chip Load for Slotting Operations on
Different Materials (HSS End Mills with Small Diameters (d<0.25”))

Material Hardness, Brinell # Surface Speed (ft/min) Feed Per Tooth (Chip Load)
Aluminum Alloys - 200 - 500 .001 - .002
Magnesium Alloys - 400 - 500 .002 - .003
Brass 80 - 100 150 - 200 .002 - .003
Cast Iron 120 - 300 50 - 90 .002 - .003
Soft Carbon Steel 100 - 150 50 - 150 .0002 - .001
Medium and High 175 - 350 20 - 50 .0015 - .0006
Carbon Steel
High Carbon Steel 250 - 400 -* -*
Tool Steels 150 - 250 50 - 75 .0015 - .002
* To cut high carbon steel, carbide tipped end mills are recommended

Material Removal: When you know the depth (or sometimes called the axial depth) of the cut d,
the amount of the cutter diameter in contact with the metal (called the step over or radial depth)
and the feed rate (in inches/min) you can calculate the rate at which material is removed from the
piece, or radial depth in cubic inches/min. For milling, the material removal rate is,

Q = F • d • radial depth.

Finish: Surface finish refers to the texture or smoothness of the finished surface of a workpiece.
Design specifications generally include surface finish requirements which must be met. The
center line average (CLA) roughness is one standard measure of surface finish. The ideal center
line average (CLA) roughness of a wall surface produced by an end mill can be estimated using
the following formula. The formula uses the chip load sz (in/tooth), end mill diameter D (in), and
feed rate F (in/min) to obtain the roughness estimate. The CLA roughness in microinches is

CLA(µin) = F (sz 2 x 106) / (D • 9 • 1.732)


Tool Bending Load (deflection): When the tool is being fed into the work piece there is a
bending load applied to the tool. If you are using small diameter tools, 1/2 inch and under,
reduce the feedrate. Too high a feed rate will cause the tool to shatter, or not produce a
dimensionally correct path. The use of small diameter tools requires EXTREME CARE. When
a small tool is being used, you should be ready to stop the machine.

Tool Type and Selection: Two common tool materials for milling cutters are high speed steel
(HSS) and carbide inserts (Carbide). HSS tools are relatively inexpensive and are able to resist
the intermittent loading experience in milling. Carbide tools, although more expensive, can be
operated at higher surface cutting speeds and still maintain their edge much longer (tool life).

When choosing a tool for a particular operation there are several things to take into account. For
example, if you are cutting a specific radius in a slotting operation you have to make sure that
the radius of the tools is at most the same size as that of the radius to be cut. Preferably the tool
radius should be about 75-90% of the desired radius. If it is any larger, then the radius cut will
be that of the tool. If there are several operations to be done, try to see if one tool could be used
in more than one of the operations. This will save you the time of changing the tools during the
run cycle. The number of flutes affects the finish. When used at the same speeds and feeds, a
four fluted cutter will provide a better finish. This is to be expected since the chip load on the
four fluted cutter is half of that of the two fluted cutter, so the finish would be about four times
better. When you specify tools in the lab, check with the instructor to make sure that you have
the right tool for the job.

Along with surface speeds and chip loads, it is also necessary for the part programmer to specify
the tools, the order and types of cuts that will be used for the various operations, and how much
the cutter projects below the workpiece surface. Taken together, this is part of what is termed
process planning: the detailed, step by step instructions and programs to convert engineering or
CAD drawings to a finished part.

4.0 Manual Part Programming

The preliminary steps in part programming always involves planning and specifying the
sequence of steps to be performed by the CNC machine. The geometry, either in the form of an
engineering drawing or a CAD model, is the starting point. Then the cutting speeds and feed
rates need to be determined, based on surface finish, forces, or past experience. Next, the
programmer specifies the path that the tool follows, taking into account the fact that some
features like, for example, a tapped hole require drilling and tapping operations be programmed.
This programming can be done either manually or through computer assistance. In the computer
assisted mode, which will be covered in Section 5, the part programmer specifies the geometry
of the part through an interactive program and can define material to be removed. The computer
then automatically generates the program instructions for the CNC machine. In the manual
method the programmer writes all the lines of code from a detailed drawing.

Most of the material in this unit is covered in more detail in the Appendix. Either the Appendix
or the manuals available in the lab should be the final arbitrator of how to program and operate

AML Laboratory Manual

the Haas CNC milling machine. These notes will try to cover what we have found over the years
to be some of the basics to get you started.

4.1 Introduction to G-Code

G-Code is the computer language used by NC and CNC machine tools. The individual
instructions consist of simple letter and number combinations. The program is just a long list of
these instructions, given in the order they are to be performed.

There are two types of codes, G and M. G codes control movement of the machine, tool and
coordinate setup, canned cycles. Canned cycles are built in routines for automating common
tasks, like drilling a hole. M, or miscellaneous, codes control the spindle, coolant, tool changer,
and other ‘non-machining’ tasks.

All machine controllers understand G-code, but each has a slightly different format and usage.
Some machines may use decimal places in distance coordinates, while others may assume all
coordinates are given in ten thousandths of an inch. For example, the command to move to an X
location one inch from the origin would look like X1.0 on the AML’s Haas VF1 milling
machine, and X10000 on the Science Center’s Cincinnati 5VC mill. Different machine may also
like the options in a canned cycle presented slightly differently. While this can make it difficult
to program machines by hand, most CAM systems can be programmed with the specifics of each
CNC machine. Once the user sets up the desired machining steps in the CAM software, a post-
processor formats the code for the chosen machine. The precise format is often transparent to
the programmer, but can be very useful to the advanced user for optimizing part programs.

4.2 Programming Examples

A major part of NC programming is skill and experience. You will not have enough time to
develop a great deal of either. In place of experience, we will cover some examples. The details
of the instructions and commands you will have to find out from the Appendices taken from the
Cincinnati programming manual. The following is a brief description of the most common codes
used on the Haas CNC mill.

G Codes for Cincinnati CNC milling machine

G00 This is the Rapid Traverse mode. The slides are moved from one position to another
with the highest possible speed.

G01 This is the Linear Interpolation mode. The slides will interpolate between two points
and travel in a straight line from one point to the other.

G02 This is a Circular Interpolation mode. The spindle will travel in a clockwise motion
around an arc.

G03 This is a Circular Interpolation mode. The spindle will travel in a counter clockwise
motion around an arc.


G17 This allows for circular interpolation in the XY Plane.

G18 This allows for circular interpolation in the XZ Plane.

G19 This allows for circular interpolation in the YZ Plane.

G40 Cancels cutter compensation.

G41 This selects cutter compensation left; that is the tool is moved to the left of the
programmed path to compensate for the size of the tool.

G42 This selects cutter compensation right.

G80 This cancels any fixed cycle previously entered.

G81 Drill cycle. The spindle will rapid move to the axis location in X and Y, rapid move
in the Z-axis to the retract plane, feed in the Z-axis to the proper depth, and then rapid
retract to the retract plane.

G82 Drill cycle with dwell. It is similar to the drill cycle, but will pause at the Z-depth for
controlled amount of time.

G84 Tap cycle. It is similar to the drill cycle, but the spindle reverses rotation direction
before retracting out of the hole. The spindle returns to its normal rotation once it has
retracted to the retract plane.

G85 Bore cycle. It is similar to the drill cycle, but the spindle retracts out of the hole at
the feed rate.

G86 Ream cycle. It is similar to the drill cycle, but the tool is stopped while retracting out
of the hole.

G89 Bore and dwell cycle. It is similar to the bore cycle, but adds a pause at the full Z-

G90 This designates the use of global or absolute coordinates. All moves are relative to
some origin previously defined.

G91 This designates the use of incremental coordinates. All moves are relative to the last
position of the tool.

F This designates the feedrate to be used.

M2 This stops the program execution, and shuts off the spindle and coolant.

M3 This starts the spindle spinning in the CW direction.

M4 This starts the spindle spinning in the CCW direction.

AML Laboratory Manual

M6 This tells the milling machine to stop the spindle, return the quill to the home position
and wait for a tool change

M8 This turns on the coolant.

S This designates the spindle speed to be used.

T This designates the tool number to be used.

For the Lathe examples following, these G-Code conventions are used:

G00 Rapid Traverse mode

G01 Linear Interpolation mode

G02 Circular Interpolation in CW direction

G03 Circular Interpolation in CCW direction

G22 End of program

In each of these examples that follow we will emphasize a new programming command or
concept. These will be pointed out through the instructional objectives listed before each

When the program is loaded with paper or mylar tape, the first line of every program should start
with a "%" character. This is a tape reader control command. (All programs in AML will be
down loaded from a computer file and as a result do not need the "%" character.) Each line is
written in the same format:

Nxxx Gxxx Xxxx Zxxx Fxxx


Example Program #1

In this example we will demonstrate the roughing of a part. We want to reduce stock
material to the dimensions shown above. Our program will use an absolute coordinate system.

00 00 .740
01 01 .750 25
02 01 .750 0 25
03 01 .540 25
04 01 .550 25
05 22

Example Program #2

This example will show you how to use G01 correctly. In this example, the workpiece from
Example 1 has to be finished in one pass. The depth of the cut is 0.01”. The tool bits position is
indicated on the drawing by the dotted line.

00 00 520 0
01 01 -.560 20
02 01 .720 20
03 01 -.760 20
04 01 1.0 20
05 22

AML Laboratory Manual

Example Program #3
In this example we will concentrate on machining a curve. This will be done in two steps. First
we have to rough the part with a series of G01 commands then we can profile it with a G02 or
G03 command depending on whether the arc is clockwise or counter clockwise.

Table 4.2: G code using G02

01 00 1.0 .125
02 00 .9
03 01 2 25
04 00 .95 .125
05 00 .8
06 01 .650 25
07 00 .850 .125
08 00 .700
09 01 .600 25
10 00 .750 .125
11 00 .600
12 01 .550 25
13 00 .650 .125
14 00 .500
15 01 .500 25
16 02 1.0 .750 .25
17 00 1.2 .200


The following diagram should help understand the previous table:

5.0 Computer Assisted Part Programming/Computer Aided Manufacturing Software

Rather than writing a part program manually, computer aided manufacturing/ machining
systems can be used to go directly from “art to part.” A computer aided design (CAD)
software package is used to model the part geometry. This geometry information is then used
by the computer aided manufacturing (CAM) software to define the manufacturing operations.
More specifically, CAM tools can be used to define manufacturing sequences, create tool
paths, set federates and spindle speeds, and generate machine control code. Furthermore, most
CAM packages also provide on screen verification and machining simulations that allow the
user to verify the safety and machining plan that has been defined. By automating the part
programming process and providing program verification tools, using CAM software can save
valuable time and money. Mastercam is a CAD/CAM package that can perform all of these

AML Laboratory Manual

5.1 Mastercam

5.1.1 About Mastercam

Mastercam is an independent software package that provides the tools to create and
simulate manufacturing processes. Although Mastercam can be used as a CAD system
to create simple geometry from scratch, we will typically be starting with a CAD model
from another software package (SolidWorks, Pro/Engineer, Auto CAD, etc…). When
using Mastercam, NC codes can be created and quickly updated whenever the
engineering design model changes. Then, these codes can be output to files and post-
processed to drive NC machines.

The following section describes how Mastercam can be used to complete exercise
number 2. The descriptions that follow are written for Mastercam version 9.1.

To begin CAM programming, we must have a “manufacturing model” in mind. A

“manufacturing model” consists of a workpiece and a design model. The workpiece
represents the raw stock that is going to be machined by the manufacturing operations,
while the design model, representing the finished product, is used to create and define
all of the manufacturing operations. NC sequences are created as workpiece features
and represent material removed from the workpiece. Therefore, the workpiece must be
larger than the design model so that there is material to remove.

Mastercam can produce machining operations for milling, routing, turning, and wire
EMD. In this lab, however, we will only use Mastercam’s milling and drilling

5.1.2 Mastercam Process Overview

The Mastercam process may consist of the following steps:

1. Assemble the design model and workpiece together to create a manufacturing

2. Setup the process environment by naming the operation an/or cycles, defining a
workcell, and specifying other tool and process parameters.
3. Define NC sequences for the operation. At this step, material removal instructions
are created. A simulation can be performed to verify the instructions.
4. Create a manufacturing route sheet.
5. Post-process Mastercam file to NC file for machine tool.








Manufacturing Parameters

Manufacturing parameters specify and control the way in which the tool path and control code
is created. Some of these parameters vary depending on the type on NC sequences. These
parameters are described in the following section.

AML Laboratory Manual

Common Parameters


Clearance The plane at or above which the tool may move at a rapid rate with no danger
of colliding with the work piece. Specify an ABSOLUTE VALUE.

Retract The plane at which the tool begins it's cycle. For or milling around islands,
the tool will rise to this height while moving to the next pocket/hole. Specify
an INCREMENTAL VALUE, as measured from the "Top of Stock."

Feed plane Height that the tool moves to before changing form the rapid rate to the
plunge rate to enter the part.

Top of The location of the top of the material to be cut relative to the origin.

Depth This is the final depth reached by the operation. Specify a ABSOLUTE
VALUE relative to the origin.

Depth Cuts Specify the maximum depth the cutter should take in one pass.

% Stepover The Maximum XY spacing between each machining pass as a percentage of

tool diameter.

Feed Rate Speed of the tool during cutting motion in the workplane

Plunge Feed Vertical feed rate of the tool (on milling machine) or workpiece (on a lathe).
Units are revolutions per minute on lathe.

Speed Rotational speed of the tool (on a milling machine or worpiece (on a lathe).
Units are in revolutions per minute (RPM).

Position Location of the tool in the tool holder.

Offset Minimum distance between the edge of the tool and the model geometry at
any point. Often used to leave material during a roughing operation.


5.2 Post Processing

After the manufacturing plan has been defined with Mastercam and the motions of the center
of teach cutter have been specified, we must translate this into something the CNC machine
can understand. Mastercam’s .MC9file contains all this information along with the part
geometry, tool definitions, view aspects, and other settings. The tool motions are stored in a
relatively common format for all CNC machines however it must be tailored to the specific
machine being used. This conversion process is performed by a post processor. There is no
universal machine tool language so the post processor used must be machine specific.
Mastercam has a post processor built in. Mastercam will generate G-code for the machine on
the settings defined along with that machine tool.

(Note: If more then one CNC machine is to be used on one part, each machine requires a
separate sequence. This way, each operation or motion will be output to the appropriate file in
the appropriate format for that machine.)

To post process the machining sequence G-code:

ƒ Go to: Main Menu – Operations – Post

ƒ Make sure that the active post is the appropriate post for the machine you plan to use
(usually MPHAAS.PST)
ƒ Save as an NC file
ƒ Click ‘OK’
ƒ Mastercam will then prompt you to name the file. Once name and location have been
specified, click ‘SAVE’

A new window will appear with the G- Code.

AML Laboratory Manual

6.0 CNC Milling Machine Setup and Operation

In this section we will explain the setup and operating procedures for the Haas VF1 CNC milling
machine. While these procedures are intended for use with the Haas Mill in the AML, many of
these procedures can be applied to other CNC machines.

6.1 Haas VF1 CNC milling machine

6.1.1 Operating Panel Controls

This section explains the operating panel controls for the Haas VF1 CNC. All safety controls
and basic setup and operation controls are identified. The teaching assistant and the Haas
Programming and Operating Manual will provide details on actual operation of the equipment.
Most of the important controls referred to are shown in Figure 4.D.1.

Main control panel: is located on the right side of the machine. This is where you will
manually control the machine and run your programs. The buttons below to the CRT screen
allow you to move through the menus available in the Haas operating system, as well as
manually control the machine itself (table, spindle, tool changer, coolant). The buttons to the left
of the CRT are used to turn the machine on and off, start and pause programs, and manually
move the three axes.

Stopping the Machine

Emergency Stop: The red button which sticks out from the panel will stop everything. Try to
use it only in real emergencies like someone or something falling into the rotating spindle. It
will shut down the whole machine and reset to the beginning of the loaded program. You will
have to exercise some effort to restart the system and continue your machining.

Feed Hold: The red button at the bottom left of the control panel will stop all table movement
but leave the spindle rotating. Use this button when something unexpected but not life
threatening happens. If the tool breaks, is going to hit the part or vise, or some other operator
error, this is the best button to hit. It will halt your program, allow you to fix the problem, and
then easily continue to execute your program.

See Appendix D for a full list of button functions.

6.1.2 Setup Procedure for Producing a Part

This section explains the preparation of the machine for operation. These steps in setup are
necessary and time consuming, and it doesn't matter whether you will be using manual or
computer assisted part programming. Following these steps will make your setup procedure go
faster and in a foolproof manner.

• Workpiece Layout


• Powering Up
• Securing Workpiece to Table and Setting the Absolute Coordinate System
• Tool Preparation and Setting the Tool Length Offsets Workpiece Layout:

Determine an accurate geometric feature of the workpiece stock, usually a square corner, and set
this point to the origin in your CAD drawing of the part. All features in your CAD drawing
should be with respect to this origin. Remember that the workspace of the machine is limited, so
make sure the reference chosen will allow the part to be machined easily

Common sense is a good guide in laying out your part. For example, the length of an 18" bar to
be machined should be positioned along the X-axis, NOT the Y-axis. This is because
positioning along the Y-axis would cause the ends of the bar to be unsupported and extend off
the table. The limits of travel for the axes are 20" in the X, 16" in the Y, and 20" in the Z-axes.

If the piece to be cut does not have any accurate geometric features, then mark the piece to
facilitate mounting it to the machine. This means:

• Mark the origin using either a scribe or a centerpunch. This origin should coincide with
the origin used in specifying the part program.
• Draw two perpendicular lines through the origin, parallel to the sides of the workpiece (as
close as possible).

You should be ready to fixture the workpiece. Tool Preparation:

• Collect the tools you specified when planning the process and developing your NC
• Tools are mounted in tool holders, which in turn are mounted in the tool changer carousel.
• If your program requires any nonstandard tools which are not already in the carousel, you
will have to mount them in collets and load them into the tool changer. Put the tool holder
in the jig (a big, black, hex nut). Place the tool and the collet in the tool holder, screw the
retaining screw onto the tool holder and tighten with the wrench.
• Place all tools in the appropriate position in the tool changer carousel. Powering Up and Aliognment:

• Flip the main power disconnect switch into the up position. This switch is on the fence
behind the machine.
• Turn on the main air valve to the machine. It is also located behind the machine.
• Flip the power switch for the control box to the on position. It is located on the back of the
• Press the green POWER ON button to the left of the control panel.

AML Laboratory Manual

• Press POWER UP / RESET on the control panel. This will warm up the spindle, and move
the table and tool changer to their home positions. Fixturing the Workpiece:

If the workpiece is small you can secure it to the table with a vise. The part for the lab exercise
can be held this way. The steps are:

• The vise must be bolted to the table and properly aligned.

• Place a set of parallels in the vise.
• Put the workpiece in the vise so that the longest sides are held in contact with the vise jaws.
• Tighten the vise so that the piece is firmly in place.

If the workpiece is too big or of irregular shape so that it cannot be fixtured in a vise, it will have
to be mounted directly to the table with special clamps called dogs. Dogs are steel bars with
steps cut into one end and a slot cut into the middle. This is more complicated than using a vise
and requires at least two clamping points. After locating the workpiece stock on the table,
usually in the center of the table, the steps to mount a dog are:

• Take a “T”-shaped nut and slide it into one of the “T” slots in the table to within 1/2” to 1”
of the workpiece stock.
• Thread a rod of appropriate length into the “T”-nut.
• Mount a dog of sufficient length on the threaded rod through the slot, and with the non-
stepped end touching the workpiece. The threaded rod should stick out at least 1” when the
dog is held horizontally.
• A step block should be mounted under the stepped end of the dog. The end of the dog on
the step block should be just a bit higher than the end on the workpiece.
• Thread a nut onto the threaded rod and use it to tighten against the dog.
• Repeat this process for the other three corners. If the piece is small you can get away with
only two dogs. However, there should always be at least two dogs securing the piece to the
table. Setting the Absolute Coordinate System and Tool Length Offsets:

The purpose of this step is to define the origin used when developing the NC code. This means
setting an absolute coordinate system in terms of the machine X, Y and Z-axes. If this step is not
done, the machine will assume that the position of the table when the power was turned on is the
origin for the program. These procedures are for workpieces with square corners that serve as a
natural reference point for locating the coordinate axes.

The steps in establishing the absolute X-Y coordinates are:

• Select the 0.200 inch edge finder or "wiggler” tool and load it into the spindle.
• With the spindle running, use the axis motion controls to move so that the edge finder is
just below the surface of the stock. Then move one of the axes in the step mode until the


edge finder aligns and then just starts to wiggle. Then move the quill up and increment the
axis 0.100 inches (the radius of the edge finder).
• Press the OFSET key and PAGE UP until the Work Coordinate page appears.
• Use the cursor arrows to get to G54 X (or any of the other available work offsets).
• Push the PART ZERO SET key and the X –axis value will be stored as this offset.
• The cursor will automatically move to the G54 Y location. Repeat the steps above to set
the G54 Y.
• Usually the Z axis value will not have to be set and should be zero.

The tool length offset (TLO) establishes the Z-axis origin (Z=0) for each tool. This procedure
is used to relate the numbered tools called out in a "T##” command to the workpiece top surface.
Refer to Figure 4.14. This only needs to be done for tools that you added to the carousel. All the
tools currently loaded should be set already. The steps in this procedure are:

• Select the new tool and load it into the spindle.

• Place the 2” gage block on the table surface.
• Press the OFSET key and PAGE DOWN to the Tool Offset page. Move the cursor to the
appropriate tool. This must match the pocket number used in defining your machining
• CAREFULLY lower the tool to the top surface of the gage block. Use the 0.1”, .01” and
0.001” settings when you are within 0.500 inches of the workpiece. Lower the tool until
you feel a slight resistance when you pass the gauge between the tool and the piece. The
tool is now 2” above the workpiece.
• Press the TOOL OFSET MESUR key and the Z value will be stored in the tool offset.
• Close the machine doors. Press the NEXT TOOL key and the Z-axis will retract to tool
change position and the next tool will be loaded into the spindle.
• Repeat the above steps to set the next tool.

Figure 4.14: Tool Length Offset

AML Laboratory Manual

7.0 Abrasive Water Jet Machining

7.1 Introduction to Technology

Waterjet cutting uses a high pressure stream of water to cut through material. Abrasive waterjet
cutting adds small abrasive particles to the stream of water to speed up the process. Both
processes force the water (typically 20,000 to 55,000 psi.) through a tiny hole in a jewel orifice
(usually 0.010” – 0.015” in a ruby, sapphire, or diamond). The abrasive is then added to the
stream and goes through a mixing tube to produce a stream of wet abrasive moving upwards of
Mach 2. The abrasive allows the process to cut metals and other hard materials.

The jewel and mixing tube are mounted on the cutting head of the machine, analogous to the
spindle of a milling machine. This head is servo positioned above a cutting table. The cutting
table is simply a row of thin slats above a large tank of water. The abrasive stream will cut
through everything in its way, workpiece, and table. The depth of the water tank slows down the
stream and dissipates the power. The tank also serves to contain the water, abrasive, and small
particles of the workpiece. The slats are eaten away over time, but are expendable. Robotic
arms are also being equipped with water jet heads to provide added flexibility and cutting of
complex 3D geometries.

Figure 4.15: Water Jet Nozzle Figure 4.16: Abrasive Water Jet Nozzle

Water jet machines are used to cut diapers, candy bars, chicken, fish, foam, rubber, paper, fabric,
carpet, and other soft materials. Food is often cut with waterjet machines because it is a very


clean process. In the cases of tissue paper and disposable diapers the waterjet process creates
less moisture on the material than touching or breathing on it.

Abrasive waterjet uses small particles of abrasive grit (basically sandpaper without the paper) to
cut harder materials. These machines can cut aluminum, steel, copper, marble, wood, glass,
plastic, almost anything. Garnet is the most commonly used abrasive because it is inexpensive,
hard, and capable of cutting a wide variety of materials. Special abrasives are made for cutting
soft materials, or other specific applications. Abrasives come in different hardness, mesh size
(particle diameter), sharpness, and purity.

As the water passes through the jewel, it is about 0.010”. Once the abrasive is added and the
stream leaves the mixing tube, it is 0.020” – 0.030”. This stream expands slightly as it flows
through air, much like water coming out of a fire hose. If setup correctly, the material being cut
helps to restrict the stream from fanning out, the cut will be relatively straight. Typically, the
stream produces a tapered cut which expands ~0.001”/inch of depth of cut.

The abrasive water jet is described as a ‘floppy tool’. This is because it is not rigid and cannot
maintain its shape as it cuts through the material. Rather than staying vertical as it passes
through the workpiece, it slowly eats through the material and only hits the upper surface at full
speed. As the nozzle moves forwards, the water stream slows down and curves away from the
direction of travel (fig. 4.17). The jet lags between where it enters the workpiece and where it

Figure 4.17: Jet lag in thick part

7.1.1 Tolerances & Part Accuracy

There are a number of problems with waterjet technology that limit the accuracy of the process.
The cutting nozzle is controlled via servo motors and lead screws. This arrangement is typically
capable of 0.0002” positional accuracy when used in milling machines. The nature of waterjet
cutting adds a number of additional limitations and control challenges to making ‘perfect’ parts.
The radius of the abrasive jet, stream taper, water pressure regulation, and speed control affect
kerf width. These factors typically limit part accuracy to 0.010”, however making a few test
parts and tweaking the cut parameters may allow accuracies up to 0.005”.

The geometry of a part can also affect tolerances. Jet lag causes the abrasive stream to exit the

AML Laboratory Manual

bottom of the workpiece behind where it enters. When cutting a straight line, this is often not a
problem, but when cutting a curve or inside corner it can produce unwanted results. Most
controllers automatically adjust the nozzle speed to correct for geometry issues. Speeds are
generally reduced around curves, and the jet will pause for a moment when cutting inside
corners. Acceleration and deceleration can be controlled to further improve cutting accuracy.
All of these changes are generally achieved in the control software and transparent to the

Fig 4.18 shows a square hole cut at high speed. The jet cut into the part as it turned each corner.
Slowing down as the jet enters the corner, pausing to cut all the way through the material, and
then slowly leaving the corner can solve this problem. When cutting a curve, the jet will tend to
sweep out an arc and give a conical taper. This is shown (exaggerated) in Fig 4.19.

Figure 4.18: Corner Blowout Figure 4.19: Curve Taper

7.1.2 Surface Finish

Abrasive Waterjet cutting is basically a grinding process. Nozzle speed affects how much
material the stream can eat away as the cutting head traverses over the desired geometry. A high
federate will produce parts quickly and cheaply, but surface finish will be affected. Going ‘just
fast enough’ to cut all the way through the workpiece may leave an undesirable burr on the
bottom of the part. Jet marks will also be visible along the cut edge of the part.

7.1.3 Cost

An abrasive waterjet machine uses water and abrasive as consumable tooling. In addition to
these obvious costs, many parts of the machine have a limited life. High water pressure, and the
rough abrasive cause many components to wear out. The mixing tube focuses the stream of
water and abrasive. It is made of tungsten carbide for high wear resistance. As the inner
diameter of the mixing tube is worn away by the abrasive stream, the stream will grow larger and
accuracy will suffer. The jeweled orifice controls the size and shape of the water stream.
Minerals deposits can obstruct the opening and degrade the circularity of the water stream. The
gaskets and seals of the high pressure pump wear over time and must be replaced to ensure even
continuous pressure.

All these factors combine to an operating cost of approximately $25/hour depending on machine
and nozzle configuration. This does not include workpiece material, labor, or time to generate
computer code.


Component $/hour of run time

High pressure pump $4.42
Orifice $0.17
Mixing tube $1.83
Filters $1.00
Abrasive $.75 / lb.

These cost parameters are used for the AWJ on campus. Note they do not include the cost of
water, electricity, or routine maintenance. Abrasive use varies from .5-2 lbs per hour depending
on mesh size, water pressure, and hopper setup.

This example part is a spoon blank manufactured by AML students. It was cut
from 0.030” sheets of 304 Stainless Steel.

Cost $0.38
Cut time 54 seconds
Abrasive used .342 lbs
Length of cut 22.1”

7.2 Comparisons to Other Technologies

7.2.1 Stamping

Stamping dies are used to blank many parts from sheet material. An AWJ machine can be used
to cut these same parts from sheet or strip stock. The sheets can often be stacked (to 1-2”) for
faster production. For short production runs (less than 2000), the initial cost of manufacturing
the die is probably higher than cutting parts on a water jet. The waterjet is also more flexible.
Part geometry can be changed easily by modifying the computer code. Changes made to a die
are prohibitively expensive, so production of the die is usually held off until final part design is
finalized. Even if not used in production, AWJ is an excellent way to prototype stamped parts.

7.2.2 Conventional Milling

Setup and cleanup are much faster for an AWJ than a mill. Chip cleanup and degreasing or
cleaning of finished parts is not necessary. Tool changes and calibration are also eliminated on
an AWJ. Nesting allows more parts to be produced out of the same stock material, and the scrap

AML Laboratory Manual

generated is still whole, not in chips. This material may be more valuable as a sheet than a pile
of chips.

7.2.3 Laser Cutting

Abrasive Water Jet can cut many materials that lasers cannot (aluminum, copper, stainless steel).
Because there is no heat produced during cutting, there is no warping or heat-affected zone. This
eliminates the need for heat treating and stress reducing in post-processing. AWJ are safer, more
environmentally friendly, and cheaper than laser cutting systems. Thicker parts are possible with
AWJ (2”-3” vs. <1” for laser).

7.2.4 Wire EDM

Wire EDM and AWJ are very similar processes. AWJ cutting is faster and capable of cutting
many more materials (wood, stone, glass, plastic), but not as accurate. Pierce holes for the wire
must be machined prior to EDM cutting. AWJ does not heat the material being machined.

7.2.5 Milling Technology

Research is currently being done to examine the feasibility of using Abrasive Water Jet
technology to mill rather than simply cut. This is a special application of the ‘scribing’. By
carefully controlling the speed and motion of the nozzle, the stream can remove some material,
but not cut all the way through. Reducing the water pressure, reducing the abrasive used, and
increasing the feedrate of the cutting head are all methods used in milling.

7.3 Case Study

In 1999-2000, the Yo-Yo team used the AWJ machine to make contacts. These parts were made
of 0.03” copper, measured approximately 2”x2”. The geometry is shown in Fig 4.20. The
company needed 1200 of each part. They examined having a progressive die made, or using the
water jet to cut all the parts.

Cutting the parts one sheet at a time

would have cost $0.53 per set (2 A’s,
1 B, 1C) and taken 1 minute, 55
seconds (not including setup time).
Stacking the copper sheets and cutting
7 sheets at once could reduce
production costs to $2.37 and cut time
to 5 minutes, 20 seconds per set of 4

Figure 4.20: Yo-Yo Contacts

A price quote for the progressive die needed to produce all four parts was $850. Lead time on


this part was four weeks. Cutting all 2400 parts and the jig on the waterjet cost $610. For a
larger production run, the die would have been a more economical solution, but because of the
low runs required in the AML, the students chose to use the AWJ. An added bonus of the AWJ
is design flexibility. After cutting the first set of contacts, the geometry was changed slightly to
enhance the assembly process. A progressive die would have been extremely hard to modify
once the prints were sent to the vendor.

7.4 Machine Setup

7.4.1 Clamping

The forces placed on the workpiece during waterjet cutting are almost exclusively straight down
onto the table. The weight of your part is often enough to resist motion from any side forces
induced by the cutting action.

For thin parts, placing weights onto the workpiece is usually sufficient. Be certain that the
weights are not within the path of the nozzle or skirt. A collision may move your workpiece, or
damage the cutting head.

On larger parts (greater than ¼” thick), the part may shift along the cut direction. This is due to
the soft cutting tool aspect of the water stream. Along the perimeter of the tank, there are bolt
holes which can be used to bolt down dog ear clamps. Hook, or quick clamps can also be used
to provide clamping force in the middle of the tank. These clamp the part to the slats in the
cutting table. Be sure that the workpiece extends over the slat being clamped to, otherwise, the
clamp will simply life the slat out of the tank, using the workpiece as a lever. Again be certain
that all clamps and weights are not in the path of the nozzle or skirt.

7.4.2 Orientation

The workpiece should be orientated on the cutting table, just as it is in the FlowCUT software.
Alignment is difficult on the AWJ machine. Typically since the exterior of the part is being
machined, the exact location of the workpiece is not important. Simply running the nozzle back
and forth above the edge of the workpiece, and aligning it to the axes of the machine is usually
sufficient. For more accurate machining, using a jig to maintain position is suggested. It is
possible to mount a dial indicator to the nozzle, but this can be difficult.

7.5 Creating a .DXF file

To create a program to cut a part on the Abrasive Water Jet Machine, you need a .dxf file. This
standard file format is a 2D line drawing of your part and can be created in ProEngineer,
Solidworks, or any other CAD package.

Create a drawing of the part you wish to cut. The drawing should be 1:1 scale and have a single
view of your part, with the edges you want to cut being perpendicular to the view plane. This
view will correspond to looking down at the cutting table of the machine from above, matching
the view of the cutting head.

AML Laboratory Manual

Open the drawing you wish to cut.
File - export - model
Choose dxf format

Open the drawing you wish to cut.
File - Save As
Choose dxf format.

Nesting is a method of arranging parts on your workpiece to minimize scrap material.

FlowPATH has some simple tools for arranging parts in a grid, which works OK for square
parts, but for more complicated geometry, you may want to nest the parts in your original CAD
drawing. Fig 4.21 illustrates the patterning capabilities of FlowPATH, while Fig 4.22 shows a
more ideal layout for the same part.

Figure 4.21: Grid Part Layout Figure 4.22: Nested Parts

7.6 FlowPATH Software

FlowPATH is similar to ProManufacture. Based on a CAD drawing, it can generate tool paths
for the abrasive waterjet machine to cut. Parts can be imported as .dxf files, or simple parts can
be drawn within the program. Programming the parts is relatively simple, compared to milling
or turning a part. Tool changes, depth of cut, and retract plane are not a concern. The only
things to define is which lines to follow and in what order, which side of the line the tool should
stay on (inside for holes, outside for perimeter of parts), and what speed to move at. It is
generally a good idea to cut interior features first, and then cut the perimeter of the part. If done
in reverse, the part might shift slightly while holes or slots were being cut in the interior.


The speed of the nozzle is determined based on the material and thickness, as well as geometry.
Cutting 2” steel will obviously take longer to get through the 1/8” Plexiglas. Geometry is also a
factor because of the ‘floppy tool’ characteristics of the abrasive waterjet. A straight line cut can
be done faster than a circle or corner. The FlowPATH software automatically adjusts the speed
and acceleration rates based on the geometry of your part. As a programmer you have further
control of the overall speed used. The material and thickness provide an ‘ideal’ speed at which
the jet would just finish breaking through the material. This provides a fast, but unattractive and
wavy cut. For a better finish and improved tolerances, the speed of each line can be set to a
percentage of this ideal speed (20%, 40%, 60%, 80%, and 100%).

To begin a cut, the abrasive waterjet must first pierce a hole in the material, and then begin to
move and cut the part. The pierce time, how long the jet must stay in one place to create a
starting hole, is set automatically by the software. This hole is generally slightly larger than the
kerf created when cutting, and may leave an undesirable mark on the part. The solution to this
problem is to use a lead-in and lead-out for cuts. These are approach and exit paths for the tool
to follow so that the kerf is through the part and at a steady state size before the nozzle begins to
cut on the desired line. FlowPATH can generate arc, corner, and straight lean-in/outs.

Figure 4.23: Lead In / Lead Outs

7.6.1 Ordering the Cut Path

The cut path can be generated automatically, or manually. If done manually, you will have to
draw all necessary lead in/outs and rapid traverse lines. Autopath creates these automatically. It
is strongly suggested that you save the part before trying Autopath. This will preserve a clean
copy of your .dxf file, since Autopath can produce interesting results for complicated parts. Manual Path Ordering

• Confirm lead-in/lead-out properties

Draw - Lead-in/lead-out properties
• Assign lead in/outs where necessary
Draw - Lead-in/lead-out
• Link leads with traverse lines

AML Laboratory Manual

Draw - Link leads with traverse

• Select all entities to be pathed
• Begin manual path ordering
Preprocess - Manual order path
• Click on the first lead-in
• Select direction of tool offset
• As prompted select next line to follow (choices highlighted in red) at each intersection and
choose offset direction
• Click ‘OK’ when path is complete Automatic Path Ordering

• Select all entities to be pathed

• Begin automatic path ordering
Preprocess - Auto order path

Once the path is defined, export the path information to be used in FlowCUT, and save the .dxf
file for later changes.

File - Export path as.. generate ordered path file

File - Save update .dxf file

7.7 FlowCUT Software

This software package runs the abrasive water jet machine. Based on an .ord file created in
FlowPATH, and a number of settings (tool radius, material, thickness, pierce time, etc…) it
controls the servos, valves, and sensors of the machine itself. Although there are a number of
variables involved in running the machine, most of these have been set at nominal values, and
we will focus on only a few to make operation simpler.

7.7.1 Duplicating Parts

FlowCUT is capable of duplicating parts into a rectangular array, as shown in Fig 7.26. This is
helpful when cutting several of the same parts from the same material. The software will
duplicate the cut motions and connect each part with rapid traverse lines automatically.

• Edit - Duplicate the part

• Enter the desired number of rows and columns (ex: 2 rows and 3 columns = 6 parts).
• Set the distance between rows and columns (0.10” default is usually fine).
• Preview part again.
• Record new time and cost estimates.

7.7.2 Pausing and Stopping a Program

There are 4 ways to stop the machine during a cutting cycle:


Press the space bar OR click on C-stop.

This will stop the jet and abrasive, pause the program, and display four additional control buttons
(Rew, FW, Run, and Abort). The water and abrasive will stop simultaneously and the abrasive
will often become clogged.

To recover
1. Turn the Water switch to On to purge the abrasive line. You may want to use the rewind
(Rew) button to back up along the cut path to an area you know is cut through.
2. After the line is purged of abrasive and dry, place the water switch back to Auto
3. Click the Run button to restart the program at the current position.

Press <Esc> on the keyboard

This will stop the jet, the abrasive, the pump, and disable the program.

To recover
1. Click on C-Start to restart the entire cutting cycle.
1. Select Cutting - Cut from a point to start any location in the cut path.
2. Click on the drawing just before the location where the program was stopped.
3. The location and offset will be displayed and a dialog box will ask to verify this position.
4. Click Yes to proceed with the program from this location.

Press E-Stop on the machine

This will disable the drives, the jet, the abrasive, and the pump. The computer will stay on, but
the power to the drive motors will turn off.

To recover
1. Pull out the E-Stop and wait 15-20 seconds.
2. Home the machine.
3. Go to the last user-defined home.
4. Set the current position as user home.
5. Select C-Start or Cutting – Cut from a point.

7.7.3 Cutting a Part

• Open the .ord file.

• Select material and thickness (pierce time and speeds will be calculated based on these
values, jet radius is already set).
• Preview the cut.
• Verify that the cut looked right, and the scale is correct.
• Record the time and cost estimates in the log book!!!
• Open main water line.

** NOTE: Water must be turned on before operating the pump. If the pump is
operated without the main water line open, the pump will overheat and BREAK!!

AML Laboratory Manual

• Open air lines and pressurize abrasive hopper.

• Press Run Machine to enable machine control.
• Home the machine.

** NOTE: Before moving the nozzle be certain that the motion will not ram the nozzle into
clamps, workpiece, material, etc…

• Set user-defined home to origin of coordinate system in .dxf file.

• Verify that water and abrasive are set to Auto and Feedrate Override is set at 100%
• Press C-Start to begin cut.

** NOTE: Be certain that nozzle and shroud will not hit clamps during cutting motion.

** NOTE: Be aware of how to stop the cut cycle before starting.

• When the program is completed, the pump will shut off and a information box will display
the message “The program has finished.”

While the part is being cut, the screen will display the location of the nozzle every few seconds
as a red dot. The speed can be adjusted on the fly using the Feedrate Override bar on screen.
This will adjust the nozzle speed to a percentage (0-125%) of the programmed speed.



1. Automation, Production Systems, and Computer-Aided Manufacturing, M.P. Groover,

Prentice Hall, 1980.

2. Numerical Control and Computer Aided Manufacturing, Roger Pressman and John
Williams, Wiley 1977.

3. Tool and Manufacturing Engineers Handbook, Third Edition, Society of Manufacturing

Engineers, McGraw-Hill, 1976.

4. VF Series Operator’s Manual, 96-8000 rev C, Haas Automation, 1999

5. VF / HS Series Programming Workbook, Haas Automation, 2001

6. Analysis of Material Removal Processes, Warren R. DeVries, Springer-Verlag, 1992.

7. Pro/Manufacturing User’s Guide, Parametric Technology Corporation, 1994

8. Basic Milling / Turning Courseware, Automated Technology Solutions, version 1.04, 2001

AML Laboratory Manual

APPENDIX B: Reference Tables for Standard Drill, Tap, & Screw Sizes
Table 4.B.1: American Standard Letter, Number, and Fractional Drill Sizes


Table 4.B.2: Tap Drill Sizes

Screw Body Cl. Drill Tap Drill Screw Body Cl. Drill Tap Drill
Size Dia. Size Dia.
Dec. Frac. No. Dec. Frac. No. Dec. Frac. No. Dec. Frac. No.
00-112 .046 .049 .039 61 12-28 .216 .228 1 .182 14
* 00-90 .046 .049 .040 60 12-32 .216 .228 1 .1875 3/16
0-80 .059 .067 51 .0469 3/64 * 1/4-20 .250 .261 G .201 7
1-56 .073 .081 46 .055 54 1/4-28 .250 .261 G .213 3
* 1-64 .073 .081 46 .0595 53 1/4-32 .250 .261 G .2187 7/32
1-72 .073 .081 46 .0595 53 1/4-40 .250 .261 G .228 1
* 2-56 .086 .096 41 .070 50 1/4-64 .250 .261 G .228 1
2-64 .086 .096 41 .070 50 * 5/16-18 ..3125 .328 21/64 .257 F
3-48 .099 .106 36 .078 47 5/16-24 .3125 .328 21/64 .272 I
3-56 .099 .106 36 .082 45 5/16-32 .3125 .328 21/64 .277 J
4-32 .112 .120 31 .082 45 5/16-40 .3125 .328 21/64 .281 9/32
4-36 .112 .120 31 .0860 44 * 3/8-16 .375 .386 W .3125 5/16
* 4-40 .112 .120 31 .089 43 3/8-20 .375 .386 W .323 P
4-48 .112 .120 31 .0935 42 3/8-24 .375 .386 W .332 Q
5-40 .125 .136 29 .101 38 3/8-32 .375 .386 W .339 R
5-44 .125 .136 29 .104 37 3/8-40 .375 .386 W .3437 11/32
* 6-32 .138 .147 26 .1065 36 13/32-32 .406 .421 27/64 .375
6-36 .138 .147 26 .109 7/64 * 7/16-14 .437 .453 29/64 .368 U
6-40 .138 .147 26 .113 33 7/16-20 .437 .453 29/64 .3903 25/64
8-32 .164 .173 17 .136 29 7/16-32 .437 .453 29/64 .406 13/32
8-36 .164 .173 17 .136 29 1/2-12 .500 .515 33/64 .4219 27/64
8-50 .164 .173 17 .140 28 * 1/2-13 .500 .515 33/64 .4219 27/64
10-24 .190 .204 6 .1495 25 1/2-20 .500 .515 33/64 .4531 29/64
* 10-32 .190 .204 6 .159 21 1/2-24 .500 .515 33/64 .4687 15/32
10-40 .190 .204 6 .166 19 1/2-28 .500 .515 33/64 .4687 15/32
* 12-24 .216 .228 1 .177 16 1/2-32 .500 .515 33/64 .4687 15/32
* - Preferred Sizes

AML Laboratory Manual


Figure 4.C.1: Operator’s Control Panel

The control panel consists of 133 keys and is divided into nine separate regions. They are:
keys, MODE keys, and NUMERIC keys. A detailed description of how and where these keys
are used can be found in the HAAS VF Series Programming and Operation Manual. The
following are short descriptions of the control panel keys’ usage.

RESET keys: The keys are in the upper left corner of the control panel.

RESET Stops all machine motion and places the program pointer at the top of the


current program.

POWER UP / RESTART Automatically initializes the machine at power-up. After initial

power-up, when this key is pressed, the axes zero return and tool one is put
in the spindle.

TOOL CHANGER RESTORE Restores the tool changer to normal operation after the tool
changer has encountered an interruption during a tool change. The button
initiates a user prompt screen to assist the operator in recovering from a tool
changer crash.

FUNCTION keys: Below the reset keys are the function keys. They are used to execute special
functions implemented throughout the control software.

F1 – F4 Used in editing, graphics, background edit, and for help/calculator to

execute special functions.

TOOL OFSET MESUR Used to record tool length offsets in the offset page during part

NEXT TOOL Used to select the next tool during part setup.

TOOL RELEASE Releases the tool from the spindle when in MDI mode, zero return, or
handle jog. (The remote TOOL RELEASE button is located on the front of
the cover to the spindle head. It operates the same as the on the keypad. It
must be held for ½ second before the tool will be released, and the tool will
remain released for ½ second after the button is released. While the tool is
unclamped, air is forced down the spindle to clear chips, oil, or coolant
away from the tool holder.

PART ZERO SET Used to automatically set work coordinate offsets during part setup.

JOG keys: The jog keys are on the left below the function keys. These keys select which
axes the jog handle send signals to and provide for continuous jogging. When a
key is pressed briefly, that axis is selected for use by the jogging handle. When a
key is pressed and held down, that axis is moved as long as the key is held down.
If a “+” key is pressed and held, the axis is moved so that the tool position is
changed in the positive direction relative to the work coordinates. If a “-“ key is
pressed and held, the axis is moved so that the too position is changed in a
negative direction relative to the work coordinates. The jog keys are locked out if
the machine is running.

+A, -A Selects the A axis. Selects the B axis when used with the shift key and
control is configured with a fifth-axis option.

+Z, -Z Selects the Z axis.

AML Laboratory Manual

+X, -X Selects the X axis.

+Y, -Y Selects the Y axis.

JOG LOCK When pressed prior to one of the above keys, the axis is moved in a
continuous motion without the need to hold the axis key depressed. Another
press of the JOG LOCK key stops the jogging motion.

To the left side of the jog keys are three keys to control the chip auger.

CHIP FWD Turns the auger in a direction that removes chips from the work cell.

CHIP STOP Stops auger movement.

CHIP REV Turns the auger in the reverse direction.

To the right side of the jog keys are three keys to control the automatic coolant spigot.

CLNT UP Pressing this key positions the coolant stream direction one position higher,
if possible.

CLNT DOWN Pressing this key positions the coolant stream direction one position lower,
if possible.

AUX CLNT Pressing this key while in MDI mode will turn on the Through the Spindle
Coolant system, and pressing it again will shut off the system.

OVERRIDES: The overrides are at the lower left of the control panel. They give the user the
ability to override the speed of rapid traverse motion, as well as programmed
feeds and spindle speeds.

HANDLE CONTROL FEDRATE Allows jog handle to be used to control federate in +- 1%

increments (from 0 to 999%).

-10 Decreases current federate by 10% (from 10 to 200%).

100% Sets control feedrate to programmed feedrate.

+10% Increases current federate by 10% (from 10 to 200).

HANDLE CONTROL SPINDLE Allows jog handle to be used to control spindle speed in +-
1% increments (from 0 to 999%).

-10 Decreases current spindle speed by 10% (from 10 to 150%).


100% Sets control spindle speed to programmed feedrate.

+10% Increases current spindle speed by 10% (from 10 to 150).

CW Starts the spindle in the clockwise direction.

STOP Stops the spindle.

CCW Starts the spindle in the counterclockwise direction.

5% RAPID Limits rapid traverse to 5% of maximum.

25% RAPID Limits rapid traverse to 25% of maximum.

50% RAPID Limits rapid traverse to 50% of maximum.

100% RAPID Limits rapid traverse to 100% of maximum.

DISPLAYS: The display keys are in the center at the top. These keys provide access to the
different displays, operational information, and help routines available to the
user. Some of these keys are multi-action keys in that they will display
different screens when pressed multiple times. The current display is always
displayed on the top left line of the video screen.

PRGM / CONVRS Displays the currently selected program. Also used in Quick Code

POSIT Displays the position of the machine axes. Pressing PAGE UP and PAGE
DOWN will show operator, machine, work, and distance-to-go formats in
large letter formats.

OFFSET Displays the tool length and radius offsets. PAGE UP will display the
values of the axes’ work offsets. If the ORIGIN button is pressed while the
offsets are displayed, the control will prompt the user: ZERO ALL (Y/N)?
Entering Y will zero all the offsets in the section displayed.

CURNT COMDS Displays the current program, model program values, and position during
run time. Succeeding presses of the PAGE DOWN key will display modal
values, system timers, macro variables, too life and tool load information.

ALARM / MESGS Shows the full text of an alarm when the alarm message is flashing. Pressing
the left or right arrow keys will display an alarm history. Pressing PAGE
DOWN will display a page for user messages and notes.

PARAM / DGNOS Displays and allows changing of parameters that define machine character.
Pressing PAGE UP will display lead screw compensation values.

AML Laboratory Manual

Successive PAGE DOWN presses will display general parameters as well as

the X, Y, Z, A, and B parameters. A second press of the PARAM key will
display the first page of diagnostic data. The first page of diagnostic data is
discrete inputs and outputs. Pressing PAGE DOWN will display the second
page of diagnostic data what consists of additional inputs and analog data.

SETNG / GRAPH Displays and allows changing of user settings. Pressing the SETNG key
twice enables graphics mode, where the user can debug the current program
and view the program’s generated tool path.

HELP / CALC Displays a brief, on-line manual. Pressing HELP a second time will display
the help calculator. There are three pages of calculator help. Pressing the
PAGE DOWN key will display milling and tapping help, trigonometry help,
or circle help.

CURSOR keys: The cursor keys are in the center of the control panel. They give the user the
ability to move to various screens and fields in the control. They are used
extensively for editing of CNC programs.

HOME Context-sensitive key that generally moves the cursor to the top-most item
on the screen. In editing, this is the top block of the program. In graphics
mode, it twill select full view.

UP ARROW The up arrow moves up one item, block, or field. N graphics, the zoom
window is moved up.

PAGE DOWN Used to change displays, move up one page in the editor, or zoom out when
in graphics.

LEFT ARROW Used to select individually editable items within the editor; moves cursor to
the left. It selects optional data in fields of the settings page and moves the
zoom window left when in graphics.

RIGHT ARROW Used to select individually editable items within the editor; moves cursor to
the right. It selects optional data in fields of the settings page and moves the
zoom window right when in graphics.

END Context-sensitive key that generally moves the cursor to the bottom-most
item on the screen. In editing, this is the last block of the program.

DOWN ARROW The down arrow moves down one item, block, or field. N graphics, the
zoom window is moved down.

PAGE DOWN Used to change displays, move down one page in the editor, or zoom closer
when in graphics.


ALPHA keys; The alpha keys allow the user to enter the 26 letters of the alphabet along with
some special characters.

SHIFT The shift key provides access to the white characters on the keyboard.
Pressing SHIFT and then the white character will cause that character to be
sent to the control. When entering text, UPPER CASE is the default. To
access lower case, press and hold the SHIFT key while pressing the
appropriate character. The SHIFT key can also be continuously held down
while a number of other keys are pressed

EOB This is the END_OF_BLOCK character. Is it displayed as a semicolon on the

screen and it signifies the end of a programming block. It is the same as a
carriage return and then a line feed.

() The parenthetical brackets are used to separate CNC program command from
user comments. They must always be entered as a pair and may or may not
have additional character separating them. Any time an invalid line of code is
received through the RS-232 port while receiving a program, it is added to the
program between these two brackets.

/ The right slash is used as a block delete flag. If this symbol is the first symbol
in a block and a BLOCK DELETE is enabled, then the block is ignored at run
time. The symbol is also used for division in macro expressions.

[] Square brackets are use din macro expressions and functions.

MODE KEYS: The mode keys are in the upper right part of the control panel. These keys
change the operational state of the CNC machine tool. The user can enter a
specific mode by pressing the desired “arrow” shaped key on the left. The keys in
the same row as the pressed key are then made available to the user. Otherwise,
these keys are not available. The current mode is always displayed on the top line
just to the right of the current display on the video screen.

EDIT Selects edit mode.

INSERT Inserts the text in the input buffer after the current cursor location. Also used to
copy blocks of code in a program.

ALTER Changes the item that the cursor is on to the text in the input buffer. Places an
MDI program in the program list.

DELETE Deletes the item that the cursor is on.

UNDO Backs out or undoes up to the last 9 edit changes.

MEM Selects MEM mode.

AML Laboratory Manual

SINGLE BLOCK Turns single lock on so that when the cycle start button is pressed, only one
block of the program running is executed.

DRY RUN Used to check actual machine movement without cutting the part. Programmed
feeds are replaced by the speed keys in the handle jog row.

OPT STOP Turns on optional stops. If an M01 code is encountered in the program and
OPT STOP is on, a stop is executed. Depending on the look-ahead function, it
may not stop immediately. If the program has been interpreted many blocks
ahead, and OPT STOP is pressed, then the nearest M01 may not be
commanded. See G103.
1. OPT STOP will take effect ion the line after the highlighted line when
OPT STOP is pressed.
2. M01 is not allowed during cutter compensation. Alarm 349 will be
generated in this case, as for M02, M30, and M00.

BLOCK DELETE Blocks with a slash (“/”) as the first item are ignored or not executed when
this option is enabled. If a slash is within a clock, address codes after the slash
will be ignored until after the block, if this option is enabled.
1. When not in cutter compensation, block delete will take effect two lines
after BLOCK DELETE is pressed.
2. When in cutter compensation, blocks must be processed earlier.
Therefore, block delete will not take effect until at least four lines after the
highlighted line when BLOCK DELETE is pressed.
3. If BLOCK DELTE changes state during the processing of the first block
of a chamfering/rounding pair, and at least one of the pair is block deleted,
the behavior is undefined.
4. Processing will slow down for paths containing block deletes during
high-speed machining, because the look-ahead queue will be emptied as
processing approaches the block-deleted line(s). This limits the speed at
which the previous block can run.

MDI/DNC Selects MDI or DNC mode.

COOLNT Turns the coolant on and off.

ORIENT SPINDLE Rotates the spindle to a known position and then locks the spindle.
Can be used during setup to indicate parts.

ATC FWD Rotates the tool turret forward to the next sequential tool. If Tnn is in the
input buffer, the turret will advance to tool nn.

ATC REV Rotates the tool turret backwards to the next sequential tool. If Tnn is in the
input buffer, the turret will advance to tool nn.


HANDLE JOG Selects Jogging mode.

.0001, .1 0.0001 inches or 0.001 mm for each division on the jog handle. For dry run,
0.1 inches/min.

.001, 1. 0.001 inches or 0.01 mm for each division on the jog handle. For dry run,
1.0 inches/min.

.01, 10. 0.01 inches or 0.1 mm for each division on the jog handle. For dry run, 10.0

.1, 100. 0.1 inches or 1.0 mm for each division on the jog handle. For dry run, 100.0

ZERO RET Selects Zero Return mode.

AUTO ALL AXES Searches for all axes’ machine zero.

ORIGIN Zeros out various displays and timers.

ZERO SINGL AXIS Searches for machine zero on the axis that is specified in the input

HOME G28 Returns all axes to machine zero in rapid motion. Does not search.

SINGLE AXIS HOME G28 Either the X, Y, Z, A, or B axis can be returned to zero
alone. The operator enters X, Y, Z, A, or B, then presses the HOME G28

Pressing HOME G28 without first entering an axis letter will cause all
enabled axes to be returned to zero.

If the chosen axis is disabled, the message DISABLED AXIS will be


CAUTION! There is no warning message to alert the operator of any possible collision. For
example, if the Z axis is down in amongst parts on the table when X or Y is zeroed, a crash can

SECOND HOME This is an optional feature. When this button is pressed, the control will
rapid all axes (which have the 2ND HOME BTN bit = 1) to the coordinate
specified in Work Offset G129. The sequence is as follows: First, assuming
the X or Y axis need to be moved, the Z axis is returned to zero, then the X
and Y axes are moved to their final positions, then the Z axis is moved to its
final position. G129 Work Offsets must be set to the desired values for this

AML Laboratory Manual

feature to work correctly. This feature will work in any mode except DNC,
just like the HOME G29 button.

LIST PROG Selects Program List mode and displays a list of programs in the control.

SELECT PROG Makes the highlighted program on the program list the current program.
The current program will have an asterisk preceding it in the program list.

SEND RS232 Transmits programs out the RS-232 serial port. If ALL is highlighted, all
the programs will be sent, with one “%” at the beginning and one at the end
of the stream.

RECV RS232 Receives programs from the RS232 serial port. Unless ALL is highlighted,
enters a program name in the form Onnnnn before pressing RECV RS232.
If ALL is highlighted, do not enter a program name. The program name
will be entered automatically from the input stream.

ERASE PROG Erase the highlighted program or the program specified in the input buffer.

NUMERIC keys: The numeric keys give the user the ability to enter numbers and a few
special characters into the control.

CANCEL The CANCEL key is used to delete the last character entered during editing
or field input.

SPACE This is a space and can be used to format comments placed into programs.

WRITE / ENTER This acts as the general purpose enter key. Amy time the user needs to
change any information in the control, this key is pressed.

-, . Used to negate numbers, or provide decimal precision.

+, +, #, and * These symbols are accessed by first pressing the SHIFT key and then the
key with these symbols. They are used in macro expressions.

?, %, $, !, &, @, and : These are additional symbol, accessed by pressing the SHIFT key.
They can be used in program comments.




EIA RS-227A One Inch Perforated Tape.

EIA RS-267A Axis and motion Nomenclature for Numerically Controlled

Machine Tools.

EIA RS-274C Interchangeable Perforated Tape Variable Block Format for

Positioning, Contouring and Contouring/Positioning
Numerically Controlled Machines.

EIA RS-281A Electrical and Construction Standards for Numerical

Machine Control.

EIA RS-358 Subset of USA Standard Code for Information Interchange

for Numerical Machine Control Perforated Tape.

USA X3.4-1967: USA Standard Code for Information Interchange.


The following letters are used to address registers.

N - Sequence Number
G - Preparatory Function
X - X-axis command
Y - Y-axis command
Z - Z -axis command
I, J, K, R - Canned cycle and circular option data
S - Spindle Speed
T - Tool select
D - Tool diameter
H - Tool length offset
F - Feed rate
E - Countouring accuracy (for high speed machining)
M - Miscellaneous Function

NOTE: Although words within a block may follow any convenient sequence, it is
recommended that the above order be maintained.

AML Laboratory Manual

If redundant letter addresses are used, the last word with its address will apply. The exceptions
to this constraint are G-codes, which may be multiple per block and X, Y, Z, and A when they
appear within a canned cycle.

Non-functional characters other than those defined as valid by USAS X3.4-1967 including EIA
RS-358 will be ignored by the control.


1.3.1 Comment: ( )

Used to separate CNC program commands from user comments.

1.3.2 Slash Code: /

Used to define an optional block.

1.3.3 Sequence Number Letter Address: N

Range: N0 to N99999

1.3.4 Preparatory Function Letter Address: G

Range: 0 to 187

1.3.5 Square Brackets: [ ]

Used in macro expressions and functions.



G00 - (Modal) Rapid Traverse, point-to-point positioning

G01 - (Modal) Linear Interpolation, Feed
G02 - (Modal) Circular Interpolation Arc CW
G03 - (Modal) Circular Interpolation Arc CCW
G04 - (Non-Modal) Dwell
G17 - (Modal) XY Plane
G18 - (Modal) XZ Plane
G19 - (Modal) YZ Plane
G20 - (Modal) Select Inch Dimension System
G21 - (Modal) Select Metric Dimension System
G40 - (Modal) Cutter Diameter Compensation Cancel
G41 - (Modal) Cutter Compensation Right
G42 - (Modal) Cutter Compensation Left
G47 - (Modal) Text Engraving
G54 - (Modal) Select Work Coordinate System #1
G79 - (Non-Modal) Rough Bore Milling Cycle
G80 - (Modal) Canned Cycle Cancel
G81 - (Modal) Drill Cycle
G82 - (Modal) Drill Dwell Cycle
G83 - (Modal) Normal Peck Drill Cycle
G84 - (Modal) Tapping Cycle
G85 - (Modal) Boring Cycle
G90 - (Modal) Absolute Programming Mode
G91 - (Modal) Incremental Programming Mode

There are a number of other codes available on the Haas machine. They deal with 5-axis work,
subroutines, additional work coordinate systems, and other rarely used features.

1.3.5 X Axis Command: X

Range: Inch X 000.0001 to +/- 15400.0000 (in)
Metric X 0000.001 to +/- 39300.00 (mm)
(See departure limitations in certain operations)

1.3.6 Y Axis Command: Y

Range: Inch X 000.0001 to +/- 15400.0000 (in)
Metric X 0000.001 to +/- 39300.00 (mm)
(See departure limitations in certain operations)

1.3.7 Z Axis Command: Z

Range: Inch X 000.0001 to +/- 15400.0000 (in)
Metric X 0000.001 to +/- 39300.00 (mm)

1.3.8 Feedrate Letter Address: F

AML Laboratory Manual

Range: 0.1 ipm to 650 ipm

1.3.9 Spindle Speed Letter Address: S

Range: 0 RPM to 1000 RPM

1.3.10 Tool Select Letter Address: T

Range: T1 to T24

1.3.11 Miscellaneous Function Letter Address: M

Maximum Number of Digits: 2

1.3.13 Miscellaneous Functions

Actions relative to axis move in same block of data.
See Haas Manual for complete list of M codes.

M00 - Program Stop

M01 - Optional Stop
M02 - End of Program
M03 - Spindle on clockwise
M04 - Spindle on counterclockwise
M05 - Spindle stop
M06 - Tool change
M08 - Coolant on
M09 - Coolant off



The following paragraphs contain descriptions, use and meaning of the program entries. Also
covered in this section are various considerations to be taken into account and procedures to
follow in programming apart. This section covers basic Word Address programming.


If it is desired to bypass certain portions of a tape program, a optional delete (/) is entered at the
beginning of each block of information which may require deletion. When the operator turns the
BLOCK DELETE button, located on the control console, is pressed, the control will read
through all blocks of information which are preceded by the delete code, ignoring all commands
in those blocks. (/) code must be the first character on a data block to be recognized as a delete

To cancel this function from the control, the BLOCK DELETE must be pressed a second time to
return to normal operation.

This feature could be used, for example, where a trial cut procedure is required. Each block of
information within the trial cut sequence would be preceded by a delete code. The trial cut
procedure could then be taken or by-passed at the operator’s discretion, or as directed by written
instructions from the programmer.




A programmed sequence number addressed by the letter N followed by up to 5 digits ranging

from 0 to 99999 is used to identify blocks of tape information. As each programmed sequence in
the program is processed, it is highlighted on the CRT. The program will scroll up on the screen
as the machine runs through the code.

NOTE: The sequence number code is also used as a checkpoint for Repetitive Programming.


A preparatory function is required to change the programmed mode of operation of the control.
The letter address G followed by two or three digits indicates the mode of operation. More than
one preparatory function can be programmed in one block of information, however, caution must
be exercised as the function may be self-canceling, e.g., G0 G1, in which case only the last
function programmed would be in effect.

The Following is a list of some common preparatory functions and a description of each.
Subsequent paragraphs in this manual will describe the use of these functions in the context of a

AML Laboratory Manual

G00 - Rapid traverse, positioning mode.

This function will cause the machine to operate in the rapid traverse positioning mode with
absolute or incremental data input.

NOTE: Programmed feed remains in the feed rate registry.

The XY axes involved will move towards the programmed point in rapid traverse at 45 degrees
first followed by the continued motion of the major axis itself.

If the system is in rapid traverse and a Z move is programmed (and even if an X and/or Y move
is concurrent), logic in the control console will split the move into XY motion as above and a
separate Z motion. If the programmed Z motion requires the quill to go up, the Z motion will
occur first then the X and/or Y move. If the programmed Z motion requires the quill to go down,
the X and/or Y motion will occur first followed by the Z motion.

G00 cancels G01, G02, G03, G18 and G19. It will also set the system in the G80 (fixed cycle
G81, Through G89 cancel) mode. Initializing the control with POWER ON, or RESET places
the control in rapid traverse, positioning mode (G00).

G01 - Linear interpolation, feed.

This function will cause the machine to operate in the feed range (.1 to 650.0 ipm)* as the axes
travel along a straight line. The starting point of the path is defined by the X, Y, and Z
coordinates of the previous block. The end point is the programmed coordinates contained in the
block of data. G01 cancels G00, G02 and G03.

G02 - Circular interpolation mode clockwise.

This function indicates that the axes motions are to generate an arc in the clockwise direction.
The arc radius is defined by the start point (the position at the end of the previous data block),
the end point, and the arc center (I, J, K coordinates). Arc contouring motions are limited to
movement in two out of three linear axes (X, Y, Z). G02 cancels G00, G01 and G03.

G03 - Circular interpolation mode counterclockwise.

This function is the same as G02 except the axes motions generate an arc in the
counterclockwise direction. G03 cancels G00, G01 and G02.

G81 - Drilling cycle. (Figure 4.E.2)


This function, when programmed with Z, F information, provides for a feed in - rapid out
sequence suitable for drilling a series of holes that have the same diameter and depth. G81
remains in effect until a G00, G80 or another fixed cycle G code is programmed.

NOTE: The Z value is the incremental unsigned distance.


N01 G90
N02 T1 M06
N03 S2500 M03
N04 G0 X0 Y0
N05 X10. Y5. Z.1
N06 G81 Z1.2 F80
N07 X5. Y10.
N08 G0 X20. Y10.
N09 G81 X.7 F80
N10 X25. Y5.
N11 G0 Z5.
N12 X0Y0
N13 M2
Figure 4.E.1

N1 Block Set up the absolute coordinate system (G90).

N2 Block Rapid traverse positioning (G0) mode, load tool #1 (M06), and quill Home (M6).

N03 Block Turn spindle on clockwise (M03) at 2500 RPM (S2500).

N04 Block Move to the origin X0, Y0 (part origin).

N5 Block Move over hole #1 and bring the tip of the tool to 0.1” clearance plane above the
top of the work piece (Z.1)

N06 Block In the definition block, start a drilling cycle (G81) that will drill a hole 1.1” deep
from 0.1” clearance plane at a feed of 8 IPM. The cycle is then run once and hole
#1 is drilled.

N07 Block Move to next location and drill hole #2 using previous set information. (N06 etc.)

N08 Block Cancel drilling cycle (G0) and rapid traverse in X and Y directions to hole #3.

AML Laboratory Manual

N09 Block Define a new drilling cycle (G81) for a hole 0.6” deep from 0.1” clear plane at a
feed of 8 ipm. Drill hole #3.

N10 Block Move to next location and drill hole #4 using previous set information. (N09 etc.)

N11 Block Cancel drilling cycle (G0) and rapid tool to clear all Z heights

N12 Block Rapid traverse in X and Y to origin.

N13 Block Returns tool to tool change position, removes tool and returns it to tool holder
carousel, and resets program to beginning (M2)

Figure 4.D.2. Drilling Cycle

G90 - Absolute Input.

This preparatory function causes the control to accept all X, Y, Z entries in the contouring or
positioning mode as an absolute coordinate in reference to a chosen absolute X, Y zero. The
control will automatically compare the present absolute coordinate position with the new
programmed absolute coordinate position and apply the difference as a motion command to the
appropriate axis. The absolute input system will be in effect until a G91, incremental distance
input command, is programmed. Initializing the control through POWER ON or RESET places
the control in Absolute Dimension Input (G90).

NOTE: The first Z value after a Z home command must be G90 absolute coordinates.
G91 - Incremental distance input.

This preparatory function causes the control to accept all X, Y, and Z entries in positioning or
contouring mode as incremental distance commands. Thus, all linear axis motion entries will be
interpreted as commands to move the same distance as that programmed, from the preset
position, and not to an absolute position. The incremental input system will remain in effect


until changed by entering a G90, absolute input preparatory command, or initializing the control
(See G90 above).

G92 - Absolute Position Set.

This code can be used to define a new value for any one or all of the X, Y, and Z-axes. It
inhibits all slide motion for the block in which it is programmed. When a G92 is read, the
control replaces the addressed axis store with the programmed value. This control should be
used to define the part coordinate system before a program is run. In addition, if more than one
coordinate system is used in a program, it is advisable that a G92 be programmed for each
coordinate system. If a G92 is not used, instructions must be given to the operator for a
“Position Set” operation.