You are on page 1of 53

OVERVIEW OF CAD/CAM

CAD if often defined in a variety of ways and includes a large range of activities. Very
broadly it can be said to be the integration of computer science (or software) techniques in
engineering design. At one end when we talk of modeling, iIt encompasses the following:

Use of computers (hardware & software) for designing products


Numerical method, optimizations etc.

2D/3D drafting

3D modeling for visualization

Modeling curves, surfaces, solids, mechanism, assemblies, etc.

The models thus developed are first visualized on display monitors using avariety of
techniques including wire frame displa, shaded image display, hidden surface removed
display and so on. Once the designer is satisfied, these models are then used for various
types of analysis / applications. thus, at the other end it includes a number of analysis
activities. These could be:

Stress (or deflection) analysis, i.e. numerical methods meant for estimating the
behaviour of an artifact with respect to these parameters. It includes tools like the
Finite Element Method (FEM).
Simulation of actual use

Optimization

Other applications like


o

CAD/CAM integration

Process planning

These are activities which normally use models developed using one or more of the
techniques mentioned above. These activities are often included in other umbrellas like CAM
or CAE. A term often used is CAx to include this broad set of activities. They all use CAD
models and often the kind of application they have to be used ina determines the kind of
amodel to be developed. Hence, in this course I cover them under the umbrella of CAD. In
this course we will strive to give an overview of modelling techniques followed by some
applications, specifically CAM.
Thus there are three aspects to CAD.

Modeling
Display/ Visualization

Applications

MODELING
Modelling typically includes a set of activities like

Defining objects
Defining relation between objects

Defining properties of objects

Defining the orientations of the objects in suitable co-ordinate systems

Modification of existing definition (editing)

The figure below explains what a typical CAD model would need to define, what kind of
entities need to be defined and what relationships exist between them.

At the highest level we have the volume which is defined by (or "delimited by") a set of
surfaces. These surfaces can be either planar or curved / warped. A planar surface can be

bounded by a set of curves. A curved surface can be seen as a net of curves. These curves
are typically a succession of curve segemnts which define the complete the curve. The curve
segment is defined using a set of end points / control points which govern the nature of the
curve. Thus a relation ship is defined between entities at each level.
Once such a relationship is defined, a geometric model of the artifact is available. In any
design there might be manysuch artifacts. One then has to define properties of each of
these artifacts and define a relationship between them. The properties and the relationships
needed are dependant on the application the model is to be used for subsequently. But one
common application that all models have to go through is visualization of the model (s).
DISPLAY / VISUALIZATION

Displaying the model requires the following:

Mapping objects onto screen coordinates: Models are typically made in a model
coordinate system. this could be the world coordinate system, or a coordinate
system local to the object. these coordinate systems are typically three dimensional
in nature. To display the object on a 2D screen, the object coordinates need to be
mapped on to the 2D coordinate system of the screen. This requires two steps:
o Viewing transformations: The coordinates of the object are transformed in a
manner as if one is looking at the object through the screen. This coordinate
system is referred to as the viewing coordinate system.
o

Projections: The object in the viewing coordinate system is then projected


onto the two dimensional plane of the screen.

Surface display or shading / rendering: In displaying the objects on the screen one
often likes to get a shaded display of the object and get a good feel of the three
dimensional shape of the object. This requires special techniques to render the
surface based on its shape, lighting conditions and its texture.

Hidden line removal when multiple surfaces are displayed: In order to get a proper
feel of the three dimensional shape of an object, one often desires that the lines /
surfaces which are not visible should not be displayed. this is referred to as hidden
line / surface removal.

Once a model is visualized on the screen and approved by the conceptual designer, it has to
go through a number of analysis. Some of the kinds of usage this model might have to go
through are the following:

Estimating stresses / strains / deflections in the objects under various static loading
conditions
Estimating the same under dynamic loading conditions

Visualizing how a set of objects connected together would move when subject to
external loading. This leads to a whole set of activities under simulation. These
activities would vary depend upon the application the object is to be subject to.

Optimizing the objects for

Developing 2D engineering drawings of the object

Developing a process plan of the object

Manufacturing the object using NC / CNC machines and generating the programs for
these machines so as to manufacture these objects.

Having given the overview of the kind of activties that can come under the umbrella of CAD
the uses these CAD models can be put to, I know highlight what aspects of these would be
covered in this course. Needless to say, all these activities would be well beyond the scope
of one single course. Therefore this course, which is targeted to give an overview of CAD
and its applications would include the following:
1. An overview of the hardware systems used in CAD
2. 2D and 3D transformations used to shift between coordinate systems
3. Projection transformation used to get the object in screen coordinate systems
4. Modeling of curves and surfaces
5. Modeling of solids

VIDEO DISPLAY DEVICES


Typically, the primary output device in a graphics system is a video monitor(Fig.below). The
operation of most video monitor is based on the standard cathode-ray tube(CRT) design.
Refresh Cathode-Ray Tubes

Raster-Scan Displays
Random-Scan Displays

Color CRT Monitors

Flat-Panel Displays

Refresh Cathode-Ray Tubes


Fig.below illustrates the basic operation of a CRT. A beam of electrons (cathode rays),
emitted by an electron gun, passes through focusing and deflection systems that direct the
beam towards specified position on the phosphor-coated screen. The phosphor then emits
a small spot of light at each position contacted by the electron beam. Because the light
emitted by the phosphor fades very rapidly, some method is needed for maintaining the
screen picture. One way to keep the phosphor glowing is to redraw the picture repeatedly
by quickly directing the electron beam back over the same points. This type of display is
called
a
refresh
CRT.
The primary components of an electron gun in a CRT are the heated metal cathode and a
control grid (fig.below). Heat is supplied to the cathode by directing a current through a

