Automatically Programmed Tools
(APT)
Part will be defined in the Cartesian
coordinate system as shown in fig.1.
z
y
x
Part Programming
APT (Automatically Programmed Tool) is a
software compiler for simplifying numerical
.control Programming
Developed by MIT in 1959
APT is the most widely used processor
03/29/20
APT
APT (Automatically Programmed Tool) is a
software compiler for simplifying numerical
.control Programming
Developed by MIT in 1959
APT is the most widely used processor
03/29/20
APT (Automatically Programmed Tool) is a language
for defining tool paths on CNC machines. It was the
predecessor to today’s CAM software, created in the
late 1950s to define complex tool paths in the
aerospace industry in the US. It was developed in
MIT labs, the same place where the first NC machine
.was invented
APT was created before graphical user interfaces
were available, and so it is based on text to specify
the geometry and tool paths needed to machine a
part. It has English-like commands: GOLFT for Go
Left, TANTO for Tangent to
You first write a program in APT, software converts it
into a series of tool coordinates called Cutter Location
Data (CLD). Another piece of software, a translator
called a Postprocessor, then converts the CLD into
an NC program (the G and M code program) that is
understood by the machine. You feed the NC
.program into the machine and cut the part
APT Characteristics
Three-dimensional unbounded surfaces and points are•
defined to represent the part to be made
Surfaces are defined in a X-Y-Z coordinate system•
In Programming, the tool does all the moving; the part is•
.stationary
Linear interpolation is used for curved tool paths•
03/29/20
APT Statement Types (5)
Identification•
Geometry•
Motion•
Postprocessor (feed, speed, coolant, …•
etc.)
Auxiliary (tool, tolerance, part, … etc.)•
03/29/20
The general format for geometric statements is:
<Symbol> = Geometric Type/ Definitional
Modifiers
Point (POINT)
PTA = POINT/ 3,4,5
y
(3, 4, 5)
PTA
x
Point (POINT)
PTB = POINT/ INTOF, LIN1, LIN2
LIN2
PTB
LIN1
Point (POINT)
y
PTD = POINT/ YSMALL, INTOF, LIN3, C1
PTD = POINT/ XSMALL, INTOF, LIN3, C1
PTC
PTC = POINT/ YLARGE, INTOF, LIN3, C1
PTC = POINT/ XLARGE, INTOF, LIN3, C1 LIN3
C1
PTD
x
Point (POINT)
y
PTE = POINT/ YLARGE, INTOF, C1, C2
PTE = POINT/ XLARGE, INTOF, C1, C2
C1
PTE
PTF = POINT/ YSMALL, INTOF, C1, C2
PTF = POINT/ XSMALL, INTOF, C1, C2
PTF C2
x
Point (POINT)
PT7 = POINT/ CENTER, C6
C6
PT7
x
Point (POINT)
PT11 = POINT/ P63, RADIUS, 7.3, ATANGLE, 27
PT11
7.3
27°
P63 = 3.1, 6.7
x
Line (LINE)
LIN1 = LINE/ P1, P2
P2
P1
LIN1
x
Line (LINE)
LIN4 = LINE/ PT6, 15, -30, 3
PT6
L4 (15, -30, 3)
x
Line (LINE)
LIN10 = LINE/ 20, 3.5, 0.2, 31, 6.2, 1.3
y
(31, 6.2, 1.3)
(20, 3.5, 0.2)
L10
x
Line (LINE)
L12 = LINE/ PT4, ATANGL, 20, XAXIS
L14 = LINE/ PT1, ATANGL, 40
L15 = LINE/ 32, -3, 2, ATANGL, -15, XAXIS
L16 = LINE/ PT3, ATANGL, 40, YAXIS
y
PT3 L14
40°
PT1 L12
L16
PT4
40° 20°
15° x
L15
(32, -3, 2)
Line (LINE)
LIN = LINE/ POINT, ATANGL, ANGLE (in degrees), LINE
y
LINE2
P1
30° LINE1
LINE2 = LINE/ P1, ATANGL, 30, LINE1
x
Line (LINE)
LIN = LINE/ SLOPE, SLOPE VALUE, INTERC, MODIFIER, d
where the slope value is y/x. The modifier options are [XAXIS,
YAXIS], and d is the corresponding intercept value on the
selected axis (i.e., modifier).
LINE1
LINE1 = LINE/ SLOPE, 1, INTERC, XAXIS, 6
x
(6,0) Point of X-Intercept
Line (LINE)
LIN = LINE/ ATANGL, DEGREES, INTERC, MODIFIER, d
The modifier options are [XAXIS, YAXIS], and d is the
corresponding intercept value on the selected axis (i.e.,
modifier).
y
LINE1
LINE1 = LINE/ ATANGL, 30, INTERC,
= 30° XAXIS ,d
x
d
Line (LINE)
The LEFT & RIGHT modifier indicates whether the line
is at the left or right tangent point, depending on how
one looks at the circle from the point.
L1 = LINE/ PT51, LEFT, TANTO, C11
L1
C11
PT51
Line (LINE)
L2 = LINE/ PT51, RIGHT, TANTO, C11
L1 = LINE/ PT40, RIGHT, TANTO, C11
L4 = LINE/ PT40, LEFT, TANTO, C11
L3 Right
PT40
L1
Left
Left L4
PT51
Right L2
Line (LINE)
L6 = LINE/ LEFT, TANTO, C3, LEFT, TANTO, C4
L6
Right
C4
Left
C3
Right
Left
L8 L9
L7
Line (LINE)
L7 = LINE/ LEFT, TANTO, C3, RIGHT, TANTO, C4
L7 = LINE/ LEFT, TANTO, C4, RIGHT, TANTO, C3
L6
Right
C4
Lef
C3 t
Right
Left
L8 L
9
L7
Line (LINE)
L8 = LINE/ RIGHT, TANTO, C3, LEFT, TANTO, C4
L6
Right
C4
Left
C3
Right
Left
L8 L9
L7
Line (LINE)
L9 = LINE/ RIGHT, TANTO, C3, RIGHT, TANTO, C4
L9 = LINE/ LEFT, TANTO, C4, LEFT, TANTO, C3
L6
Right
C4
Left
C3
Right
Left
L8 L9
L7
Line (LINE)
LN3 = LINE/ PNT6, PARLEL, LN15
LN4 = LINE/ PNT5, PERPTO, LN13
y
PNT6 PNT5
LN3
LN4
LN15
LN13
x
Plane (PLANE)
LN5 = LINE/ INTOF, PLAN1, PLAN2
LN5
PLAN1
PLAN2
Plane (PLANE)
PLAN10 = PLANE/ PT6, PT12, PT15
PLAN10
PT15
PT6 PT12
y 3.0
PT4
z
PLAN14
x
Plane (PLANE)
PLAN14 = PLANE/ PT4, PARLEL, PLAN10
PLAN14 = PLANE/ PARLEL, PLAN10, YSMALL, 3.0
PLAN10
PT15
y PT6 PT12
3.0
PT4
z
PLAN14
x
Circle (CIRCLE)
C1 = CIRCLE/ 3, 6, 5, 4.3
C1 = CIRCLE/ CENTER, PT3, RADIUS, 4.3
y
C1
4.3
PT3
(3,6,5)
x
Circle (CIRCLE)
C3 = CIRCLE/ CENTER, PT6, TANTO, LN4
C7 = CIRCLE/ CENTER, PT8, PT5
y y
LN4
PT5
PT6 PT8
C3 C7
x x
Circle (CIRCLE)
C3 = CIRCLE/ YLARGE, LN6, XLARGE, LN4, RADIUS, 2.0
C3 = CIRCLE/ XLARGE, LN6, YSMALL, LN4, RADIUS, 2.0
C1
y
3.0
C3
C2
2.0 YSMALL
1.5
YLARGE
LN4 LN6
XLARGE x
Circle (CIRCLE)
C1 = CIRCLE/ YLARGE, LN6, YLARGE, LN4, RADIUS, 3.0
y C1
3.0
C3
C2
1.5 2.0 YSMALL
YLARGE
LN4
LN6
XLARGE
x
Circle (CIRCLE)
C2 = CIRCLE/ XSMALL, LN6, XSMALL, LN4, RADIUS, 1.5
C2 = CIRCLE/ YLARGE, LN4, YSMALL, LN6, RADIUS, 1.5
C1
y
3.0
C3
C2
1.5 2.0 YSMALL
YLARGE
LN4 LN6
XLARGE
x
Cylinder (CYLNDR)
<Symbol> = CYLNDR/ <axis modifier>, TANTO, <1st
plane>, <axis modifier>, TANTO, <2nd plane>,
RADIUS, <radius value>
The axis modifier depends on the relationship of the
cylinder center point to the tangent point of the plane the
modifier precedes.
Cylinder (CYLNDR)
CYL3 = CYLNDR/ XLARGE, TANTO, PLAN5, YSMALL, TANTO, PLAN10, RADIUS, 2.0
z
PLAN5
2.0
y PLAN10
CYL3
x
Geometry Example
Top view
5.0 in.
The top view of a plate is Tangent point
shown in the following 0.4 in.
figure. The outer shape of 0.7 in.
1.25 in.
0.7 in.
this plate is to be milled &
the grid holes drilled. It is 4.0 in.
12 0.375
in. holes
1.0 in. 1.0 in. 1.0 in. 1.0 in.
therefore necessary to
define the geometry of the
Tangent point
part, i.e. its outer shape &
the location of the holes.
0.5 in.
Side view
Geometry Example
PT1 = POINT/ 4, 5, 0 PT1 = (4,5,0)
PT2 = POINT/ 5, 4.6, 0 L1
PT3 = POINT/ 8, 4.6, 0 PT2 PT3
PT4 = POINT/ 8, 3.2, 0 1.25 in.
PT5 = POINT/ 9, 3.75, 0
C1 = CIRCLE/ CENTER, PT5, RADIUS, 1.25 L3 PT5
PT4
PT6 = POINT/ 4, 1, 0
L1 = LINE/ PT1, LEFT, TANTO, C1
L3 = LINE/ PT1, PT6 y L2
L2 = LINE/ PT6, RIGHT, TANTO, C1
PLAN1 = PLANE/ PT1, PT2, PT3 PT6 = (4,1,0)
PLAN2 = PLANE/ PARLEL, PLAN1, ZSMALL, 0.5 x
Z=0
PTN1 = PATERN/ LINEAR, PT2, PT3, 4 z
PTN2 = PATERN/ LINEAR, PT3, PT4, 3 0.5 in.
PTN3 = PATERN/ COPY, PTN2, UNLIKE, ON, PTN1
x
The Machining Plan
Point- to- point: refers to operations requiring fast
movement (straight- line motions) to a point followed by
a manufacturing operation at that point.
FROM/ <point location>: denotes that the point location is a starting
point for the tool, with the end of the tool at that point.
GOTO/ <point location>: refers to a rapid, straight- line move to the
point location indicated.
GODELTA/ <coordinate increments>: commands the tool to move
incremental distance from the current position.
The Machining Plan
P0 = (0,4,0.1)
1.0 in. 1.0 in.
P1 = POINT/ 1.0, 2.7, 0.1
1.3 in.
P2 = POINT/ 2.0, 2.7, 0.1 P1 P2
P3 = POINT/ 1.0, 2.0, 0.1
0.7 in.
P3
Z = 0.0
0.6 in.
The Machining Plan
FROM/ PO P0 = (0,4,0.1)
GOTO/ P1
1.0 in. 1.0 in.
GODELTA/ 0, 0, -0.8 1.3 in.
GODELTA/ 0, 0, 0.8 P1 P2
GOTO/ P2
GODELTA/ 0, 0, -0.8 0.7 in.
P3
GODELTA/ 0, 0, 0.8
GOTO/ P3
GODELTA/ 0, 0, -0.8
Z = 0.0
GODELTA/ 0, 0, 0.8
GOTO/ PO
0.6 in.
The Machining Plan
MACROS: A macro is a single computer instruction that
stands for a given sequence of instructions.
<name> = MACRO/ <possible parameters><sequence of instructions>
TERMAC
The macro can be used any time in the APT program by
CALL macro name (, list of parameters)
The Machining Plan
P0 = (0,4,0.1)
PO = POINT/ 0, 4, 0.1
DELTA = MACRO/ DX, DY 1.0 in. 1.0 in.
GOTO/ DX, DY, ________ 1.3 in. P1 P2
GODELTA/ _______, ________, ________
GODELTA/ _______, ________, ________
TERMAC 0.7 in. P3
FROM/ PO
CALL DELTA/ DX = _______, DY = _______
CALL DELTA/ DX = _______, DY = _______
CALL DELTA/ DX = _______, DY = _______ Z = 0.0
GOTO/ PO
0.8 in.
The Machining Plan:
Contouring:
Part surface: the surface on which the end of the tool is
riding.
Drive surface: the surface against which the edge of the
tool rides.
Check surface: a surface at which the current tool motion
is to stop.
The Machining Plan
z
Drive surface Check surface
Direction of
cutter cutter motion
Part surface
The Machining Plan
CS CS CS
DS DS DS
TO ON PAST
The Machining Plan
TANTO :
A: GO/ TO, L1, TO, PL2, TANTO, C1
B: GO/ PAST, L1, TO, PL2, TANTO, C1
A (TO, L1)
Start point
C1
y
Check surface
L1 B (PAST, L1)
Drive surface
x
The Machining Plan
Motion commands:
GOLFT/ : Move left along the drive surface
GORGT/ : Move right along the drive surface
GOUP/ : Move up along the drive surface
GODOWN/ : Move down along the drive surface
GOFWD/ : Move forward from a tangent position
GOBACK/ : Move backward from a tangent position
The Machining Plan
GORGT/ <drive surface>, <check surface>
Start A B C D E Start
z
FROM/ START
y
GO/ TO, L1, TO, PL1, ON, L3
GORGT/ L1, TANTO, C1
x
GOFWD/ C1, TANTO, L2 D
C
GOFWD/ L2, PAST, L3
L2
GOLFT/ L3, PAST, L1
L3 C1
GOTO/ START
L1
E
B
A Start
Machining Specifications
Postprocessor commands for a particular machine tool are:
MACHIN/ : used to specify the machine tool and call the
postprocessor for that tool:
MACHIN/ DRILL, 3
COOLNT/ : allows the coolant fluid to be turned on or off:
COOLNT/ MIST
COOLNT/ FLOOD
COOLNT/ OFF
Machining Specifications
FEDRAT/ : specifies the feed rate for moving the tool along the
part surface in inches per minute:
FEDRAT/ 4.5
SPINDL/ : gives the spindle rotation speed in revolutions per
minute:
SPINDL/ 850
TURRET/ : can be used to call a specific tool from an automatic
tool changer:
TURRET/ 11
Machining Specifications
TOLERANCE SETTING: Nonlinear motion is accomplished in
straight-line segments, and INTOL/ and OUTTOL/ statements
dictate the number of straight-line segments to be generated.
INTOL/ 0.0015
OUTTOL/ 0.001
Machining Specifications
Specified
Specified path
path
OUTTOL
INTOL
Machining Specifications
PARTNO: identifies the part program and is inserted at the start of
the program.
CLPRINT: indicates that a cutter location printout is desired.
CUTTER: specifies a cutter diameter for offset (rough versus finish
cutting). If a milling cutter is 0.5 in. in diameter and we have
CUTTER/ 0.6
then the tool will be offset from the finish cut by 0.05 in.