AUTOmated PROgramming of Machine Tools 

AUTOmated PROgramming of Machine Tools

Sam Matsa at IBM

Joint development of 3D APT (Numerical control language for 3-D milling) by IBM and United
Aircraft Corporation.  

From CG interview below:

My background in graphics started with the APT project at MIT with Doug Ross. Then in 1957 I joined IBM where, in cooperation with United Aircraft, we developed AUTOPROMT, a three-dimensional APT derivative. It was a big project, which started my 40-year IBM career. [...]
I was a graduate student at MIT and a group from IBM came to review our projects as part of the Industrial Sponsored Research Program. Before I knew it, I got a call from Dr. Lou Robinson who was an IBM executive for many years. He said, "Why don't you come down to New York? You told me your parents are in New York and you never see them." So, I went to New York, met with Lou and then he asked me: "While you're working on this project at MIT, who is doing your programming?" I said, "Dr. Robinson, who's doing my programming? I'm a graduate student. Obviously, I'm doing my programming!" So, he said, "If you'll come to IBM, you can direct the project -- you can do all the creative work and other people will do the programming." He made me, a young student from MIT, an offer I couldn't refuse. I started working for IBM and we formed this joint project with United Aircraft. Walter Ramshaw was at that time their Director of Computing, and Roy Nutt the project leader of the UAC AUTOPROMT team...

