APT (Automatically Programmed Tool) is a high-level
computer programming language
A programming language is a system of notation for writing computer program, computer programs. Most programming languages are text-based formal languages, but they may also be visual programming language, graphical. They are a kind of computer ...
most commonly used to generate instructions for
numerically controlled machine
Numerical control (also computer numerical control, and commonly called CNC) is the automated control of machining tools (such as drills, lathes, mills, grinders, routers and 3D printers) by means of a computer. A CNC machine processes a pie ...
tools.
Douglas T. Ross
Douglas Taylor "Doug" Ross (21 December 1929 – 31 January 2007) was an American computer scientist pioneer, and chairman of SofTech, Inc. He is most famous for originating the term CAD for computer-aided design, and is considered to be the fat ...
is considered by many to be the father of APT: as head of the newly created Computer Applications Group of the Servomechanisms Laboratory at
MIT
The Massachusetts Institute of Technology (MIT) is a private land-grant research university in Cambridge, Massachusetts. Established in 1861, MIT has played a key role in the development of modern technology and science, and is one of the ...
in 1956, he led its technical effort. APT is a language and system that alleviates the tedious mathematics of writing toolpaths for numerically controlled equipment. This early language was used widely through the 1970s and is still a standard internationally. Derivatives of APT were later developed.
Programming language
APT is used to program numerically-controlled machine tools to create complex parts using a cutting tool moving in space. It is used to calculate a path that a tool must follow to generate a desired form. APT is a special-purpose language and the predecessor to modern
computer aided manufacturing
Computer-aided manufacturing (CAM) also known as computer-aided modeling or computer-aided machining is the use of software to control machine tools in the manufacturing of work pieces. This is not the only definition for CAM, but it is the most ...
(CAM) systems. It was created and refined during the late 1950s and early 1960s to simplify the task of calculating geometry points that a tool must traverse in space to cut the complex parts required in the aerospace industry. It was a direct result of the new numerical control technology becoming available at that time and the daunting task that a machinist or engineer faced calculating the movements of the machine for the complex parts for which it was capable. Its development was centered at the same MIT labs that hosted the Numerical Control and the Milling Machine Projects. APT also was
US Air Force
The United States Air Force (USAF) is the Aerial warfare, air military branch, service branch of the United States Armed Forces, and is one of the eight uniformed services of the United States. Originally created on 1 August 1907, as a part ...
sponsored and is notable for being the world's first major cooperative programming venture, combining government agencies, universities, and a 14-company team organized within the
Aircraft Industries Association
The Aerospace Industries Association (AIA) is an American trade association representing manufacturers and suppliers of civil, military, and business aircraft, helicopters, UAVs, space systems, aircraft engines, missiles, material, and related ...
(now
Aerospace Industries Association
The Aerospace Industries Association (AIA) is an American trade association representing manufacturers and suppliers of civil, military, and business aircraft, helicopters, UAVs, space systems, aircraft engines, missiles, material, and related ...
).
APT was created before
graphical user interfaces
The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
were available, and so it relies on text to specify the geometry and toolpaths needed to machine a part. The original version was created before even
FORTRAN was available and was the very first
ANSI standard. Later versions were rewritten in FORTRAN.
APT shares many similarities with other computer programming languages such as FORTRAN. A general-purpose computer language takes source text and converts the statements to instructions that can be processed internally by a computer. APT converts source statements into programs for driving numerically-controlled machine tools. The output from an APT processor may be a
cutter location (CL) file which is then run through a post-processor specific to the desired control - machine pair. The resulting file is then run by the control of the machine to generate tool motions and other machine actions. Most commonly, this file is in some form of
RS-274 format instructions, commonly known as
G-code
G-code (also RS-274) is the most widely used computer numerical control (CNC) programming language. It is used mainly in computer-aided manufacturing to control automated machine tools, and has many variants.
G-code instructions are provided to ...
.
Example program
PARTNO APT-1
CLPRNT
UNITS / MM
NOPOST
$$ GEOMETRY DEFINITION
P1 = POINT / 50, 50, 0
P2 = POINT / -50, -50, 0
L1 = LINE / P1, PARLEL, (LINE / YAXIS)
L2 = LINE / P2, PERPTO, L1
L3 = LINE / P2, PARLEL, L1
L4 = LINE / P1, PERPTO, L1
C1 = CIRCLE / XSMALL, L1, YLARGE, L2, RADIUS, 30
C2 = CIRCLE / XLARGE, L3, YSMALL, L4, RADIUS, 20
PLAN1 = PLANE / 0, 0, 1, 0
PLAN2 = PLANE / PARLEL, PLAN1, ZSMALL, 16
$$ MOTION COMMANDS
LOAD / TOOL, 1
CUTTER / 20
SPINDL / 3000, CLW
FROM / (STRTPT = POINT / 70, 70, 0)
RAPID
GO / TO, L1, TO, PLAN2, TO, L4
FEDRAT / 900, PERMIN
TLLFT, GOLFT / L1, TANTO, C1
GOFWD / C1, TANTO, L2
GOFWD / L2, PAST, L3
GORGT / L3, TANTO, C2
GOFWD / C2, TANTO, L4
GOFWD / L4, PAST, L1
RAPID
GOTO / STRTPT
FINI
Derivatives
Further derivatives of APT were developed, initially mainly to allow the programs to run on minicomputers instead of mainframes. These included
ADAPT
ADAPT (formerly American Disabled for Attendant Programs Today) is a United States grassroots disability rights organization with chapters in 30 states and Washington, D.C. They use nonviolent direct action in order to bring about disability justi ...
from
IBM;
EXAPT from Germany; and UNIAPT, initially from
United Computing, later used alongside the
Unigraphics
NX, formerly known as "unigraphics", is an advanced high-end CAD/ CAM/CAE, which has been owned since 2007 by Siemens Digital Industries Software. In 2000, Unigraphics purchased SDRC I-DEAS and began an effort to integrate aspects of both softwa ...
CADCAM systems.
Machine tool manufacturer's systems utilize elements of APT to this day. Standards Developers like
STEP-NC
STEP-NC is a machine tool control language that extends the ISO 10303 STEP standards with the machining model in ISO 14649, adding geometric dimension and tolerance data for inspection, and the STEP PDM model for integration into the wider ent ...
took toolpath curves from APT and other sources. APT formed the basis for two early programming languages in robotics: RAPT (Robot APT) was developed at the
University of Edinburgh School of Informatics
The School of Informatics is an academic unit of the University of Edinburgh, in Scotland, responsible for research, teaching, outreach and commercialisation in informatics. It was created in 1998 from the former Department of Artificial Intell ...
, and ROBEX was a derivative of
EXAPT.
Further reading
*
Douglas T. Ross
Douglas Taylor "Doug" Ross (21 December 1929 – 31 January 2007) was an American computer scientist pioneer, and chairman of SofTech, Inc. He is most famous for originating the term CAD for computer-aided design, and is considered to be the fat ...
(1978).
[In: ACM SIGPLAN Notices, Vol. 13, No. 8, August 1978]
MIT CADCAM
http://www.designworldonline.com/50-years-of-cad/#_
* https://web.archive.org/web/20131113032955/http://techtv.mit.edu/videos/10783-automatically-programmed-tools-1959-science-reporter-tv-series
* https://archive.org/details/bitsavers_mitwhirlwie1GeneralDescriptionoftheAPTSystem1959_5339230
References
{{Authority control
Computer-aided manufacturing software
Domain-specific programming languages