coil of wire, called the filament, inside the cylindrical cathode structure. This causes
electrons to be boiled off the hot cathode surface. In the vacuum inside the CRT
envelope, negatively charged electrons are then accelerated toward the phosphor coating
by a high positive voltage. The accelerating voltage can be generated with a positively
charged metal coating on the in side of the CRT envelope near the phosphor screen, or an
accelerating anode can be used, a in fig below . Sometimes the electron gun is built to
contain the accelerating anode and focusing system within the same unit.
Spots of light are produced on the screen by the transfer of the CRT beam energy to the
phosphor. When the electrons in the beam collide wit the phosphor coating , they are
stopped and there are stopped and their kinetic energy is absorbed by the phosphor. Part
of the beam energy s converted by friction into heat energy, and the remainder causes
electron in the phosphor atoms to move up to higher quantum-energy levels. After a short
time, the excited phosphor electrons begin dropping back to their stable ground state,
giving up their extra energy as small quantums of light energy. What we see on the screen
is the combined effect of all the electrons light emissions: a glowing spot that quickly
fades after all the excited phosphor electrons have returned to their ground energy level.
The frequency ( or color ) of the light emitted by the phosphor is proportional to the
energy difference between the excited quantum state and the ground state.
Different kinds of phosphor are available for use in a CRT. Besides color, a major
difference between phosphors is their persistence: how long they continue to emit light
( that is, have excited electrons returning to the ground state ) after the CRT beam is
removed. Persistence is defined as the time it take the emitted light from the screen to
decay to one-tenth of its original intensity. Lower-persistence phosphors require higher
refresh rates to maintain a picture on the screen without flicker. A phosphor with low
persistence is useful for animation ; a high-persistence phosphor is useful for displaying
highly complex, static pictures. Although some phosphor have a persistence greater than
1 second, graphics monitor are usually constructed with a persistence in the range from
10 to 60 microseconds.

Raster-Scan Displays
In a raster- scan system, the electron beam is swept across the screen, one row at a time from top
to bottom. As the electron beam moves across each row, the beam intensity is turned on and off
to create a pattern of illuminated spots. Picture definition is stored in memory area called the
refresh buffer or frame buffer. This memory area holds the set of intensity values for all the
screen points. Stored intensity values are then retrieved from the refresh buffer and painted on
the screen one row (scan line) at a time (fig.below). Each screen point is referred to as a pixel or
pel (shortened forms of picture element).
Refreshing on raster-scan displays is carried out at the rate of 60 to 80 frames per second,
although some systems are designed for higher refresh rates. Sometimes, refresh rates are
described in units of cycles per second, or Hertz (Hz), where a cycle corresponds to one frame.
At the end of each scan line, the electron beam returns to the left side of the screen to begin

displaying the next scan line. The return to the left of the screen, after refreshing each scan line,
is called the horizontal retrace of the electron beam. And at the end of each frame (displayed in
1/80th to 1/60th of a second), the electron beam returns (vertical retrace)to the top left corner of
the screen to begin the next frame.
On some raster-scan systems (and in TV sets), each frame is displayed in two passes using an
interlaced refresh procedure. In the first pass, the beam sweeps across every other scan line from
top to bottom. Then after the vertical retrace, the beam sweeps out the remaining scan
lines(fig.below). Interlacing of the scan lines in this way allows us to see the entire screen
displayed in one-half the time it would have taken to sweep across all the lines at once from top
to bottom.

Random-Scan Displays
Random scan monitors draw a picture one line at a time and for this reason are also referred to as
vector displays (or stroke-writing or calligraphic displays).The component lines of a picture
can be drawn and refreshed by a random-scan system in any specified order .
Refresh rate on a random-scan system depends on the number of lines to be displayed. Picture
definition is now stored as a set of line-drawing commands in an area of memory referred to as
the refresh display file. Sometimes the refresh display file is called the display list, display
program, or simply the refresh buffer. To display a specified picture, the system cycles through
the set of commands in the display file, drawing each component line in turn. After all linedrawing commands have been processed, the system cycles back to the first line command in the
list. Random-scan displays are designed to draw al the component lines of a picture 30 to
60times each second.

Color CRT Monitors


The beam penetration method for displaying color pictures has been used with random-scan
monitors. Two layers of phosphor, usually red and green, are coated on to theinside of the CRT
screen, and the displayed color depends on how far the electron beam penetrates into the
phosphor layers.
Shadow-mask methods are commonly used in raster-scan systems (including color TV) because
they produce a much wider range of color than the beam penetration method. A shadow-mask
CRT has three phosphor color dots at each pixel position. One phosphor dot emits a red light,
another emits a green light, and the third emits a blue light. This type of CRT has three electron
guns, one for each color dot, and a shadow- mask grid just behind the phosphor coated
screen.Fig.below illustrates the delta-delta shadow-mask method, commonly used in color CRT
systems. The three electron beam are deflected and focused as a group onto the shadow mask,
which contains a series of holes aligned with the phosphor-dot patterns. When the three beams
pass through a hole in the shadow mask, they activate a dot triangle, which appears as a small
color spot the screen the phosphor dots in the triangles are arranged so that each electron beam
can activate only its corresponding color dot when it passes through the shadow mask.

Flat-Panel Displays
The term flatpanel displays refers to a class of video devices that have reduced volume,
weight, and power requirements compared to a CRT. A significant feature of flat-panel displayed
is that they are thinner than CRTs, and we can hang themon walls or wear them on our wrists.

We can separate flat-panel displays into two categories: emissive displays and nonemissive
displays. The emissive displays (or emitters) are devices that displays, and light-emitting diodes
are examples of emissive displays. Nonemissive displays( or nonemitters) use optical effects to
convert sunlight or light from some other source into graphics patterns. The most important
example of a nonemissive flat-panel display is a liquid- crystal device.
Plasma panels, also called gas discharge displays, are constructed by filling the region between
two glass plates with a mixture of gases that usually include neon. A series of vertical conducting
ribbons is placed on one glass panel, and a set of horizontal ribbons is built into the other glass
panel (fig.below). Firing voltages applied to a pair of horizontal and vertical conductors cause
the gas at the intersection of the of two conductors to break down into a glowing plasma of
electrons and ions. Picture definition is stored in a refresh buffer, and the firing voltages are
applied to refresh the pixel positions ( at the intersections of the conductors) 60 times per second.
Another type of emissive device is the light-emitting diode (LED). A matrix of diodes is
arranged to form the pixel positions in the display, and picture defination is stored in refresh
buffer. As in scan- line refreshing of a CRT, information is read from the refresh buffer and
converted to voltage levels that are applied to the diodes to produce the light patterns in the
display.
Liquid- crystal displays (LCDs) are commonly used in systems, such as calculators (fig.below)
and portable, laptop computers (fig.below). These nonemissive devices produce a picture by
passing polarized light from the surrounding or from an internal light source through a liquidcrystal material that can be aligned to either block or transmit the light.
The term liquid crystal refers to the fact that these compounds have a crystalline arrangement of
molecules, yet they flow like a liquid . Flat-panel displays commonly use nematic (threadlike)
liquid-crystal compounds that tend to keep the long axes of the rod-shaped molecules aligned. A
flat-panel display can then be constructed with a nematic liquid crystal, as demonstrated in fig.
below. Two glass plates, each containing a light polarizer at right angles to the other palate,
sandwich the liquid-crystal material. Rows of horizontal transparent conductors are built into one
glass plate, and columns of vertical conductors are put into the other plate. The intersection of
two conductors defines a pixel position. Normally, the molecules are aligned as shown in the on
stateof fig.below. Polarized light passing through the material is twisted so that it witll pass
through the opposite polarizer. The light is reflected back to the viewer. To turn off the pixel, we
apply voltage to the two intersecting conductors to align the molecules so that the light is not
twisted. This type of flat-panel device is referred to as a passive matrix LCD. Picture definition
are stored in a refresh buffer, and the screen is refreshed at the rate of 60 frames per second, as in
the emissive devices. Back lighting is also commonly applied using solid-state electronic
devices, so that the system is not completely dependent on outside light sources. Colors can be
displayed by using different materials or dyes and by placing a triad of color pixels at each
screen location. Another method for constructing LCDs is to place a transistor at each pixel
location, using thin-film transistor technology.