Related languages
APT => AUTOPROMT   Extension of

  • "Computers learn English, then tell the machines" Steel, The Metalworking Weekly 148(26) June 1961, p68 view details Abstract: This is a brief description of IBM's Autopromt system and AIA's APT (Automatically Programmed Tool) system.
  • "Faster numerical control programming" Missiles and Rockets 8(26) June 1961, p32 view details Abstract: This describes the development of a new computer language, Autopromt, devised to cut the lead time in programming numerically controlled machine tools for cutting complex three-dimensional parts.
  • [IBM] "AUTO-PROMT, A source programming manual for numerical control contouring with the AUTO-PROMT processor" International Business Machines, New York: 1961 view details
  • AUTOPROMT, New computer language, may speed preparation of N-C tapes. Am. Mach. Metalwkg Mfg, June 26,1961, p. 76. view details
  • IBM "AUTOPROMT, A System for Numerical Programming". IBM Math. & Appl., New York, May 1961. view details
  • Bemer, R "ISO TC97/SC5/WGA(1) Survey of Programming Languages and Processors" December 1962 view details
          in [ACM] CACM 6(03) (Mar 1963) view details
  • Loomis, R. G. "Boundary networks" view details DOI Abstract: A feasible computer procedure is described for determining
    the total or partial inclusion of arbitrarily given points and
    lines with respect to a set of general polygonal domains
    which partition a plane bounded region. A scheme for the
    computer representation of the boundaries of the domains
    and an algorithm, based on this scheme, for evaluating the
    inclusion relations are specified in detail. The method employs
    several levels of selection criteria for the purpose of reducing
    the number of accesses to auxiliary storage devices and the
    amount of boundary data for which processing is required.

          in [ACM] CACM 8(01) Jan 1965 view details
  • Luh, J. Y. 0S. and Krolak, R. J. "Mathematical model for mechanical part description" view details Abstract: The flexibility of a mathematical model takes advantage of the common information requirements of computer-aided engineering drawing, numerical control tape generation, and physical characteristic computation. By judicious control of man-machine communication requirements, improved results over conventional engineering design processes are possible.
    An English-like input language, tailored for use by draftsmen and designers, will describe the part and specify the output desired. One approach to the mathematical model consists of a group of surface-defining quadric equations, which are created by a system of modular subprograms. Other subprograms will convert the mathematical model into instructions for driving automatic drafting machines and numerical controlled machine tools. Physical part characteristics, such as center of gravity, can be computed by subprograms and used in dynamic analysis work. The proposed overall system is presented and experiments and demonstrations are discussed. External link: Online copy Extract: Introduction
    In a computer-aided mechanical engineering design system, the description of every component of a mechanism is of primary importance. The geometrical description of the components provides the information required to produce not only art engineering drawing as a document, but also a numerical control tape for a machine loci. The physical properties of a component, such as the moments and products of inertia about a fixed point, are the essential data for the dynamic analysis and simulation of the mechanism. Since the three functional operations, viz. automatic engineering drawing, numerical control tape generation and physical properties computation, rely on the common information about the component geometry, it is conceivable to construct a mathematical model that, establishes a three-dimensional representation of the component and store this information in a digital computer. The flexibility of the stored representation enables mechanical engineers to retrieve the required information in a prescribed-form merely by proper manipulation of the stored data.
    In past years, artificial languages resembling English made the numerically controlled machine tools widely accepted by manufacturing industries. Such art experience gives rise to the concept of the descriptor, which is a lexicon of English words in mechanical engineering terms. By using the descriptor, the input instructions of the system can be understood and used by persons who have little or no computer programming training. Adaptation of the descriptor in the input language enables the engineer to solve only tile engineering aspects of the problem. Elimination of tedious manual computation and completeness of the accurate solution would encourage the engineer to utilize the computer-aided design system in a full capacity and thereby achieve the maximum efficiency of the engineer-computer team operation. To accomplish these objectives, several methods were investigated. This paper presents one method that was studied from a feasibility standpoint. Extract: Descriptors and Job Instructions
    Descriptors and Job Instructions
    The format of the input statement for the model system
    is in the experimental stage. The concept of descriptors
    and job instructions, however, prove its effectiveness in
    the whole system.
    The three basic job instructions are DRAW, ANALY
    (which means computing the physical properties) and
    MACHIN (which means generating a numerical control
    tape). A vocabulary of descriptors includes such common
    terms as BLOCK and SLOT. Geometrical terms such as
    SPHERE and CONE are also available. Associated with
    each descriptor is a set of data necessary to refer to a
    given reference coordinate system. This must be furnished.
    Utilization of descriptors may have two distinguished
    advantages, (1) to avoid unfamiliar geometrical terminology
    by using common terms, and (2) to avoid the
    ambiguity of the existence of material of a physieai component
    at either side of the surface (e.g. BLOCK indicates
    a solid pieee while HOLE interprets as a region
    with no material).
    In the existing model system, three dcseriptors, viz.
    BLOCK, SLOT and HOLE, are available for experimentation.
    Utilization of these descriptors is demonstrated
    in the examples shown in accompanying illustrations.
          in [ACM] CACM 8(02) Feb 1965 view details
  • Mangold, W. E. "Status of NC language standardization in ISO" view details
          in Leslie (ed) Numerical Control Programming Languages 1969 (PROLAMAT 69) view details
  • Sammet, Jean E. "Computer Languages - Principles and History" Englewood Cliffs, N.J. Prentice-Hall 1969. p.606. view details
          in Leslie (ed) Numerical Control Programming Languages 1969 (PROLAMAT 69) view details
  • Stock, Karl F. "A listing of some programming languages and their users" in RZ-Informationen. Graz: Rechenzentrum Graz 1971 31 view details Abstract: 321 Programmiersprachen mit Angabe der Computer-Hersteller, auf deren Anlagen die entsprechenden Sprachen verwendet werden kennen. Register der 74 Computer-Firmen; Reihenfolge der Programmiersprachen nach der Anzahl der Herstellerfirmen, auf deren Anlagen die Sprache implementiert ist; Reihenfolge der Herstellerfirmen nach der Anzahl der verwendeten Programmiersprachen.

    [321 programming languages with indication of the computer manufacturers, on whose machinery the appropriate languages are used to know.  Register of the 74 computer companies;  Sequence of the programming languages after the number of manufacturing firms, on whose plants the language is implemented;  Sequence of the manufacturing firms after the number of used programming languages.]
          in Leslie (ed) Numerical Control Programming Languages 1969 (PROLAMAT 69) view details
  • Stock, Marylene and Stock, Karl F. "Bibliography of Programming Languages: Books, User Manuals and Articles from PLANKALKUL to PL/I" Verlag Dokumentation, Pullach/Munchen 1973 69 view details Abstract: PREFACE  AND  INTRODUCTION
    The exact number of all the programming languages still in use, and those which are no longer used, is unknown. Zemanek calls the abundance of programming languages and their many dialects a "language Babel". When a new programming language is developed, only its name is known at first and it takes a while before publications about it appear. For some languages, the only relevant literature stays inside the individual companies; some are reported on in papers and magazines; and only a few, such as ALGOL, BASIC, COBOL, FORTRAN, and PL/1, become known to a wider public through various text- and handbooks. The situation surrounding the application of these languages in many computer centers is a similar one.

    There are differing opinions on the concept "programming languages". What is called a programming language by some may be termed a program, a processor, or a generator by others. Since there are no sharp borderlines in the field of programming languages, works were considered here which deal with machine languages, assemblers, autocoders, syntax and compilers, processors and generators, as well as with general higher programming languages.

    The bibliography contains some 2,700 titles of books, magazines and essays for around 300 programming languages. However, as shown by the "Overview of Existing Programming Languages", there are more than 300 such languages. The "Overview" lists a total of 676 programming languages, but this is certainly incomplete. One author ' has already announced the "next 700 programming languages"; it is to be hoped the many users may be spared such a great variety for reasons of compatibility. The graphic representations (illustrations 1 & 2) show the development and proportion of the most widely-used programming languages, as measured by the number of publications listed here and by the number of computer manufacturers and software firms who have implemented the language in question. The illustrations show FORTRAN to be in the lead at the present time. PL/1 is advancing rapidly, although PL/1 compilers are not yet seen very often outside of IBM.

    Some experts believe PL/1 will replace even the widely-used languages such as FORTRAN, COBOL, and ALGOL.4) If this does occur, it will surely take some time - as shown by the chronological diagram (illustration 2) .

    It would be desirable from the user's point of view to reduce this language confusion down to the most advantageous languages. Those languages still maintained should incorporate the special facets and advantages of the otherwise superfluous languages. Obviously such demands are not in the interests of computer production firms, especially when one considers that a FORTRAN program can be executed on nearly all third-generation computers.

    The titles in this bibliography are organized alphabetically according to programming language, and within a language chronologically and again alphabetically within a given year. Preceding the first programming language in the alphabet, literature is listed on several languages, as are general papers on programming languages and on the theory of formal languages (AAA).
    As far as possible, the most of titles are based on autopsy. However, the bibliographical description of sone titles will not satisfy bibliography-documentation demands, since they are based on inaccurate information in various sources. Translation titles whose original titles could not be found through bibliographical research were not included. ' In view of the fact that nany libraries do not have the quoted papers, all magazine essays should have been listed with the volume, the year, issue number and the complete number of pages (e.g. pp. 721-783), so that interlibrary loans could take place with fast reader service. Unfortunately, these data were not always found.

    It is hoped that this bibliography will help the electronic data processing expert, and those who wish to select the appropriate programming language from the many available, to find a way through the language Babel.

    We wish to offer special thanks to Mr. Klaus G. Saur and the staff of Verlag Dokumentation for their publishing work.

    Graz / Austria, May, 1973
          in Leslie (ed) Numerical Control Programming Languages 1969 (PROLAMAT 69) view details
    • SIGGRAPH interview - Sam Matra reminisces about AUTOPROMT
      external link
    • Advert for AUTOPROMT