The designers of APT had several major problems to overcome, and their solutions have proven to be far sighted and, in some cases, brilliant. Here, we will try to highlight some of the problems they faced and how they addressed them.
Note: APT is often called a compiler or an assembler. Technically, it doesn't fit either definition - it's really an incredibly complex translator. The term processor is often used to refer to the APT translator. APT program refers to an NC program written in the APT language.
CL File Formats (or Boy, am I confused!)
Although the actual formatting on disk varied, until about 1982 APT processors produced similar CL files. They were difficult for humans, but easy for computers, to read and contained mostly integer and floating point numbers. These days, we have dozens of "APT" CL file formats. These are mostly variations of APT motion statements, like GOTO x,y,z and many can be used as APT source. These are often called "ACL" files (for ASCII), "SCL" (for Source), "Standard" CL files (well, maybe), "APT" CL files (total confusion, let’s stop here........)
APT with CAD/CAM (or suddenly it's 1966!)
An APT processor is often used as a "back end" for a CAD/CAM system. The CAD/CAM system produces an APT source program (although it's often called a "CL file") which is then run through APT. This is done for several reasons.
Allows use of existing postprocessors - Many companies used APT before converting to a graphically oriented system and wanted to retain their investment in postprocessors.
Allows use of APT features - Some of the earlier CAD/CAM systems had limited or no ability to transform or to repeat portions of a tool path. For example, there was no way to drill a hole and then repeat that operation 10 times to create a bolt hole pattern. Instead, they would repeat the operation using APT INDEX/ and COPY/ statements which were inserted automatically into the output data.
Intelligent handling of arcs - A CAD/CAM system usually doesn't know how (or if) the target machine tool handles circular interpolation. This often means that arcs are produced as a series of short linear moves, especially if not in the XY plane. APT doesn't know either but it takes a very intelligent approach - it puts both the arc definition and the short linear moves into the CL file and lets the postprocessor (which does know) decide what to do. As CAD/CAM systems improve, this appears to be less of a problem. Also, in many cases, the the CAD/CAM system can describe the arc in the CL file and the postprocessor can convert it to a G2/G3 command or expand it to linear moves, as appropriate.
Simpler postprocessor library - By using APT as a link to the postprocessor, a company can use a single postprocessor per machine tool, even if multiple CAD/CAM systems are in use.