The transistors are used to control the voltage at pixel locations and to prevent charge from
gradually leaking out of the liquid-crystal cells. These devices are called active-matrix displays.

INPUT DEVICES
Various devices are available for data input on graphics workstations. Most systems have a
keyboard and one or more additional devices specially designed for interactive input. These
include a mouse, trackball, spaceball, joystick, digitizers, dials, and button boxes. Some other
input devices used in particular applications are data gloves, touch panels, image scanners, and
voice systems.
Keyboards
An alphanumeric keyboard on a graphics system is used primarily as device for entering text
strings. The keyboard is an efficient device for inputting such nongraphic data as picture labels
associated with a graphics display. Keyboards can also be provided with features to facilitate
entry of screen coordinates, menu selections, or graphics functions.
Mouse
A mouse is small hand-held box used to position the screen cursor. Wheels or rollers on the
bottom of the mouse can be used to record the amount and direction of movement. Another
method for detecting mouse motion is with an optical sensor,. For these systems, the mouse is
moved over a special mouse pad that has a grid of horizontal and vertical lines. The optical
sensor
detects
movement
across
the
lines
in
the
grid.
Since a mouse can be picked up and put down at another position without change in cursor
movement, it is used for making relative changes in the position of the screen cursor. One, two,
or three buttons are usually included on the top of the mouse for signaling the execution of some
operation, such as recording cursor position or invoking a function.
Joysticks
A joystick consists of a small, vertical lever (called the stick) mounted on a base that is used to
steer the screen cursor around. Most joysticks select screen positions with actual stick
movement; others respond to pressure on the stick. Figure below shows a movable joystick.
Some joysticks are mounted on a keyboard; others function as stand-alone units.

Digitizers
A common device for drawing, painting, or interactively selecting coordinate positions on an
object is a digitizer. These devices can be used to input coordinate values in either a twodimensional or a three-dimensional space. Typically, a digitizer is used to scan over a drawing or
object and to input a set of discrete coordinate positions, which can be joined with straight-line
segments to approximate the curve or surface shapes.

One type of digitizer is the graphics tablet (also referred to as a data tablet), which is used to
input two-dimensional coordinates by activating a hand cursor or stylus at selected positions on a
flat surface. A hand cursor contains cross hairs for sighting positions, while a stylus is a pencilshaped device that is pointed at positions on the tablet. Figures below show examples of desktop
and floor-model tablets, using hand cursors that are available with 2, 4, or 16 buttons. Examples
of stylus input with a tablet are shown in Figs. Below. The artists digitizing system in Fig. below
uses electromagnetic resonance to detect the three-dimensional position of the stylus. This allows
an artist to produce different brush strokes with different pressures on the tablet surface. Tablet
size varies from 12 by 12 inches for desktop models to 44 by 60 inches or larger for floor
models. Graphics tablets provide a highly accurate method for selecting coordinate positions,

with an accuracy that varies from about 0.2 mm on desktop models to about 0.05 mm or less on
larger models.

Many graphics tablets are constructed with a rectangular grid of wires embedded in the tablet
surface. Electromagnetic pulses are generated in sequence along the wires, and an electric signal
is induced in a wire coil in an activated stylus or hand cursor to record a tablet position.
Depending on the technology, either signal strength, coded pulses, or phase shifts can be used to
determine the position on the tablet.

HARD-COPY DEVICES
We can obtain hard-copy output for our images in several formats. Eg: Dot matrix printer, laser
printer & inkjet printer are commonly used.

Drafting layouts and other drawings are typically generated with ink-jet or pen plotters. A pen
plotter has one or more pens mounted on a carriage, or crossbar, that spans a sheet of paper. Pens
with varying colors and widths are used to produce a variety of shadings and line styles. Wet-ink,
ball-point, and felt-tip pens are all possible choices for use with a pen plotter. Plotter paper can
lie flat or be rolled onto a drum or belt. Crossbars can be either moveable or stationary, while the
pen moves back and forth along the bar. Either clamps, a vacuum, or an electrostatic charge hold
the paper in position. An example of a table-top flatbed pen plotter is given in Figure below, and
a larger, rollfeed pen plotter is shown in Fig.below

INTRODUCTION

With the matrix representations of the transformations, we can set up a matrix for any sequence of transfo
composite transformation matrix by calculating the matrix product of the individual transformations.
If two successive transformations
calculated as:

Where

ROTATION

T1 and T2 are applied to a coordinate position P, the final transformed loc

A generalized rotation about an arbitrary point


following transformations

(a,b) can be obtained by performing the

1. Translate the object so that the pivot-point position is moved to coordinate origin.
2. Rotate the object about the coordinate origin.
3. Translate the object so that the pivot point is returned to its original position. The
composite matrix for this sequence is obtained as:

where,

SCALING
The animation illustrates a transformation sequence to produce scaling with respect to a
selected fixed position (a,b) using a scaling function that can only scale relative to the
coordinate origin.

1. Translate object so that the fixed point coincides with the coordinate origin.
2. Scale the object with respect to the coordinate origin.
3. Use the inverse translation of step 1 to return the object to its original position.
The composite matrix for this sequence is obtained as:

where,

TRANSLATION

In three-dimensional homogeneous coordinate representation, when a point P is translated to P' with coord

