APT- Automatically Programmed Tools
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
06/09/2024
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
06/09/2024
Structure of APT
APT Statement Types
Geometry
Motion
Postprocessor (feed, speed, coolant, … etc.)
Compilation control
06/09/2024
APT Language Structure
APT Language Structure
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).
LINE1
LINE1 = LINE/ ATANGL, 30, INTERC, XAXIS ,d
= 30°
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
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
PARTNO/ EXAMPLE 16.2 FIG. 16.25
L4 = LINE / XAXIS
C1 = CIRCLE/ 24, 20, 12.5
L1 = LINE/ (POINT/ 0,0), ATANGL, 15
L2 = LINE/ PARLEL, L4, YLARGE, 32
L7 = LINE/ YAXIS
L5 = LINE/ PARLEL, L7, XLARGE, (24 –
12.5)
L6 = LINE/ PARLEL, L5, XLARGE, (12.5 +
12.5)
L3 = LINE/ PARLEL, L7, XLARGE, 100
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
GODELTA/ 0, 0, 0.8 Z = 0.0
GOTO/ PO
0.6 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
GOFWD/ C1, TANTO, L2 x
C
D
GOFWD/ L2, PAST, L3
L2
GOLFT/ L3, PAST, L1
GOTO/ START L3 C1
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.
APT Contouring Example
PARTNO P1534
MACHIN/ MILL, 4 L4 P2
CLPRINT C2 L3
OUTTOL/ 0.0015 P3
P0 = POINT/ 0, 0, 1.1 P5
P1 = POINT/ 1, 1, 0.5
P2 = POINT/ 4, 3.5, 0.5 L5 L2
P3 = POINT/ 5.85, 2.85, 0.5 P4
PL1 = PLANE/ P1, P2, P3 y
PL2 = PLANE/ PARLEL, PL1, ZSMALL, 0.5
P4 = POINT/ 5, 1.85, 0.5 P1 = (1,1,0.5) C1
P5 = POINT/ 2, 2.5, 0.5 L1
C1 = CIRCLE/ CENTER, P4, RADIUS, 0.85 x
C2 = CIRCLE/ CENTER, P5, RADIUS, 1.0
L1 = LINE/ P1, RIGHT, TANTO, C1
Z = 0.5
L2 = LINE/ P3, LEFT, TANTO, C1
L3 = LINE/ P2, P3
L4 = LINE/ P2, RIGHT, TANTO, C2 Z=0
L5 = LINE/ P1, LEFT, TANTO, C2
z
MILLS = MACRO/ CUT, SSP, FRT, CLT
CUTTER/ CUT
x
APT Program
P0 = POINT/ 0, -2, 0
P1 = POINT/ 0.312, 0.312, 0
P2 = POINT/ 4, 1, 0
C1 = CIRCLE/ CENTER, P1, RADIUS, 0.312
C2 = CIRCLE/ CENTER, P2, RADIUS, 1
L2 = LINE/ RIGHT, TANTO, C2, RIGHT, TANTO, C1
L1 = LINE/ LEFT, TANTO, C2, LEFT, TANTO, C1
PL1 = PLANE/ P0, P1, P2
FROM/ P0
L2
GO/TO, L1, TO, PL1, TO, C2
GOLFT/ L1, TANTO, C1 P2
P1
GOFWD/ C1, PAST, L2 C2
C1
GOFWD/ L2, TANTO, C2
L1
GOFWD/ C2, PAST, L1
GOTO/ P0
P0
Geometric Statements of APT Program
P0 = POINT/ -1, -1,3
P1 = POINT/ 0, 0 y
P2 = POINT/ 3, 0
P3 = POINT/ 4, 0 C2
P4 = POINT/ 6.5, 5.5 L5
C1 = CIRCLE/ CENTER, P3, RADIUS, 1 P4
C3
L0 = LINE/ P1, P2
L1 = LINE/ (POINT/ 5, 1), LEFT, TANTO, C1 L6 L3
L2 = LINE/ (POINT/ 7, 1), PERPTO, L1
C2 = CIRCLE/ CENTER, P4, RADIUS, 0.5
L3 = LINE/ (POINT/ 7, 1), RIGHT, TANTO, C2 L2
L4 = LINE/ (POINT/ 5, 6), LEFT, TANTO, C2 P1 L0 L1
P2 P3
C3 = CIRCLE/ CENTER, (POINT/ 4, 6), (POINT/ 3, 6) x
C1
L5 = LINE/ (POINT/ 0, 6), (POINT/ 3, 6)
L6 = LINE/ P1, PERPTO, L5 P0
PL1 = PLANE/ P1, P2, P3
Motion Statements of APT Program
FROM/ P0 y
GO/ TO, L0, TO, PL1, TO, L6
C2
GODLTA/ 0,0,-1 L5 L4
GORGT/ L0, TO, C1 P4
C3
GORGT/ C1, TANTO, L1
GOFWD/ L1, TO, L2 L6 L3
GORGT/ L2, PAST, L3
GOLFT/ L3, TANTO, C2
L2
GOFWD/ C2, TANTO, L4 L1
P1 L0 P2 P3
GOFWD/ L4, PAST, C3
x
GOLFT/ C3, PAST, L5 C1
GOLFT/ L5, PAST, L6 P0
GOLFT/ L6, PAST, L0
GODLTA/ 0,0,1 .Thickness= 1inch
GOTO/ P0
APT Program
MACHIN/ MILL
P0 = POINT/ 0, 0, 3
P1 = POINT/ 1, 0
L1 = LINE/ P1, SLOPE, 0
L2 = LINE/ P1, SLOPE, 90
L3 = LINE/ PARLEL, L1, YLARGE, 2
L4 = LINE/ (POINT/ 4, 2), SLOPE, 1, L3
L5 = LINE/ (POINT/ 6, 4), ATANGL, 270, L4 P3
L6 = LINE/ (POINT/ 10, 0), PEPTO, L3 L4 L5
P2 = POINT/ INTOF, L3, L4 P2 P4
L3 L3
P3 = POINT/ INTOF, L4, L5
P4 = POINT/ INTOF, L5, L3 L2 L6
PL = PLANE/ P1, P2, P3 P1 L1
CUTTER/ 60
TOLER/ 0.1
SPINDL/ 200
P0
COOLNT/ ON
FEDRAT/ 20
APT Program
MACHIN/ MILL
P0 = POINT/ 0, 0, 3
P1 = POINT/ 1, 0
L1 = LINE/ P1, SLOPE, 0
L2 = LINE/ P1, SLOPE, 90
L3 = LINE/ PARLEL, L1, YLARGE, 2
L4 = LINE/ (POINT/ 4, 2), SLOPE, 1, L3
L5 = LINE/ (POINT/ 6, 4), ATANGL, 270, L4
L6 = LINE/ (POINT/ 10, 0), PEPTO, L3 L5 L4
P2 = POINT/ INTOF, L3, L4
L3
P3 = POINT/ INTOF, L4, L5
P4 = POINT/ INTOF, L5, L3 L6 L2
PL = PLANE/ P1, P2, P3 L1
CUTTER/ 60
TOLER/ 0.1
SPINDL/ 200 P0
COOLNT/ ON
FEDRAT/ 20
APT Program
FROM/ P0
GOTO/ L1, TO, PL, TO, L2
Assignment L4
P3
L5
L3 P2 P4 L3
L2 L6
P1 L1
P0