(x',y',z') can be represented in matrix form as:

Where,

ROTATION

Unlike 2D, rotation in 3D is carried out around any line. The most simple rotations could be
around coordinate axis. As in 2D positive rotations produce counter-clockwise rotations.
Rotation in term of general equation is expressed as
Where,

R = Rotation Matrix
Rotation matrix when an object is rotated about X axis can be expressed as:

REFLECTION
In 3D-reflection the reflection takes place about a plane whereas 2D reflection it used take
place about an axis. The matrix in case of pure reflections, along basic planes, viz. X-Y

plane, Y-Z plane and Z-X plane are given below:


Transformation matrix for a reflection through

X-Y plane is:

Transformation matrix for a reflection through

Y-Z plane is:

Transformation matrix for a reflection through

Z-X plane is:

AN OVERVIEW OF CNC MACHINES


( 1 ) Historical Perspective
The word NC which stands for numerical control refer to control of a machine or a
process using symbolic codes consisting of characters and numerals. The word CNC
came into existence in seventies when microprocessors and microcomputers
replaced integrated circuit IC based controls used for NC machines. The
development of numerical control owes much to the United States air force. The
concept of NC was proposed in the late 1940s by John Parsons who recommended a
method of automatic machine control that would guide a milling cutter to produce a
curvilinear motion in order to generate smooth profiles on the work-pieces. In 1949,
the U.S Air Force awarded Parsons a contract to develop new type of machine tool
that
would
be
able
to
speed
up
production
methods.
Parsons sub-contracted the Massachusetts Institute of Technology (MIT) to develop a
practical implementation of his concept. Scientists and engineers at M.I.T built a
control system for a two axis milling machine that used a perforated paper tape as
the input media. This prototype was produced by retrofitting a conventional tracer
mill with numerical control servomechanisms for the three axes of the machine. By
1955, these machines were available to industries with some small modifications.
The machine tool builders gradually began developing their own projects to
introduce commercial NC units. Also, certain industry users, especially airframe
builders, worked to devise numerical control machines to satisfy their own particular
production needs. The Air force continued its encouragement of NC development by
sponsoring additional research at MIT to design a part programming language that
could be used in controlling N.C. machines.

In a short period of time, all the major machine tool manufacturers were producing
some machines with NC, but it was not until late 1970s that computer-based NC
became widely used. NC matured as an automation technology when electronics
industry developed new products. At first, miniature electronic tubes were
developed, but the controls were big, bulky, and not very reliable. Then solid-state
circuitry and eventually modular or integrated circuits were developed. The control
unit became smaller, more reliable, and less expensive.

(2)

Computer

Numerical

Control

Computer numerical control (CNC) is the numerical control system in which a dedicated
computer is built into the control to perform basic and advanced NC functions. CNC controls are
also referred to as soft-wired NC systems because most of their control functions are
implemented by the control software programs. CNC is a computer assisted process to control
general purpose machines from instructions generated by a processor and stored in a memory
system. It is a specific form of control system where position is the principal controlled variable.
All numerical control machines manufactured since the seventies are of CNC type. The computer
allows for the following: storage of additional programs, program editing, running of program
from memory, machine and control diagnostics, special routines, inch/metric,
incremental/absolute
switchability.
CNC machines can be used as stand alone units or in a network of machines such as flexible
machine centres. The controller uses a permanent resident program called an executive program
to process the codes into the electrical pulses that control the machine. In any CNC machine,
executive program resides in ROM and all the NC codes in RAM. The information in ROM is
written into the electronic chips and cannot be erased and they become active whenever the
machine is on. The contents in RAM are lost when the controller is turned off. Some use special
type of RAM called CMOS memory, which retains its contents even when the power is turned
off.

Figure 21.1: CNC milling machine

( 1.3 ) Direct Numerical Control


In a Direct Numerical Control system (DNC), a mainframe computer is used to coordinate the
simultaneous operations of a number NC machines as shown in the figures 21.2 & 21.3. The
main tasks performed by the computer are to program and edit part programs as well as
download part programs to NC machines. Machine tool controllers have limited memory and a

part program may contain few thousands of blocks.So the program is stored in a separate
computer and sent directly to the machine, one block at a time.
First DNC system developed was Molins System 24 in 1967 by Cincinnati Milacron and General
Electric. They are now referred to as flexible manufacturing systems (FMS). The computers that
were used at those times were quite expensive.

Figure 21.2: DNC system

Figure 21.3: DNC system


21.4 Advantages & Disadvantages of CNC machine tools

Some of the dominant advantages of the CNC machines are:


CNC machines can be used continuously and only need to be switched off for occasional
maintenance.
These machines require less skilled people to operate unlike manual lathes / milling
machines etc.

CNC machines can be updated by improving the software used to drive the machines.

Training for the use of CNC machines can be done through the use of 'virtual software'.

The manufacturing process can be simulated virtually and no need to make a prototype or
a model. This saves time and money.

Once programmed, these machines can be left and do not require any human intervention,
except for work loading and unloading.

These machines can manufacture several components to the required accuracy without
any fatigue as in the case of manually operated machines.

Savings in time that could be achieved with the CNC machines are quite significant.
Some of the disadvantages of the CNC machines are:

CNC machines are generally more expensive than manually operated machines.

The CNC machine operator only needs basic training and skills, enough to supervise
several machines.

Increase in electrical maintenance, high initial investment and high per hour operating
costs than the traditional systems.

Fewer workers are required to operate CNC machines compared to manually operated
machines. Investment in CNC machines can lead to unemployment.

CNC Coordinate Measuring Machines:


A coordinate measuring machine is a dimensional measuring device, designed to move the
measuring probe to determine the coordinates along the surface of the work piece. Apart from
dimensional measurement, these machines are also used for profile measurement, angularity,
digitizing or imaging.
A CMM consists of four main components: the machine, measuring probe, control system and the
measuring software. The control system in a CMM performs the function of a live interaction
between various machine drives, displacement transducers, probing systems and the peripheral
devices. Control systems can be classified according to the following groups of CMMs.
1. Manually driven CMMs
2. Motorized CMMs with automatic probing systems
3. Direct computer controlled (DCC) CMMs
4. CMMs linked with CAD, CAM and FMS etc.
The first two methods are very common and self explanatory. In the case of DCC CMMs, the
computer control is responsible for the movement of the slides, readout from displacement
transducers and data communication. CMM are of different configurations-fixed bridge, moving
bridge, cantilever arm figure 21.5(a), horizontal arm and gantry type CMM as shown in figure
21.5(b).

Figure 21.5(a) Cantilever type CMM

Figure 21.5(b) Gantry type CMM


(6 ) CNC welding machines:

Figure 21.6 4 axis CNC Tig welding machine

The salient features of CNC welding machines are:


Superior quality and weld precision.
These machines are also equipped with rotary tables.

Weld moves, welding feed rate, wire feed, torch heights & welding current can be

programmed.

CNC welding machines are used for laser welding, welding of plastics, submerged arc
welding, wire welding machines, butt welding, flash butt welding etc.

These machines are generally used in automobile work shops

Cost of these machines will be twice than the conventional welding machines.

CNC EDM & WEDM machines:


EDM is a nontraditional machining method primarily used to machine hard metals that could not
be machined by traditional machining methods. Material removal will be taking place by a series
of electric arcs discharging across the gap between the electrode and the work piece. There are
two main types- ram EDM & wire cut EDM. In wire-cut EDM, a thin wire is fed through the
work piece and is constantly fed from a spool and is held between upper and lower guides. These
guides move in the x-y plane and are precisely controlled by the CNC. Wire feed rate is also
controlled by the CNC.

Figure 21.6 (a) Ram EDM

Figure 21.6 (b) Wire cut EDM

CLASSIFICATION OF CNC MACHINE TOOLS


( 1) Based on the motion type ' Point-to-point & Contouring systems
There are two main types of machine tools and the control systems required for use with them
differ because of the basic differences in the functions of the machines to be controlled. They are
known as point-to-point and contouring controls.
( 1.1) Point-to-point systems

Some machine tools for example drilling, boring and tapping machines etc, require the cutter and
the work piece to be placed at a certain fixed relative positions at which they must remain while
the cutter does its work. These machines are known as point-to-point machines as shown in
figure 22.1 (a) and the control equipment for use with them are known as point-to-point control
equipment. Feed rates need not to be programmed. In theses machine tools, each axis is driven
separately. In a point-to-point control system, the dimensional information that must be given to
the machine tool will be a series of required position of the two slides. Servo systems can be
used to move the slides and no attempt is made to move the slide until the cutter has been
retracted back.
( 1.2) Contouring systems (Continuous path systems)
Other type of machine tools involves motion of work piece with respect to the cutter while
cutting operation is taking place. These machine tools include milling, routing machines etc. and
are known as contouring machines as shown in figure 22.1 (b) and the controls required for their
control are known as contouring control.
Contouring machines can also be used as point-to-point machines, but it will be uneconomical to
use them unless the work piece also requires having a contouring operation to be performed on
it. These machines require simultaneous control of axes. In contouring machines, relative
positions of the work piece and the tool should be continuously controlled. The control system
must be able to accept information regarding velocities and positions of the machines slides.
Feed rates should be programmed.

Figure 22.1 (a) Point-to-point system

Figure 22.1 (b) Contouring system

Figure 22.1 (c) Contouring systems


22.2 Based on the control loops ' Open loop & Closed loop systems
22.2.1 Open loop systems:
Programmed instructions are fed into the c
ontroller through an input device. These instructions are then converted to electrical pulses
(signals) by the controller and sent to the servo amplifier to energize the servo motors. The
primary drawback of the open-loop system is that there is no feedback system to check whether
the program position and velocity has been achieved. If the system performance is affected by
load, temperature, humidity, or lubrication then the actual output could deviate from the desired
output. For these reasons the open -loop system is generally used in point-to-point systems where
the accuracy requirements are not critical. Very few continuous-path systems utilize open-loop
control.

Figure 22.2 (a) Open loop control system Figure 22.2 (b) Closed loop control system
Courtesy: http://jjjtrain.kanabco.com/vms/Media/glossary_o/cnc_opencloseloop.gif

Courtesy: http://jjjtrain.kanabco.com/vms/Media/glossary_o/cnc_opencloseloop.gif

Figure 22.2 (c) Open loop system


22.2.1 Closed loop systems:
The closed-loop system has a feedback subsystem to monitor the actual output and correct any
discrepancy from the programmed input. These systems use position and velocity feed back. The
feedback system could be either analog or digital. The analog systems measure the variation of
physical variables such as position and velocity in terms of voltage levels. Digital systems
monitor output variations by means of electrical pulses. To control the dynamic behavior and the
final position of the machine slides, a variety of position transducers are employed. Majority of
CNC systems operate on servo mechanism, a closed loop principle. If a discrepancy is revealed
between where the machine element should be and where it actually is, the sensing device
signals the driving unit to make an adjustment, bringing the movable component to the required
location.
Closed-loop systems are very powerful and accurate because they are capable of monitoring
operating conditions through feedback subsystems and automatically compensating for any
variations in real-time.

Figure 22.2 (d) Closed loop system


(3 ) Based on the number of axes ' 2, 3, 4 & 5 axes CNC machines.
( 3.1) 2& 3 axes CNC machines:
CNC lathes will be coming under 2 axes machines. There will be two axes along which motion takes
place. The saddle will be moving longitudinally on the bed (Z-axis) and the cross slide moves
transversely on the saddle (along X-axis). In 3-axes machines, there will be one more axis,
perpendicular to the above two axes. By the simultaneous control of all the 3 axes, complex surfaces
can be machined.
( 3.2 ) 4 & 5 axes CNC machines:
4 and 5 axes CNC machines provide multi-axis machining capabilities beyond the standard 3-axis
CNC tool path movements. A 5-axis milling centre includes the three X, Y, Z axes, the A axis which
is rotary tilting of the spindle and the B-axis, which can be a rotary index table.

Figure 22.3 Five axes CNC machine


Importance of higher axes machining :
Reduced cycle time by machining complex components using a single setup. In addition to time
savings, improved accuracy can also be achieved as positioning errors between setups are
eliminated.
Improved surface finish and tool life by tilting the tool to maintain optimum tool to part
contact all the times.
Improved access to under cuts and deep pockets. By tilting the tool, the tool can be made
normal to the work surface and the errors may be reduced as the major component of cutting
force will be along the tool axis.

Higher axes machining has been widely used for machining sculptures surfaces in aerospace
and automobile industry.

(3.3) Turning centre:


Traditional centre lathes have horizontal beds. The saddle moves longitudinally and the cross slide
moves transversely. Although the tools can be clearly seen, the operator must lean over the tool post
to position them accurately. Concentration of chips may be creating a heat source and there may be
temperature gradients in the machine tool. Keeping the above points in view, developments in the
structure of the turning centres lead to the positioning the saddle and the cross slide behind the
spindle on a slant bed as shown in the figure 22.4. Chips fall freely because of slant bed
configuration which is more ergonomically acceptable from operator's point of view.

Figure 22.4 Slant bed turning centre


22.4 Based on the power supply ' Electric, Hydraulic & Pneumatic systems
Mechanical power unit refers to a device which transforms some form of energy to mechanical
power which may be used for driving slides, saddles or gantries forming a part of machine tool. The
input power may be of electrical, hydraulic or pneumatic.

22.4.1 Electric systems:


Electric motors may be used for controlling both positioning and contouring machines. They may be
either a.c. or d.c. motor and the torque and direction of rotation need to be controlled. The speed of a
d.c. motor can be controlled by varying either the field or the armature supply. The clutch-controlled
motor can either be an a.c. or d.c. motor. They are generally used for small machine tools because of
heat losses in the clutches. Split field motors are the simplest form of motors and can be controlled in

(1) Programming fundamentals


Machining involves an important aspect of relative movement between cutting tool
and workpiece. In machine tools this is accomplished by either moving the tool with
respect to workpiece or vice versa. In order to define relative motion of two objects,
reference directions are required to be defined. These reference directions depend
on type of machine tool and are defined by considering an imaginary coordinate
system on the machine tool. A program defining motion of tool / workpiece in this
coordinate system is known as a part program. Lathe and Milling machines are
taken for case study but other machine tools like CNC grinding, CNC Hobbing, CNC
filament winding machine, etc. can also be dealt with in the same manner.

(1.1) Reference Points


Part programming requires establishment of some reference points. Three reference points are
either set by manufacturer or user.
a) Machine Origin
The machine origin is a fixed point set by the machine tool builder. Usually it cannot be
changed. Any tool movement is measured from this point. The controller always remembers
tool distance from the machine origin.
b) Program Origin
It is also called home position of the tool. Program origin is point from where the tool starts for
its motion while executing a program and returns back at the end of the cycle. This can be any
point within the workspace of the tool which is sufficiently away from the part. In case of
CNC lathe it is a point where tool change is carried out.
c) Part Origin
The part origin can be set at any point inside the machine's electronic grid system. Establishing
the part origin is also known as zero shift, work shift, floating zero or datum. Usually part
origin needs to be defined for each new setup. Zero shifting allows the relocation of the part.
Sometimes the part accuracy is affected by the location of the part origin. Figure 29.1 and 29.2
shows the reference points on a lathe and milling machine.

Figure 29.1. Reference points and axis on a lathe

Figure 29.2. Reference points and axis on a Milling Machine

(1.2 ) Axis Designation


An object in space can have six degrees of freedom with respect to an imaginary Cartesian
coordinate system. Three of them are liner movements and other three are rotary. Machining of
simple part does not require all degrees of freedom. With the increase in degrees of freedom,
complexity of hardware and programming increases. Number of degree of freedom defines axis
of machine.
Axes interpolation means simultaneous movement of two or more different axes to generate
required contour.
For typical lathe machine degree of freedom is 2 and so it called 2 axis machines. For typical
milling machine degree of freedom is
, which means that two axes can be interpolated at a
time and third remains independent. Typical direction for the lathe and milling machine is as
shown in figure 12 and figure 13.
(1.3 ) Setting up of Origin
In case of CNC machine tool rotation of the reference axis is not possible. Origin can set by
selecting three reference planes X, Y and Z. Planes can be set by touching tool on the surfaces of
the workpiece and setting that surfaces as X=x, Y=y and Z=z.
(1.4 ) Coding Systems
The programmer and the operator must use a coding system to represent information, which the
controller can interpret and execute. A frequently used coding system is the Binary-Coded
Decimal or BCD system. This system is also known as the EIA Code set because it was
developed by Electronics Industries Association. The newer coding system is ASCII and it has
become the ISO code set because of its wide acceptance.
(2) CNC Code Syntax

The CNC machine uses a set of rules to enter, edit, receive and output data. These rules are
known as CNC Syntax, Programming format, or tape format. The format specifies the order and
arrangement of information entered. This is an area where controls differ widely. There are rules
for the maximum and minimum numerical values and word lengths and can be entered, and the
arrangement of the characters and word is important. The most common CNC format is the word
address format and the other two formats are fixed sequential block address format and tab
sequential format, which are obsolete. The instruction block consists of one or more words. A
word consists of an address followed by numerals. For the address, one of the letters from A to Z
is used. The address defines the meaning of the number that follows. In other words, the address
determines what the number stands for. For example it may be an instruction to move the tool
along the X axis, or to select a particular tool.

Most controllers allow suppressing the leading zeros when entering data. This is known as
leading zero suppression. When this method is used, the machine control reads the numbers from
right to left, allowing the zeros to the left of the significant digit to be omitted. Some controls
allow entering data without using the trailing zeros. Consequently it is called trailing zero
suppression. The machine control reads from left to right, and zeros to the right of the significant
digit may be omitted.
(3) Types of CNC codes
(3.1) Preparatory codes
The term "preparatory" in NC means that it "prepares" the control system to be ready for
implementing the information that follows in the next block of instructions. A preparatory
function is designated in a program by the word address G followed by two digits. Preparatory
functions are also called G-codes and they specify the control mode of the operation.
(3.2) Miscellaneous codes
Miscellaneous functions use the address letter M followed by two digits. They perform a group of
instructions such as coolant on/off, spindle on/off, tool change, program stop, or program end.
They are often referred to as machine functions or M-functions. Some of the M codes are given

below.
M00 Unconditional stop
M02 End of program
M03 Spindle clockwise
M04 Spindle counterclockwise
M05 Spindle stop
M06 Tool change (see Note below)
M30 End of program
In principle, all codes are either modal or non-modal. Modal code stays in effect until cancelled
by another code in the same group. The control remembers modal codes. This gives the
programmer an opportunity to save programming time. Non-modal code stays in effect only for
the block in which it is programmed. Afterwards, its function is turned off automatically. For
instance G04 is a non-modal code to program a dwell. After one second, which is say, the
programmed dwell time in one particular case, this function is cancelled. To perform dwell in the
next blocks, this code has to be reprogrammed. The control does not memorize the non-modal
code, so it is called as one shot codes. One-shot commands are non-modal. Commands known as
"canned cycles" (a controller's internal set of preprogrammed subroutines for generating
commonly machined features such as internal pockets and drilled holes) are non-modal and only
function during the call.
On some older controllers, cutter positioning (axis) commands (e.g., G00, G01, G02, G03, &
G04) are non-modal requiring a new positioning command to be entered each time the cutter (or
axis) is moved to another location.
Command group
G-code
Function and Command Statement
Illustration

Tool motion
G00
Rapid traverse
G00 Xx Yy Zz

G01
Linear interpolation
G01 Xx Yy Zz Ff

G02
Circular Interpolation in clock-wise direction
G02 Xx Yy Ii Jj
G02 Xx Zz Ii Kk
G02 Yy Zz Jj Kk

G03
Circular interpolation in counter- clockwise direction
G03 Xx Yy Ii Jj
G03 Xx Zz Ii Kk
G03 Yy Zz Jj Kk

Command group

G-code

Function and Command Statement

Illustration

G17

Plane Selection

Command group

XY - Plane selection

G18

ZX - Plane selection

G19

YZ - plane selection

G-code

Function and Command Statement

G20 or
G70

Inch unit selection

Unit Selection
G21 or
G71
Metric unit selection

Illustration

Command
group

Function and
GCommand
code
Statement

Illustration

Cutter
G4 diameter
0 compensati
on cancel

Cutter
G4
diameter
Offset and
compensatio 1 cancellation
left
n

Cutter
diameter
G4 compensati
2 on righ

Command
group

G-code

Function and Command


Statement

Illustration

G00

Rapid traverse
G00 Xx Zz

G01

Linear interpolation
G01 Xx Zz

G02

Circular Interpolation in
clock-wise direction
G02 Xx Zz Ii Kk
(or)
G02 Xx Zz Rr

Tool motion

G03

Circular interpolation in
counter- clockwise direction
G03 Xx Zz Ii Kk
(or)
G03 Yy Zz Rr

Illustrative Example Program


A contour illustrated in figure 29.3 is to be machined using a CNC milling machine. The details
of the codes and programs used are given below.
Example:

Figure 29.3 An illustrative example

O5678
N02 G21
N03 M03 S1000
N04 G00 X0 Y0
N05 G00 Z-10.0
N06 G01 X50.0
N07 G01 Y20.0
N08 G02 X25.0 Y45.0
R25.0
N09 G03 X-25.0
Y45.0 R25.0
N10 G02 X-50.0
Y20.0 R25.0
N11 G01 Y0.0
N12 G01 X0.0
N13 G00 Z10.0
N14 M05 M09

Program number
Metric programming
Spindle start clockwise with 1000rpm
Rapid motion towards (0,0)
Rapid motion towards Z=-10 plane
Linear interpolation
Linear interpolation
Circular interpolation clockwise(cw)
Circular interpolation counter clockwise(ccw)
Circular interpolation clockwise(cw)
Linear interpolation
Linear interpolation
Rapid motion towards Z=10 plane
Spindle stop and program end

30. CNC Part Programming II


In the previous section, fundamentals of programming as well basic motion commands for
milling and turning have been discussed. This section gives an overview of G codes used for
changing the programming mode, applying transformations etc.,
30.1 Programming modes
Programming mode should be specified when it needs to be changed from absolute to
incremental and vice versa. There are two programming modes, absolute and incremental and is

discussed below.
30.1.1 Absolute programming (G90)
In absolute programming, all measurements are made from the part origin established by the
programmer and set up by the operator. Any programmed coordinate has the absolute value in
respect to the absolute coordinate system zero point. The machine control uses the part origin as
the reference point in order to position the tool during program execution (Figure 30.1).

30.1.2 Relative programming (G91)


In incremental programming, the tool movement is measured from the last tool position. The
programmed movement is based on the change in position between two successive points. The
coordinate value is always incremented according to the preceding tool location. The programmer
enters the relative distance between current location and the next point ( Figure 30.2).

30.2 Spindle control


The spindle speed is programmed by the letter 'S' followed by four digit number, such as S1000. There are two ways
to define speed.
1. Revolutions per minute (RPM)
2. Constant surface speed
The spindle speed in revolutions per minute is also known as constant rpm or direct rpm. The change in tool position
does not affect the rpm commanded. It means that the spindle RPM will remain constant until another RPM is
programmed. Constant surface speed is almost exclusively used on lathes. The RPM changes according to diameter
being cut. The smaller the diameter, the more RPM is achieved; the bigger the diameter, the less RPM is
commanded. This is changed automatically by the machine speed control unit while the tool is changing positions.
This is the reason that, this spindle speed mode is known as diameter speed.

30.3 Loops and Unconditional jump (G25)


The unconditional jump is used to repeat a set of statements a number of times.
Example: N10

In the above example, the program statements from N70 to N100 are repeated once when the statement N160 is
executed. Usually the G25 is used after a mirror statement. Illustrative example geometry and its program are given
below (Figure 30.3).
Example:

Fig. 30.3 Illustrative example for programming loops

30.4 Mirroring
The mirroring command is used when features of components shares symmetry about one or more axes and are also
dimensionally identical. By using this code components can be machined using a single set of data and length of
programs can be reduced.
G10 cancellation of mirroring image
G11 Mirror image on X axis
G12 Mirror image on Y axis
G13 Mirror image on Z axis
Example:

Fig. 30.4 Illustrative Example for mirroring

30.5 Shifting origin

G92 code is used to temporarily shift the origin to the reference point specified.

Example:
G92
X-100
Y-80
In the above statement the x and y values gives the present values of original origin after shifting it. This is
illustrated through an example (Figure 30.5).

Example:

Fig. 30.5 Illustrative Example for shifting origin

30.6 Scaling
Scaling function is used to program geometrically similar components with varying sizes.
Syntax: G72 Kk, where k is the scaling factor.
The scaling command can be cancelled by using the statement G72 K1.0.
Example:

Fig. 30.6 Illustrative Example for scaling

30.7 Pattern rotation

Pattern rotation is used to obtain a pattern of similar features. G73 code is used to rotate the
feature to form a pattern.
Syntax G73 Aa, where 'a' is the angle of rotation. This command is cumulative, and the angle
gets added up on time the program is executed. So all the rotational angle parameters should be
cancelled using the code G73.
The unconditional jump code G25 is used in conjunction with this code to achieve the desired
rotation.

The following example (Figure 30.7) depicts the case of a pattern which needs to be programmed
through G73.
Example:

Fig. 30.7 Illustrative Example for Pattern rotation

30.8 Tool selection


Tool selection is accomplished using 'T' function followed by a four digit number where, first

two digits are used to call the particular tool and last two digits are used to represent tool offset in
the program. The tool offset is used to correct the values entered in the coordinate system preset
block. This can be done quickly on the machine without actually changing the values in the
program.
Using the tool offsets, it is easy to set up the tools and to make adjustments
Feed rate control
Cutting operations may be programmed using two basic feed rate modes:
1. Feed rate per spindle revolution
2. Feed rate per time
The feed rate per spindle revolution depends on the RPM programmed.
31. CNC Part Programming III
31.1 Tool radius Compensation
The programmed point on the part is the command point. It is the destination point of the tool. The point on the tool
that is used for programming is the tool reference point. These points may or may not coincide, depending on the
type of tool used and machining operation being performed. When drilling, tapping, reaming, countersinking or
boring on the machining center, the tool is programmed to the position of the hole or bore center - this is the
command point.
When milling a contour, the tool radius center is used as the reference point on the tool while writing the program,
but the part is actually cut by the point on the cutter periphery. This point is at 'r' distance from the tool center. This
means that the programmer should shift the tool center away from the part in order to perform the cutting by the tool
cutting edge. The shift amount depends upon the part geometry and tool radius. This technique is known as tool
radius compensation or cutter radius compensation.
In case of machining with a single point cutting tool, the nose radius of the tool tip is required to be accounted for, as
programs are being written assuming zero nose radius. The tool nose radius center is not only the reference point that
can be used for programming contours. On the tool there is a point known as imaginary tool tip, which is at the
intersection of the lines tangent to the tool nose radius.
Cutter compensation allows programming the geometry and not the toolpath. It also allows adjusting the size of the
part, based on the tool radius used to cut part. This is useful when cutter of the proper diameter is not found. This is
best explained in the Figure 31.1.

Figure 31.1. Cutter diameter compensation

The information on the diameter of the tool, which the control system uses to calculate the required compensation,
must be input into the control unit's memory before the operation. Tool diameter compensation is activated by the
relevant
preparatory
functions
(G
codes)
as
shown
in
Figure
31.2.
Compensation for tool radius can be of either right or left side compensation. This can be determined by direction of
tool motion. If you are on the tool path facing direction of tool path and if tool is on your left and workpiece is on
your right side then use G41 (left side compensation). For, reverse use other code G42 (Right side compensation).
Both the codes are modal in nature and remain active in the program until it is cancelled by using another code, G40.
Offset Direction = Left (G41)

Offset Direction = Right (G42)

Offset Direction = Off (G40)

When activating cutter radius compensation, it must be ensured that the slides will first make a non-cutting move to
enable the correct tool and workpiece relation to be established. A similar move is necessary prior to cancellation of
the radius compensation. These non-cutting moves are referred as "ramp on" and "ramp off" respectively. Figure 31.3
shows the ramp on motion for different angles of approach.

Figure 31.3. Ramp up motion

Any frequently programmed order of instruction or unchanging sequences can benefit by becoming a subprogram.
Typical applications for subprogram applications in CNC programming are
Repetitive machining motions
Functions relating to tool change

Hole patterns

Grooves and threads

Machine warm-up routines

Pallet changing

Special functions and others

Structurally, subprograms are similar to standard programs. They use the same syntax rules. The benefits of
subroutines involve the reduction in length of program, and reduction in program errors. There is a definition
statement and subroutine call function.

Standard sub-routine
N10
N20
N30
.
N70 G22 N5
N80
N90
.
N100 G24
.
N160 G20 N5
In the above example G22 statement defines the start block of the sub-routine and G24 marks the end of the subroutine statement. The subroutine is called by another code G20 identified by the label N5.
Parametric subroutine
..
..
..
G23 N18
G01 X P0 Y P1
..
..
G21 N18 P0=k10 P1=k20
In the above example G23 starts the subprogram label and starts the definition, and the parameters P0 , P1 are
defined for values of x and y. The G21 statement is used to call the subroutine and to assign the values to the
parameters.

31.4 Canned Cycles


A canned cycle is a preprogrammed sequence of events / motions of tool / spindle stored in memory of controller.
Every canned cycle has a format. Canned cycle is modal in nature and remains activated until cancelled. Canned
cycles are a great resource to make manual programming easier. Often underutilized, canned cycles save time and
effort.
31.4.1 Machining a Rectangular pocket
This cycle assumes the cutter is initially placed over the center of the pocket and at some clearance distance
(typically 0.100 inch) above the top of the pocket. Then the cycle will take over from that point, plunging the cutter
down to the "peck depth" and feeding the cutter around the pocket in ever increasing increments until the final size is
attained. The process is repeated until the desired total depth is attained. Then the cutter is returned to the center of
the pocket at the clearance height as shown in figure 31.4

The overall length and width of the pocket, rather than the distance of cutter motion, are programmed into this cycle.
The syntax is : G87 Xx Yy Zz Ii Jj Kk Bb Cc Dd Hh Ll Ss (This g code is entirely controller specific and the syntax
may vary between controller to controller).
Description:
x,y - Center of the part
z - Distance of the reference plane from top of part
i - Pocket depth
j,k - Half dimensions of the target geometry (pocket)
b - Step depth
c - Step over
d - Distance of the reference plane from top of part
h - Feed for finish pass
l - Finishing allowance
s - Speed
For machining a circular pocket, the same syntax with code G88 is used.
31.4.2 Turning Cycles
The G80 command will make the tool move in a series of rectangular paths cutting material axially until the tool tip
reaches target point P1 where the cycle ends as shown in figure 31.5. Cutting movements will be at the cutting feed
rate. All other movements will be at rapid traverse rate.
The syntax is G80 Xx Zz Ff
31.4.3 Roughing Cycle
In roughing cycle, the final finishing cycle profile is used to perform the roughing operation for the higher material
removal rate. The syntax for the roughing cycle is given below.

G81 Pp Qq Uu Ww Dd Ff Ss

31.5 The APT Programming Language The APT (Automatically Programmed Tool) programming language was
developed in early 1960s to assist engineers in defining the proper instructions and calculations for NC part
programming. A great strength of APT is its ability to perform precise calculations for complicated tool paths when
contouring on a three dimensional surface in a multi- axis programming mode. Now APT has become obsolete. Please
click here to know more about APT. Automatic generation of NC code is dealt in this page

You might also like