personal apt, reference guide, nc/cnc programming software

193
PERSONAL APT Reference Guide NC/CNC Programming Software CNC Focus

Upload: others

Post on 11-Sep-2021

52 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Reference Guide

NC/CNC Programming Software

CNC Focus

Page 2: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT™, MASTER MILL POSTPROCESSOR™, MASTER LATHE POSTPROCESSOR™, PERSONAL APT HIGH RESOLUTION GRAPHICS™ and Visual CamScript™ are trademarks of CNC Focus. Copyright © Digital Manufacturing Systems. 1985-2004. All rights are reserved. Copyright © CNC Focus 2004-2005. All rights are reserved. PERSONAL APT Version 2.6 Date Printed: 15-Apr-2005 Information in this document is subject to change without notice and does not represent a commitment on the part of CNC Focus. The software described in this document is furnished under a license agreement and non-disclosure agreement. The software may be used or copied only in accordance with the terms of the agreement. It is against the law to copy the software on any medium except as specifically allowed in the license or agreement. No part of this manual may be reproduced or transmitted in any form, or by any means, electronically or mechanical, including photocopying and recording, for any purpose without the express written consent of CNC Focus..

Page 3: Personal APT, Reference guide, NC/CNC programming software

i

Preface In 1952, the first numerically controlled machine tool was demonstrated at the Massachusetts Institute of Technology (MIT). That event, it is said by some, marked the beginning of the second industrial revolution.

In the fifty plus years since, the book on manufacturing technology has been completely rewritten. During this time APT has been the foundation for producing control media to drive the machines and processes that have made this a reality. The APT programming language has survived the challenge of many other programming systems to unseat it as the adopted industry standard. The basic APT language is unchanged through all these years. Only the computers and the software that translate the APT language into data that is meaningful to machines and control units have changed.

Though the power of computers has increased many fold, since the development of the APT language, and the size and cost of computers has decreased in almost the same ratio, the basic software design concept, of multiple passes of the data through the computer, still exists in most APT implementations.

PERSONAL APT is a single pass processor through CL file generation. This means that errors in the APT part program can be diagnosed and corrected in much less time than with the conventional multi-pass systems. The Interactive Development Environment (IDE) provides for quickly editing and modifying the program text. The integrated graphics display feature allows you to immediately verify the tool path resulting from your program. These and other features provide an extremely productive work environment and an ideal framework for learning the APT language concepts and features. Additionally, the geometry definitions and mathematical functions provide a powerful and friendly problem solving capability unequaled even in the BASIC language.

PERSONAL APT was designed to utilize low-cost, state-of-the-art hardware and to provide a user-friendly environment for the development and maintenance of numerical control part programs. We have implemented PERSONAL APT on a computer configuration that is well within the financial reach of most people. This means that APT part programming power is now realistically available to more people than ever before.

This documentation covers all versions of PERSONAL APT;

1. Basic Apt - Suitable for first time users of APT and limited production work. This version is distributed free with Visual CamScript.

2. Educational Version - Same as the Shareware version but specially stamped for Educational Use.

3. Commercial Version - With the Extended Features Set for industrial strength production programming capability

Only the Commercial Version includes the Extended Features Set. Other notations are made throughout this document about features that are only available with the Extended Features Set.

We hope you are pleased with PERSONAL APT and that it performs the tasks for which it was chosen. Thank you very much.

Page 4: Personal APT, Reference guide, NC/CNC programming software

ii

(This page is for your notes)

This is test printing.

Page 5: Personal APT, Reference guide, NC/CNC programming software

iii

Table of Contents Preface ----------------------------------------------------------------------------------------------------- i (This page is for your notes) -------------------------------------------------------------------------- ii Table of Contents ---------------------------------------------------------------------------------------iii (This page is for your notes) ------------------------------------------------------------------------ viii Introduction----------------------------------------------------------------------------------------------ix

Copyright------------------------------------------------------------------------------------------------------- ix Trademarks ---------------------------------------------------------------------------------------------------- ix No Warranty --------------------------------------------------------------------------------------------------- ix

Document Conventions ---------------------------------------------------------------------------------x

Getting Started---------------------------------------------------------------------- 1 Before Use -------------------------------------------------------------------------------------------------1 System Requirements -----------------------------------------------------------------------------------1 Distribution Files-----------------------------------------------------------------------------------------1 Installation ------------------------------------------------------------------------------------------------1

Hard Disk Installation Procedures ---------------------------------------------------------------------------1

Using PERSONAL APT ---------------------------------------------------------- 3 The Interactive Development Environment (IDE)------------------------------------------------3 The Menu Bar --------------------------------------------------------------------------------------------3 The Reference Bar ---------------------------------------------------------------------------------------3 Opening Menus-------------------------------------------------------------------------------------------3 PERSONAL APT On-Line Help ---------------------------------------------------------------------4 Using On-Line Help -------------------------------------------------------------------------------------4 Processing the Part Program --------------------------------------------------------------------------5 Graphic Program Verification ------------------------------------------------------------------------5 Part Program Preparation-----------------------------------------------------------------------------7

PERSONAL APT Basics---------------------------------------------------------- 9 Punctuation and Grammar -------------------------------------------------------------------------- 10

Characters ----------------------------------------------------------------------------------------------------- 11

Words ---------------------------------------------------------------------------------------------------- 12 Major Words-------------------------------------------------------------------------------------------------- 12 Minor Words-------------------------------------------------------------------------------------------------- 12 Modal Words ------------------------------------------------------------------------------------------------- 12 Postprocessor Words ---------------------------------------------------------------------------------------- 12

Symbols -------------------------------------------------------------------------------------------------- 13 Subscripted Symbols ---------------------------------------------------------------------------------------- 14

Statements ----------------------------------------------------------------------------------------------- 14 Statement Identification ------------------------------------------------------------------------------------- 15

COMPUTING ------------------------------------------------------------------------------------------ 15 Arithmetic Operations --------------------------------------------------------------------------------------- 15 Computing Phrases ------------------------------------------------------------------------------------------ 15 Functions ------------------------------------------------------------------------------------------------------ 15

Geometry Definitions --------------------------------------------------------------------------------- 17 Geometry Elements ------------------------------------------------------------------------------------------ 17

Page 6: Personal APT, Reference guide, NC/CNC programming software

iv

Format Example Conventions-------------------------------------------------------------------------------18 (This page is for your notes)---------------------------------------------------------------------------------19 Point Definition Formats-------------------------------------------------------------------------------------20 Point Definition Examples:----------------------------------------------------------------------------------21 Line Definition Formats -------------------------------------------------------------------------------------22 Line Definition Examples:-----------------------------------------------------------------------------------23 Circle Definition Formats------------------------------------------------------------------------------------24 Circle Definition Examples: ---------------------------------------------------------------------------------25 Pattern Definition Formats ----------------------------------------------------------------------------------26 Pattern Definition Examples --------------------------------------------------------------------------------27 Plane Definition Formats ------------------------------------------------------------------------------------28 Plane Definition Examples: ---------------------------------------------------------------------------------29 Vector Definition Formats-----------------------------------------------------------------------------------30 Vector Definition Examples: --------------------------------------------------------------------------------31 Matrix Definition ---------------------------------------------------------------------------------------------32 Matrix Definition Examples: --------------------------------------------------------------------------------33 Canonical Forms ----------------------------------------------------------------------------------------------34

ZSURF --------------------------------------------------------------------------------------------------- 34 ������--------------------------------------------------------------------------------------------------------34

Tool Motion Commands------------------------------------------------------------------------------ 36 POSITIONING Statements----------------------------------------------------------------------------------36 Part, Drive and Check Surfaces -----------------------------------------------------------------------------37 Part_Surface ---------------------------------------------------------------------------------------------------37 Drive Surface--------------------------------------------------------------------------------------------------38 Check Surface -------------------------------------------------------------------------------------------------38 GO - The Startup Statement ---------------------------------------------------------------------------------39 Direction INDIRV and INDIRP------------------------------------------------------------------------40 Part_Surface PSIS, AUTOPS ----------------------------------------------------------------------------40 Tool End Location FROM/----------------------------------------------------------------------------------40 Continuous Path Motion Commands-----------------------------------------------------------------------40 Implied Check_Surface --------------------------------------------------------------------------------------42 TOOL-TO-SURFACE RELATIONSHIPS ---------------------------------------------------------------42 TLON, TLLFT, TLRGT -------------------------------------------------------------------------------------42 Relationships Between Tool and Drive_Surface:---------------------------------------------------------42 Check_Surface Intersection ---------------------------------------------------------------------------------43

Cutter Specification ----------------------------------------------------------------------------------- 43 Motion Specification Summary--------------------------------------------------------------------- 43 The "FROM" Statement ----------------------------------------------------------------------------- 44 The "GOTO" Statement ----------------------------------------------------------------------------- 44 The "GODLTA" Statement ------------------------------------------------------------------------- 44 The "GO" Statement --------------------------------------------------------------------------------- 44 Tool to Surface Relationship ------------------------------------------------------------------------ 44

Directed Tool Motion ----------------------------------------------------------------------------------------44 The Thickness (����) Statement-------------------------------------------------------------------------45

Repetitive Programming ----------------------------------------------------------------------------- 47 ���� ���� Statements-----------------------------------------------------------------------------------47 The ���� Statement ---------------------------------------------------------------------------------------47 The ���� Statement -----------------------------------------------------------------------------------------47 Use of the ���� Feature-------------------------------------------------------------------------------------48 The �� Statement---------------------------------------------------------------------------------------------50 Looping --------------------------------------------------------------------------------------------------------50 ������--------------------------------------------------------------------------------------------------------50 Macros ---------------------------------------------------------------------------------------------------------51

TRACUT ------------------------------------------------------------------------------------------------ 52

Page 7: Personal APT, Reference guide, NC/CNC programming software

v

PERSONAL APT Pocketing------------------------------------------------------------------------- 55 Part Program Sequence ------------------------------------------------------------------------------ 58

Tolerance Specifications ------------------------------------------------------------------------------------ 58 Part Description ---------------------------------------------------------------------------------------------- 58 Cutter Specification------------------------------------------------------------------------------------------ 58 Speeds, Feeds and Coolant---------------------------------------------------------------------------------- 59 Tool Motion Statements------------------------------------------------------------------------------------- 59 Program Termination ---------------------------------------------------------------------------------------- 59 Sample Part Program ---------------------------------------------------------------------------------------- 60 Postprocessing------------------------------------------------------------------------------------------------ 61 Master Mill Postprocessor List File------------------------------------------------------------------------ 62 PERSONAL APT Program Considerations -------------------------------------------------------------- 63 With the Extended Feature Set ----------------------------------------------------------------------------- 63 Without the Extended Feature Set ------------------------------------------------------------------------- 63

Graphics Display ------------------------------------------------------------------ 65 Command Line Options ------------------------------------------------------------------------------ 65 Running PAHRG -------------------------------------------------------------------------------------- 65 Adjusting the Display --------------------------------------------------------------------------------- 65 Saving Your Configuration -------------------------------------------------------------------------- 67 General Discussion ------------------------------------------------------------------------------------ 67 Graphics Help ------------------------------------------------------------------------------------------ 68 Display Commands ------------------------------------------------------------------------------------ 69 Function Key Commands & Options -------------------------------------------------------------- 69 Special 3D Display Considerations ----------------------------------------------------------------- 70 3D Window Commands ------------------------------------------------------------------------------ 71 Part Program Statements ---------------------------------------------------------------------------- 71 Displaying Geometry---------------------------------------------------------------------------------- 71 The Frame Command--------------------------------------------------------------------------------- 72 Printing Your Graphic Display --------------------------------------------------------------------- 73

Extended Features Set------------------------------------------------------------ 75 Extended Statement Syntax-------------------------------------------------------------------------- 75 Redefinition of Geometry Elements---------------------------------------------------------------- 75 Some Additional Geometry Definitions ----------------------------------------------------------- 75

Point Definitions --------------------------------------------------------------------------------------------- 75 Line Definitions ---------------------------------------------------------------------------------------------- 76 Circle Definitions -------------------------------------------------------------------------------------------- 76 Plane Definitions --------------------------------------------------------------------------------------------- 76 Vector Definitions ------------------------------------------------------------------------------------------- 76 Matrix Definitions ------------------------------------------------------------------------------------------- 76

Some Additional Functions -------------------------------------------------------------------------- 76 The Logical������������ ---------------------------------------------------------------------------------------- 78 Computed JUMPTO ---------------------------------------------------------------------------------- 78 GOSUB-RETURN ------------------------------------------------------------------------------------- 78 Additional Graphics Control ------------------------------------------------------------------------ 79 Processing External Files----------------------------------------------------------------------------- 80

The ��� Statement ---------------------------------------------------------------------------------------- 80

INPUT---------------------------------------------------------------------------------------------------- 81

Page 8: Personal APT, Reference guide, NC/CNC programming software

vi

TUNEUP------------------------------------------------------------------------------------------------- 81 SHAPE --------------------------------------------------------------------------------------------------- 82

Advantages in using ����� --------------------------------------------------------------------------------82 Defining Shapes-----------------------------------------------------------------------------------------------82 Shape Segments-----------------------------------------------------------------------------------------------83 Using CAD Files to Define a SHAPE----------------------------------------------------------------------85 Cutting The ����� ------------------------------------------------------------------------------------------87 Avoiding Undercuts ------------------------------------------------------------------------------------------89 General Shape Information ----------------------------------------------------------------------------------92

The ����� ���������� ���������� ���������� ����� Feature ------------------------------------------------------------------------ 93 THREAD/AUTO Feature---------------------------------------------------------------------------- 95

Required Parameters -----------------------------------------------------------------------------------------95 Optional Parameters ------------------------------------------------------------------------------------------97

The BSURF Feature----------------------------------------------------------------------------------- 98 PERSONAL APT Vocabulary ---------------------------------------------------------------------104

Processor Major Words ------------------------------------------------------------------------------------ 105 Minor Words ------------------------------------------------------------------------------------------------ 105 Postprocessor Major Words ------------------------------------------------------------------------------- 106 Synonyms---------------------------------------------------------------------------------------------------- 107 PERSONAL APT Standard Synonyms ------------------------------------------------------------------ 107

Processing Diagnostics ----------------------------------------------------------109

PERSONAL APT Output ------------------------------------------------------115 The PERSONAL APT List File -------------------------------------------------------------------------- 115

Sample Part Program--------------------------------------------------------------------------------116 Explanation of List File Content -------------------------------------------------------------------------- 116 Sample Part Program List File ---------------------------------------------------------------------------- 117

Postprocessing the CL File -----------------------------------------------------119 Program Philosophy ---------------------------------------------------------------------------------------- 119 Option Tables ----------------------------------------------------------------------------------------------- 119

Common Postprocessor Vocabulary--------------------------------------------------------------121 CYCLE Output for � Axis -------------------------------------------------------------------------------- 123 Software Cycles--------------------------------------------------------------------------------------------- 123

Unique MMPOST Vocabulary---------------------------------------------------------------------132 Sample Mill Postprocessor List File---------------------------------------------------------------------- 139

Unique MLPOST Vocabulary ---------------------------------------------------------------------140 Software Cycles--------------------------------------------------------------------------------------------- 140

Configuring Postprocessors----------------------------------------------------147 Program Philosophy ---------------------------------------------------------------------------------------- 147 Option Tables ----------------------------------------------------------------------------------------------- 147 Configuring MMPOST Option Tables------------------------------------------------------------------- 149

MMP Edit Menu --------------------------------------------------------------------------------------149 MMP Edit Menu Selections ------------------------------------------------------------------------150

MMP Identification----------------------------------------------------------------------------------------- 150 MMP Register Sequence----------------------------------------------------------------------------------- 151 MMP Register Use-Format-------------------------------------------------------------------------------- 151 MMP G-Codes ---------------------------------------------------------------------------------------------- 152 MMP M-Codes---------------------------------------------------------------------------------------------- 152 MMP ����� G-Codes ------------------------------------------------------------------------------------ 152 MMP Z Output for Cycles--------------------------------------------------------------------------------- 153 MMP Linear Motion --------------------------------------------------------------------------------------- 153

Page 9: Personal APT, Reference guide, NC/CNC programming software

vii

MMP Circular Motion--------------------------------------------------------------------------------------154 MMP Circular Motion Tape Data-------------------------------------------------------------------------155 MMP Spindle Speeds---------------------------------------------------------------------------------------156 MMP Miscellaneous----------------------------------------------------------------------------------------157 MMP Save ---------------------------------------------------------------------------------------------------157 MMP New Option Number--------------------------------------------------------------------------------157 MMP Exit to PERAPT -------------------------------------------------------------------------------------157 MMP Default Options --------------------------------------------------------------------------------------158

Configuring MLPOST Option Tables ------------------------------------------------------------160 MLP Edit Menu ---------------------------------------------------------------------------------------160 MLP edit Menu Selections --------------------------------------------------------------------------161

MLP IDENTIFICATION ----------------------------------------------------------------------------------161 MLP Register Sequence------------------------------------------------------------------------------------162 MLP Special Codes-----------------------------------------------------------------------------------------162 MLP Register Use-Format ---------------------------------------------------------------------------------163 MLP G-Codes -----------------------------------------------------------------------------------------------163 MLP M-Codes-----------------------------------------------------------------------------------------------164 MLP Linear Motion-----------------------------------------------------------------------------------------164 MLP Circular Motion---------------------------------------------------------------------------------------164 MLP Circular Motion Tape Data -------------------------------------------------------------------------165 MLP Spindle Speeds----------------------------------------------------------------------------------------166 MLP Miscellaneous-----------------------------------------------------------------------------------------168 MLP Save ----------------------------------------------------------------------------------------------------168 MLP New Option Number---------------------------------------------------------------------------------168 MLP Exit to PERAPT --------------------------------------------------------------------------------------168 MLP Default Options---------------------------------------------------------------------------------------169

PERSONAL APT Tape File--------------------------------------------------- 171 PERSONAL APT Tape Punching-----------------------------------------------------------------171

Leader and Trailer-------------------------------------------------------------------------------------------173

Problem Reporting-------------------------------------------------------------- 175

Appendix A - Character Equivalents---------------------------------------- 177

Page 10: Personal APT, Reference guide, NC/CNC programming software

viii

(This page is for your notes)

This is test print.

Page 11: Personal APT, Reference guide, NC/CNC programming software

ix

Introduction PERSONAL APT is a computer program which translates Numerical Control Programs, written in a subset of the APT language, into an intermediate format (CL file) for subsequent postprocessing into a Machine Control Tape or other control media.

APT (Automatically Programmed Tools) is the oldest and most widely used NC programming language in general use today. APT development was initially sponsored by the US Air Force, and later the AIA (Aerospace Industries Association), and has evolved into an extremely powerful and universal programming language. PERSONAL APT recognizes only a subset of the APT vocabulary but is powerful enough to handle most requirements.

Additionally, the minimum hardware requirements and abundant features of PERSONAL APT make it an ideal program for schools and individuals to use in teaching and learning the APT programming language and its concepts.

PERSONAL APT can be a very productive tool for Engineers, Draftsmen and others who spend time on complex mathematical and geometric computations. PERSONAL APT provides preprogrammed functions for the solution of intersection and tangency problems, transformation of dimensional data between coordinate systems and vector functions to aid computations.

PERSONAL APT was developed to run on PC/MS DOS and compatible personal computers. The minimum hardware requirements are 640kb memory and a single 1.4mb floppy disk. A hard disk is recommended for greater productivity. You must also use PC/MS DOS 3.xx or later.

Many books and magazine articles have been written outlining the history of numerical control and the development of the APT programming language. Also, there are numerous books available that fully explain the APT language concepts and act as a tutorial covering its usage. For the inexperienced programmer, we recommend NUMERICAL CONTROL PART PROGRAMMING published by Industrial Press and authored by James J. Childs. Other books that would aid in learning the APT language are:

PUBLISHER TITLE Industrial Press Principals of Numerical Control John Wiley & Sons Numerical Control Programming

Copyright PERSONAL APT™ is copyrighted 2002-2005 by CNC Focus. All rights are reserved. Users are granted a limited license to use this software product on a single computer. If you are interested in multiple copies of PERSONAL APT, Site and Corporate licenses are available. Please contact CNC Focus.

Trademarks PERSONAL APT™, MASTER MILL POSTPROCESSOR™, MASTER LATHE POSTPROCESSOR™ and PERSONAL APT HIGH RESOLUTION GRAPHICS™ are trademarks of CNC Focus.

No Warranty PERSONAL APT and other associated programs are provided on an "as is" basis without warranty of any kind, expressed or implied, including but not limited to the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to quality and performance of these programs is with you. Should any program prove defective, you assume the entire cost of the necessary repair, servicing or correction. In no event will CNC Focus be liable to you for any damages, including lost profits, lost savings, or other incidental or consequential damages arising out of the use or inability to use these programs, even if CNC Focus has been advised of the possibility of such damages.

Page 12: Personal APT, Reference guide, NC/CNC programming software

x

Document Conventions Throughout this guide we will use examples of APT program statements and examples of DOS commands to emphasize or clarify our discussion. These examples will be recognizable according to the following conventions.

Part program statement examples, and all occurrences of APT vocabulary words, will be shown in bold italic characters as follows;

���� ��������� ����������������������� ����������������������� ����������������������� ������������������������������

User assigned variable names and scalar values that are used in APT program statements will be shown in italicized characters as ���� and ���� in the above example.

Computer commands will be shown in bold letters thus:

COPY A:*.* B:

This is test print.

Page 13: Personal APT, Reference guide, NC/CNC programming software

Getting Started 1

PERSONAL APT - Reference Guide

Getting Started The PERSONAL APT™ software is distributed by CNC Focus on a single 1.4mb 3.5" DS/HD diskette. If you require a different size disk, please contact CNC Focus.

Before Use Before you do anything else, make a backup copy of the PERSONAL APT distribution disk. This may be accomplished by typing COPY A: B: at the DOS prompt. Your computer will instruct you when to insert the SOURCE (distribution) disk and the TARGET (backup copy) disk. Next, place the distribution disk in a safe place and use the backup copy for installation.

Now, be sure to print the PAREAD.ME file and any files with a DOC extension. If you don't know how to do this, refer to your DOS manual or seek the help of a knowledgeable friend.

System Requirements Your system must have a minimum of 640kb memory and one 1.4mb 3.5" disk drive to use PERSONAL APT. You should also have a VGA monitor for graphic display. You must also be using PC/MS DOS 3.xx or later. PERSONAL APT will run as a DOS program under Microsoft Windows 3.1 or later.

Distribution Files The distribution files and a brief description of each follows:

PAREAD.ME Initial instructions PERAPT.EXE The executable program PAPRO.EXE The APT language processor module PAHRG.EXE High Res Graphics program module *.APT Sample part programs MMCONFIG.EXE Configuration program for MMPOST MMPOST.EXE Master Mill Postprocessor module MLCONFIG.EXE Configuration program for MLPOST MLPOST.EXE Master Lathe Postprocessor module BROWSE.EXE File browsing module TAPEPNCH.EXE Tape punching module *.OPT Sample postprocessor configuration tables PAHELP.HLP On-Line help file.

Installation

Hard Disk Installation Procedures 1. Boot your system in the normal manner 2. Create a sub-directory “APT” thus:

MD APT 3. Change to the APT directory thus:

CD APT 4. Copy the distribution files from the Backup Disk thus:

COPY A:*.* 5. Remove and store the PERSONAL APT distribution disk. 6. Type PERAPT to start PERSONAL APT.

Page 14: Personal APT, Reference guide, NC/CNC programming software

2 Using PERSONAL APT

PERSONAL APT - Reference Guide

(This page is for your notes)

This is test print.

Page 15: Personal APT, Reference guide, NC/CNC programming software

Using PERSONAL APT 3

PERSONAL APT - Reference Guide

Using PERSONAL APT To start PERSONAL APT, type PERAPT SAMPLE at the DOS prompt. Typing the program file name (SAMPLE[.apt]) is optional.

Figure 1: Opening Screen

Following the display of the opening screen (Figure 1), the first keystroke or mouse movement removes the banner. The top line of the screen shows the Menu Bar. The bottom line of the screen shows the Reference Bar. Between the Menu Bar and the Reference Bar is the Text Window. The Text Window is bordered on the right and bottom by scrollbars. Also, the bottom line of the Text Window displays the row and column values of the current cursor position.

The Interactive Development Environment (IDE) PERSONAL APT’s programming tools are instantly available. They include features for program organization, editing, file management, printing and debugging -- even customizing the colors of the environment.

The Menu Bar The menus on the Menu Bar at the top of the PERSONAL APT screen contain the IDE commands (see Figure 1). You will use them as you write and modify programs in the Text Window.

The Reference Bar The reference bar at the bottom of the screen indicates the file name of the current program text (see Figure 1). As you work on a program, the reference bar updates information about the environment and your program. When a command is highlighted, the reference bar briefly describes what the command does (Figure 2).

Opening Menus You can execute most IDE commands by choosing them from the menus. When you press the Alt key, one letter in each Menu Name appears in high-intensity video. To open a Menu, press the Alt key, and then press the key corresponding to the high-intensity letter in the menu name. You can open the menus and

Page 16: Personal APT, Reference guide, NC/CNC programming software

4 Using PERSONAL APT

PERSONAL APT - Reference Guide

move among them using direction keys (Up, Down, Right, Left arrow keys). You may also use a mouse by positioning the cursor over your menu choice and clicking twice on your command choice.

To open a menu;

1. Press the ALT key, then the H key, to select the Help Menu When you “select” (highlight) a menu, its name is shown in a reverse video block. If you then press ALT again, the menu loses the highlight.

2. Press the UP or DOWN key to select successive commands in an open menu.

3. Press the RIGHT or LEFT key to open adjacent menus.

4. Press the ESC key to close the menu without executing a command. The cursor returns to the View window, the part of the screen where you edit your program. You can always back out of any menu situation by pressing ESC.

PERSONAL APT On-Line Help If you need additional information about menus or other PERSONAL APT features, consult on-line help. You can get help on PERSONAL APT vocabulary words and the syntax of PERSONAL APT statements in addition to the general editing features.

Using On-Line Help There are several ways to get on-line help in PERSONAL APT. For help on menu names or commands press the Shift-F1 keys or, select the Help Menu and then press G. If you want help on any part of a program, place the cursor within the word you need help on, then press F1.

Figure 2: Selecting On-Line Help

Pressing the ENTER, or G, key when the Help menu is activated will display a Help Window with a brief description of the general editing features of PERSONAL APT (Figure 3). You may use the direction arrow keys to scroll through this help text. When you are ready to return to the Text Window, press the ESC key.

To see a Help Window on an element of the PERSONAL APT language element displayed in the Help Window, place the cursor on the word and press the F1 key. Help Windows may be nested to 10 levels and pressing the ESC key will back up one window.

Page 17: Personal APT, Reference guide, NC/CNC programming software

Using PERSONAL APT 5

PERSONAL APT - Reference Guide

Figure 3: PERSONAL APT General Help

Processing the Part Program To process the part program, producing a CL-File, choose the RUN-PERSONAL APT menu command (see Figure 4). The reference bar will be changed to indicate that the program is processing.

Figure 4: Selecting Run-PERSONAL APT Menu Command

When program processing has completed, control is returned to the Text Window and the reference bar is restored.

Graphic Program Verification Next you probably want to graphically verify the results of the program you just processed. Choose the Run-Screen Graphics command (Figure 4).

Page 18: Personal APT, Reference guide, NC/CNC programming software

6 Using PERSONAL APT

PERSONAL APT - Reference Guide

Figure 5: Selecting a Plot View

You may choose to display any view of the tool path shown in the menu (Figure 5). Perhaps you would like to try them all. Whatever view you choose, PERSONAL APT will compute a scale and/or viewing position that will allow the complete programmed path envelope to be displayed. The program text that produces the motion being displayed scrolls through the bottom three lines of the screen. Dynamic displaying is interrupted and a command menu string is displayed each time a ����������������, ��������������������, ������������������������, ��������������������, ���������������� or �������� statement is encountered. From this command menu, you may Zoom and Pan in several ways. For now, just press the ENTER key each time the Plot Cmnd line appears.

Figure 6: Perspective Plot View

Don't be afraid to try all the menu choices. With a little practice, you will feel very comfortable with the menu system.

Page 19: Personal APT, Reference guide, NC/CNC programming software

Using PERSONAL APT 7

PERSONAL APT - Reference Guide

Part Program Preparation If you start PERSONAL APT without specifying a file name on the command line, PERSONAL APT opens with a blank text window. You may type your program in the window, choose the File-Save As menu command and specify a file name for the program. The program must be saved before it will process.

If you start PERSONAL APT without a file name and want to open an existing program file, you may select the File-Open menu command. A dialog box is displayed showing all the files, in the default directory, with the APT extension (Figure 7).

Figure 7: Part Program Selection

Page 20: Personal APT, Reference guide, NC/CNC programming software

8 Using PERSONAL APT

PERSONAL APT - Reference Guide

(This page is for your notes)

This is test print.

Page 21: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics 9

PERSONAL APT - Reference Guide

PERSONAL APT Basics PERSONAL APT allows the part programmer to describe the features of a part using simple geometric elements such as points, lines, circles, etc. However, PERSONAL APT does not understand all the various methods of blueprint dimensioning. PERSONAL APT requires that the part be described in terms of a right-handed rectangular Cartesian coordinate system. This system has three mutually perpendicular axes intersecting at a common point called the origin (Figure 8). These axes are referred to as the X-axis, the Y-axis and the Z-axis. This axis relationship is also used to describe the moving members of a machine tool. Looking into the face of the machine tool bed, the X-axis usually moves left and right, the Y-axis moves perpendicular to the X-axis and the Z-axis usually moves parallel to the spindle axis. For instance, on a milling machine, a move from Z+10 to Z+14 would cause the spindle to withdraw four inches away from the bed of the machine. If the machine were a lathe, the same move would cause the cutting tool to move four inches away from the face of the chuck. On a milling machine, a move from X+3 to X+6 would cause the spindle to move three inches to the right in relation to the part, regardless of what the machine movement was. This same motion on a lathe would be three inches toward the rear of the machine. Usually, the Y-axis is not involved on a lathe since it is a 2-axis machine. The programmer can locate geometry in space by specifying its position in terms of the coordinate system. The origin always has a value of X0, Y0 and Z0. Any point in space can be described by its X, Y and Z relationship to the origin. A line in space can be described as passing through any two points in space.

Figure 8: Cartesian Coordinate System Axes

Another feature of the Cartesian coordinate system is the use of coordinate planes. A coordinate plane is formed by any two of the three coordinate axes. Thus, the X and Z axes are in the ZX plane, the Y and Z axes are in the YZ plane, and the X and Y axes lie in the XY plane. Almost all part programming is done with the programmer facing the XY plane. On the engineering drawing, this would be the top view; the side view would be the ZX plane and the end view would be the YZ plane.

Page 22: Personal APT, Reference guide, NC/CNC programming software

10 PERSONAL APT Basics

PERSONAL APT - Reference Guide

Figure 9: Cartesian Coordinate System Planes

The coordinate system allows the part programmer to describe the part configuration to PERSONAL APT. Part features may be described as points, lines, circles, planes, etc. To achieve motion of the machine tool the part programmer may give an instruction to go directly to a point in space. On a contouring machine, this would result in a simultaneous move of all three axes. On a point-to-point machine, this would probably result in a move of the X and Y axes and then the Z axis. If the part programmer gives an instruction to move along a surface, such as a line or a circle, PERSONAL APT will cause the cutter to drive along that surface until the motion is checked by a specified surface. The driving surface is referred to as the drive surface and the surface which checks the motion is called the check surface. A third surface, which controls the position of the cutting tool in the Z-axis, is called the part surface. If a cutter diameter is specified, PERSONAL APT is capable of computing an offset cutter path automatically. Surfaces are not involved when moving directly to a point in space. The resulting output of all motion statements is a set of points defining the coordinate location of the cutter in space (CL-File).

Figure 10: Drive Surface, Part Surface, Check Surface

Punctuation and Grammar Punctuation performs a definite function and any error or omission will cause a diagnostic. The punctuation characters used are: slash, comma, parenthesis, equal sign, dollar sign, double dollar sign and the colon. No punctuation is required at the end of a complete statement; and no punctuation at all is required for a single word statement, such as ���������������� or ����������������. However, some type of punctuation is

+Z

+X

+Y-Y

-X

-Z

Page 23: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics 11

PERSONAL APT - Reference Guide

required between each word, symbol, number or identification of the statement. The rules governing the use of the punctuation characters are as follows:

Characters / ----- The slash separates the major word on the left from the minor words on the right in a statement. For example:

����� ����� ����� ����� ������������ ����� ����� ����� ����� � �

, ----- The comma separates each symbol, word, or number that is not separated by any other punctuation. For example:

���� ����� ����� ����� ����� �! ����"����"����"����"��������������� ����������� ����������� ����������� ����������� ������������������������������������ �!������� ��������#����� ������� ��������#����� ������� ��������#����� ������� ��������#����� ��$%��������%��������%��������%��������&!����

()----- Parentheses enclose a definition or computational statement nested within another statement. This enables the programmer to define a geometric element, or to compute a number and use it, without having to assign a symbolic name to the element or number. For example:

���� �!�������� ������#���� �������� ������#���� �������� ������#���� �������� ������#���� $�!�$�� %�#���� %�#���� %�#���� %�#���� �����%%%%�������� ���� #����� ���� #����� ���� #����� ���� #����� � ���&!%%%%�������� ����� #���� ����� #���� ����� #���� ����� #���� ������������#����������#����������#����������#�!'$!(� %%%%%%%%����

Nests within nests cannot share parentheses; each must have its own parenthesis pair, as shown in the third line of the previous example.

=----- The equal sign establishes the symbol at the left of the "=" as the accepted substitute for the geometric definition or numerical value at the right of the "=".

A separate statement is not required to establish the identity of a symbol. A symbol may be assigned to a nested definition within another statement. Once the identity of a symbol has been established, it may be used anywhere in the program. For example:

���� ���������� �������� �������� �������� $�!� �������� �!��������� ����������������� ����������������� ����������������� �����������������������������������������������&!����

$----- A single dollar sign, placed at the end of a programming line, indicates that the statement has not been completed on that line but continues on the following line. Therefore, any words following, on the same line, are treated as remarks, and the program goes to the next line for completion of the statement.

When the programmer breaks up a long statement to provide a more orderly arrangement of the program, the statement should be divided so that the continuation line begins with a complete symbol, word or number. For example:

To write the statement:

���� �!������ ������#���� ������ ������#���� ������ ������#���� ������ ������#���� �����������������������������������!%�%�%�%�������

you could break the statement as follows:

���� �!�������� ���������������� ���������������� ���������������� ��������)��*+,-./*0�12�34,4*+*.4�2155163�������� ���� #���� #���� #���� #���� �������������������������������������������!%�%�%�%�����

$$----- The double dollar sign indicates that the remainder of the line contains no more information requiring processing. It may be used at the beginning of a program line to make all the remaining spaces available for programmer comments. For example:

���� ������ ������ ������ ������ �7�))���������������� ))���"������5����������������

Page 24: Personal APT, Reference guide, NC/CNC programming software

12 PERSONAL APT Basics

PERSONAL APT - Reference Guide

)----- A right parenthesis is used to signal the end of a nested expression or definition. It is also used as the delimiter of a statement label. For example:

���#�'�%8��� ������%����� ���� ���� ���� ��#�%�

Words APT words are composed of no more than six characters (exclusive of blanks) and are selected to suggest by sight or sound the actual English words for which they stand. To keep vocabulary size at a minimum, words have in some cases been selected to satisfy multiple needs, and consideration has been given to future application as well as to current requirements. Words other than those appearing in the dictionary may be used in the part program. To save time and space otherwise required by repetition, the part programmer sometimes uses assigned names after they have been properly identified. These words may also be used as substitutes for values or geometric definitions.

Major Words The major words appear to the left of a slash in a statement. They may also appear in no-slash statements and in nested statements at the left of the slash. Major words are the most important words in a statement and most often represent geometric statements and motion options.

���� �#����� ������������ �#����� ������������ �#����� ������������ �#����� ��������������������%%%%�))��149���������������������,./����������������������������,0*�+,:10�610/3&&&&����

Minor Words Minor Words are those words appearing to the right of the slash in a statement. They usually serve as a descriptor, completing the meaning of a major word. For example:

�;+<15��������� ����������������� ����������������� ����������������� ��������=1-.4������������������������������������0,/->3�

Here��������������������������������is a major word with��������������������������������and����������������������������serving as minor words.

Modal Words Modal words may appear either left or right of a slash. Thus a word could be both major and modal or minor and modal. Modal words usually deal with specifications or conditions, which apply to most of the operation. Modal words, once entered in a program, are effective from that point to the end of the program, or until countermanded. For example:

���� ����� ������ ������ ������ �((((((((((((�������� ����� �������� �������� �������� �������

Postprocessor Words Postprocessor words are words containing information necessary to produce the control tape for a specific control unit. Some of these words are generalized and apply to all postprocessor systems while others apply only to a specific postprocessor. For a thorough understanding of all the applicable words and their usage in your system, consult the postprocessor documentation for your specific control unit.

Postprocessor words are designed to be acted upon by the computer while operating under the postprocessor program. The following is a list of general postprocessor words.

A more complete listing of postprocessor words begins on page 1.

The postprocessor is specified by a ������������������������ statement early in the program. The simplest form for this statement is as follows:

���� ������ ������� ������� ������� �+,?9-.*@.,+*��.>+<*0����

����� ������ ������ ������ �2---Specifies a feed rate of f inches per minute. The actual feed rate will be less than or equal to�2 and as near to it as machine tool limitations will permit. ����� ����� ����� ����� �2 may be used as often as the

Page 25: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics 13

PERSONAL APT - Reference Guide

part programmer wishes and should be set for the best finish, chip load, etc. Some knowledge of the limitations of the machine tool to be used is necessary to prevent actual feed rates from differing greatly from those desired.

����� ����� ����� ����� ((((--Specifies spindle condition. A clockwise rotation (��"��"��"��") is assumed unless otherwise specified. If ������������ is used, the statement is complete without further entries. For example:

���� ����� ������ ������ ������ �0=+�����"�����"�����"�����"�������� ����� ��������� ��������� ��������� ��������

������ ������ ������ ������ ---Specifies the coolant condition. For example:

���� ������ �A�������� �A�������� �A�������� �A��((((������������((((����������������((((����B����B����B����B����

����������������---Changes the set feed rate to rapid traverse speed. This instruction affects only the next motion statement.

����������������---Causes the machine tool and input reader to stop. Common uses are to permit inspection of cutters, changing clamps, etc. The cutter should not be contacting the work when this instruction is used. The ���������������� occurs at the last programmed position. Feed rate is reduced to zero and spindle and coolant are turned off.

Although the machine tool can only be restarted manually, the necessary data needed for further automatic operation is provided on the control media as necessary.

��������---End of a Part Program. This word stops the controller and machine tool and turns off all auxiliaries. For example:

���� ������������

Symbols Geometric elements and numerical values may be given symbolic names as they are defined, and thereafter the symbolic name can be used whenever that element or value is referred to in the program. For example, if two points are defined and given symbolic names, ��������� ������� ������� ������� ���C and ��C������� ������� ������� ������� �&7��(C then two symbolic names can be used for the points in the line definition, �$���������������� ����� ����� ����� �������C.

There are three basic rules governing symbols:

1. The symbol may not be a dictionary word or assigned synonym. 2. The symbol must consist of six or less alphabetic or numeric characters. Punctuation or

special characters are prohibited. 3. Symbolic names must contain at least one alphabetic character.

The following are examples of valid and invalid symbols that you might want to use to identify a Scalar or Geometric element:

Some valid Symbols are; ������������������������"����(blanks are OK)

Invalid Symbols Reason ��$�!� No alpha character in symbol������������������ Vocabulary word�������� More than six characters ����'$� Imbedded arithmetic operator

Page 26: Personal APT, Reference guide, NC/CNC programming software

14 PERSONAL APT Basics

PERSONAL APT - Reference Guide

Subscripted Symbols Following are some examples of the use of subscripts in a part program.

���� D�����#C%����� ������#%�� ����#'$(�%�Addition and subtraction may be used.

Before a subscripted symbol is used in a program, you must reserve a block of storage within the system for all members of the families to be defined. This is accomplished by inserting a �����D�����D�����D�����D statement in the part program before the first statement that uses the subscripted symbol. This �����D�����D�����D�����D statement contains a list of variable symbols to be subscripted immediately followed by the largest subscript for that symbol.

An array is a table of symbolic variables referenced by a subscript. The array being referenced by the subscripted variable is of predetermined length; therefore a subscript expression cannot be zero, less than zero or greater than the size declared in the �����D�����D�����D�����D statement.

The example below defines the following arrays: ���� containing 30 elements, and ���� containing 12 elements. For example:

���� �����D �����D �����D �����D ������$ ������������������ ����#�%�������� &&&&&&&&�������� &&&&&&&&�������� &&&&&&&&�������� &&&&&&&&����

A subscript expression is limited to:

A numeric value A non-subscripted scalar variable An arithmetic expression consisting of numeric values, non-subscripted variables and the "+"

and "-" signs. Multiplication and division may not be used in a subscript expression.

Statements The statement is the basic part of the program. These statements are similar to English sentences. Each contains a complete instruction, definition, or condition adequate to activate one complete function. For example:

���� ��$�������� ���������������������� ���������������������� ���������������������� �������������������������E����

Translation: ��$ is the symbolic name of the point having the greater Y-coordinate value of the two possible intersections of �� and ���E (both previously defined).

There are several basic types of program statements.

There are definition statements, such as geometric (point, lines, circles, etc.) and scalar values. These require the use of arithmetic or a specific function to determine a numerical value.

Another type of statement is an instruction statement for motion, and still another for control of the postprocessor or machine tool auxiliary functions.

A statement may contain only one word and still be complete.

���� ��������������������

Most statements have two distinct sections separated by a slash; the major section and the minor section. The major section is to the left of the slash; the minor section is to the right of the slash.

The words necessary to expand the meaning of the major words are to the right of the slash. For example:

���� ���� ���� ���� ���� ������������� ������ ������ ������ ������ ���������

At times, there may be a statement within a statement, referred to as a nested statement. A nested statement is enclosed in parentheses and is treated as a single unit. It has the same format as the principal statement. Nested statements are usually geometric definitions or computation statements. For example:

Page 27: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics 15

PERSONAL APT - Reference Guide

���� �������� #����� #����� #����� #�������� ������ ������ ������ �� � %�#����� %�#����� %�#����� %�#����� ��%%%%�������� ���� #����� ���������� #����� ���������� #����� ���������� #����� ���������������%%%%����

Although �������������������� is a major word in the second example above, the nested statement itself is a detail completing the more important expression ����������������.

Some statements may be composed of a single word, and require no slash. Such words, whose meanings are complete without further detail, are ��������, ����������������, ������������������������, and ����������������. To be compatible with other existing systems, PARTNO, ������������������������, ������������������������ and �������������������� should appear as the first six characters of a statement.

Statement Identification Any statement may be assigned an identifier. The statement identifier is placed at the beginning of the statement and is followed by a right parenthesis ")" . For example:

� ����%������'������� �$�!%��� ���� ���� ���� ����

COMPUTING One of the features of PERSONAL APT is the ability to program arithmetic computations. This is done through the use of scalar values which are signed numbers possessing magnitude but not direction. This is in contrast to vectors which possess both magnitude and direction.

Arithmetic Operations Five different characters are used to represent arithmetic operations.

+ Addition - Subtraction * Multiplication / Division ** Exponentiation

These 5 characters must not be used in variable symbols or for any other purpose (exception: When + and - follow a punctuation character and precede a number they indicate a positive or negative number. In any other location they are assumed to represent the indicated arithmetic operation). Two of the operators cannot appear together.

Computing Phrases Computing phrases can be enclosed within other statements by enclosing the phrase within parentheses. This type of structure, referred to as nesting, imposes a different order of computation upon the statement, with the computation proceeding from the innermost nest to the outermost. For example:

���##!�'�$%� ��'��%88$�(���8E�

This would be evaluated as follows:

� !�'�$���C�� This is the innermost nest and is evaluated first � C� �������� Division is performed in the second level nest � ��'�������� Addition occurs in the second-level nest � ��88$������ Exponentiation is performed�� ��8�E�������Multiplication is performed�� ��(�������� Thus, K=22�

Functions In addition to the arithmetic operations listed previously PERSONAL APT provides several function operations. These are special purpose computing routines which have frequent use in mathematical computing. They are:

Page 28: Personal APT, Reference guide, NC/CNC programming software

16 PERSONAL APT Basics

PERSONAL APT - Reference Guide

���������������� To find the absolute value of a number. �;+<15�= ����������������####3?,5,0%%%%

������������������������ To find the angle when the X and Y components of a vector defining the angle are known. �.F5*�= ������������������������(;��G)

���������������� To find the cosine function of an angle expressed in decimal degrees. �13-.*�= ����������������(,.F5*)

�������������������� To find the sine function of an angle expressed in decimal degrees. �-.*�= ����������������(,.F5*)

�H����H����H����H��� To find the square root of a number. �;+<15�= �H����H����H����H���(3?,5,0)

���������������� To find the tangent function of an angle expressed in decimal degrees. �,.F*.4�= ����������������(,.F5*)

These functions are called into execution by their name and an expression on which to operate (usually called the argument(s)). An example of the use of these functions would be to find the length of the hypotenuse of a right triangle. When the sides are represented by the variables � and �, the statement required would be:

� �����H���#�88��'��88�%�

The functions listed above are compatible with most, if not all, other APT language processors.

����

Page 29: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics – Geometry Definitions 17

PERSONAL APT - Reference Guide

Geometry Definitions Geometric definitions describe the shape of the part to the system in order that movement commands may be given relative to the defined part to produce the proper cutter path.

A geometric definition can be a circle, line, matrix, pattern, plane, point, or shape. In the following examples, ��� is a plane, and ���$ is a circle.

���� ����������� �������� �������� �������� �� �����$�������� ���$��������� ����������������� ����������������� ����������������� �����������������������������������������������&!����

The basic frame of reference for definitions is the coordinate system chosen for the part. The programmer may define geometry with specific coordinate values or as relative to previously defined elements. This feature is a powerful aid to the programmer, because frequently the elements of the part are not dimensioned but located only with respect to other elements.

The types of major geometric elements that can be defined are:

Word Meaning Word Meaning ������������������������ Circle ���������������� Line ������������������������ Matrix ������������������������ Pattern of points �������������������� Plane �������������������� Point D�����D�����D�����D����� Vector �������������������� Shape

In addition to the major word denoting the geometric type, definitions have words in the minor section to modify the definition to provide a greater variety of geometry.

Some of these minor modifiers are:

Word Meaning �������������������� The desired point is at the intersection of two specified elements. �������������������� Specifies the larger of two circles. ���������������� Specifies the relationship of the desired element to a given element when viewed from

a specified point. Opposite of ��������������������. ������������������������ The desired element is parallel to the specified element. ������������������������ The desired element is perpendicular to the specified element. �������������������� Specifies the relationship of the desired element to a given element when viewed from

a specified point. Opposite of ����������������. �������������������� Specifies the smaller of two circles. �������������������� The desired element is tangent to the specified element. ������������������������((((������������������������((((������������������������((((������������������������((((������������������������((((������������������������ Permits the programmer to specify one of two possible choices, depending upon their

coordinate relationship. If a desired point is specified as being ������������������������, the point that has the larger X coordinate is chosen. In the algebraic sense, 1 is larger than -5.

Geometry Elements Elements of the part may be given symbolic names as they are defined and these symbolic names may be used to refer to a particular element needed in a subsequent definition or motion statement. Nested definitions or symbolic names of previously defined elements may be used interchangeably where geometric elements are specified in definition formats.

Note: See the Extended Features section for additional geometry definitions that may not be compatible with some other versions of APT.

Page 30: Personal APT, Reference guide, NC/CNC programming software

18 PERSONAL APT Basics – Geometry Definitions

PERSONAL APT - Reference Guide

Format Example Conventions PERSONAL APT vocabulary words are printed in capital letters.

Examples: ��������������������������������������������������������������������������������

A word in lower case letters, beginning with "s", designates a previously defined symbol (or nested definition).

Examples: 3=1-.4��������35-.*��������3?-0?5*

Other words in lower case letters designate a numeric value, a previously defined scalar quantity or a nested computation.

Examples: G��;��I�����0,/->3

When multiple items appear in a vertical list, one of them must be chosen.

Where 888888888888888888888888 appears in a statement, either ������������������������((((������������������������((((������������������������ or ��������������������L must be chosen.

Optional items are enclosed in brackets ([optional]).

Following are the APT definition statement formats recognized by PERSONAL APT. Some examples of definition statements are shown

Page 31: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics – Geometry Definitions 19

PERSONAL APT - Reference Guide

(This page is for your notes)

Page 32: Personal APT, Reference guide, NC/CNC programming software

20 PERSONAL APT Basics – Point Definitions

PERSONAL APT - Reference Guide

Point Definition Formats ����� ������ ������ ������ �G@?110/-.,4*��;@?110/-.,4*A��I@?110/-.,4*B����

����������������������������������������������������������������������������������������� ������ ������ ������ �3=1-.4������������������������������������,.F5*�������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������� ������ ������ ������ �AAAA3=1-.4�B��B��B��B�����������������������������������������������������������������0,/->3��,.F5*��������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������� ������ ������ ������ �AAAA3=1-.4�B��B��B��B�����������������������������������������������������������������,.F5*��0,/->3������������������������������������������������������������������������������������������������������������������������������������

����� ������������� ������������� ������������� ��������3=5,.*��3=5,.*��3=5,.*����

����� ������ ������ ������ �3?-0?5*����������������������������������������,.F5*����

����� ������������� ������������� ������������� ��������35-.*��35-.*�

�������������������������������������������������������������������������������35-.*����3?-0?5*���������� 888888��������������� 888888��������������� 888888��������������� 888888���������3?-0?5*��35-.*��������������������������������������������������������������������������������������������3?-0?5*��3?-0?5*����

����� �������������� �������������� �������������� ���������3?-0?5*�

����� ������ ������ ������ �3=,44*0.��.>+<*0����

Page 33: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics – Point Definitions 21

PERSONAL APT - Reference Guide

Point Definition Examples: Following are some examples of common point definitions. Assume that all lines and circles, used in these definition examples, have been previously defined.

Figure 11: Point Definition Examples

���� ���������� ����������������������� ����������������������� ����������������������� ����������������C��$�������� �$������� ����������������������� ����������������������� ����������������������� �����������������$��!����� �!������� ���������������� ���������������� ���������������� ����������!�������� ��������� �������� �������� �������� ��!����������������������������������������(� ����� �E������� ������������� ������������� ������������� ���������$���C����� ���������� ����������������������� ����������������������� ����������������������� �����������������$���C�

Page 34: Personal APT, Reference guide, NC/CNC programming software

22 PERSONAL APT Basics – Line Definitions

PERSONAL APT - Reference Guide

Line Definition Formats ���� ����� ����� ����� �G?110/��;?110/��G?110/��;?110/����

���� ����� ����� ����� �G?110/��;?110/��I?110/��G?110/��;?110/��I?110/����

���������������������������������������������������� ���������� ���������� ���������� ����������

���� ������������� ������������� ������������� ���������35-.*��888888����888888����888888����888888��3?,5,0�

���� ����� ����� ����� �3=1-.4��3=1-.4�

���� ������������ ������������ ������������ ��������3=5,.*��3=5,.*����

���� ����� ����� ����� �3=1-.4����������������������������������������35-.*����������������������������������������������������������������������������������������

����������������������������A������B����������������������������A������B����������������������������A������B����������������������������A������B�������� ����� ����� ����� �3=1-.4����������������������������������������,.F5*�A�A�A�A�35-.*BBBB��������������������������������A��������������������������������A��������������������������������A��������������������������������A������B��B��B��B����

�������������������������������������������������������������������������������� ����� ����� ����� �3=1-.4����������������������������������������������������������������3?-0?5*����

���� ������������������� ������������������� ������������������� ���������������3?-0?5*����������������������������������������������������������������3?-0?5*��������������������������������������������������������������������������������������������������������������������������������������������

��������������������������������������������A������B��������������������������������������������A������B��������������������������������������������A������B��������������������������������������������A������B�������� �888888������������� �888888������������� �888888������������� �888888���������3?-0?5*����������������������������������������,.F5*�A��A��A��A�35-.*BBBB������������������������������������������������������������������A������B��������������������������������������A������B��������������������������������������A������B��������������������������������������A������B����

Page 35: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics – Line Definitions 23

PERSONAL APT - Reference Guide

Line Definition Examples: Following are examples of some common line definitions. Assume that all points and circles, used in these definition examples, have been previously defined.

����

Figure 12: Line Definition Examples

���� �!������ ������� ������� ������� ������$�������� �E������ �������������������� �������������������� �������������������� ���������������$�����������������������������������������������������������������E�������� �C������ ������� ������� ������� ��C�����������������������������������������������������������������$�������� �������� ������� ������� ������� ��E�����������������������������������������C�������� �������� ������� ������� ������� ��������������������������������������������C�������� ��������� ������� ������� ������� ��������������������������������������������!�������� �� ������ ��������������� ��������������� ��������������� �����������������������������������������������������&!����

Page 36: Personal APT, Reference guide, NC/CNC programming software

24 PERSONAL APT Basics – Circle Definitions

PERSONAL APT - Reference Guide

Circle Definition Formats ������ ������� ������� ������� �G?110/��;?110/�A�I?110/B��0,/->3����

������ ��������������� ��������������� ��������������� ���������3=1-.4������������������������������������0,/->3����

������ ��������������� ��������������� ��������������� ���������3=1-.4��3=1-.4����

������ ������� ������� ������� �3=1-.4��3=1-.4��3=1-.4����

������ ��������������� ��������������� ��������������� ���������3=1-.4������������������������������������35-.*����

������ �������������� �������������� �������������� ��������35-.*��888888����888888����888888����888888��3=1-.4������������������������������������0,/->3�

������������������������������������������������������������������������������������������������������������������������������ ��������������� ��������������� ��������������� ���������3=1-.4����������������������������������������������������������������3?-0?5*����

������ �888888�������� �888888�������� �888888�������� �888888��35-.*��888888����888888����888888����888888��35-.*������������������������������������0,/->3����

���������������������������������������������������������������������������������������������������������������������������������������������� �888888�������� �888888�������� �888888�������� �888888��35-.*��888888���������888888���������888888���������888888�������3?-0?5*������������������������������������0,/->3����

������������������������������������������������������������������������������������������������������������������������������������������ �888888������������� �888888������������� �888888������������� �888888�������3?-0?5*����������������������������3?-0?5*������������������������������������0,/->3����

������������������������������������������������������������������������������������������������������������������ ������� ������� ������� �3=1-.4��888888���������888888���������888888���������888888�������3?-0?5*������������������������������������0,/->3����

Page 37: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics – Circle Definitions 25

PERSONAL APT - Reference Guide

Circle Definition Examples: Following are examples of some common circle definitions. Assume that all points and lines have been previously defined.

Figure 13: Circle Definition Examples

���� ���������� ����������������� ����������������� ����������������� ������������������������������������������������������������������������������������������&!�������� ���������� ����������������� ����������������� ����������������� �����������������������������������������������$&��������� �!�������� ����������������� ����������������� ����������������� ����������������������������������������������������������������������������������������������������������& �������� �7�������� ����������������� ����������������� ����������������� ��������������������������������������������������������� �C�������� ��������������������� ��������������������� ��������������������� ��������������7�������������������������������������������������������������������& �������� ���������� ����������������� ����������������� ����������������� ��������������!�������� ���������� ��������� ��������� ��������� ������E���C����� �$�������� ��������� ��������� ��������� ��������������������������������������� &E�������� �� �������� ���������������� ���������������� ���������������� ���������������������������������������������������$�������������������������������������&C����

Page 38: Personal APT, Reference guide, NC/CNC programming software

26 PERSONAL APT Basics – Pattern Definitions

PERSONAL APT - Reference Guide

Pattern Definition Formats ������ ��������������� ��������������� ��������������� ���������3=1-.4��3=1-.4��.>+<*0�

������ ��������������� ��������������� ��������������� ���������3=1-.4��3J*?410��.>+<*0����

������ ��������������� ��������������� ��������������� ���������3=1-.4��3J*?410��������������������������������.>+<*0������������������������-.?0����

������ ��������������� ��������������� ��������������� ���������3=1-.4��3J*?410��������������������������������-.?0��-.?0�&&&&&�

������������������������������������������������"������������������������������������������������"������������������������������������������������"������������������������������������������������"���������� ������������ ������������ ������������ ������3?-0?5*��<*F�,.F5*8��*./�,.F5*8�����"�������"�������"�������"��.>+<*0����

�����������������������������������"�����������������������������������"�����������������������������������"�����������������������������������"���������� ������3?-0?5*�������� ������3?-0?5*�������� ������3?-0?5*�������� ������3?-0?5*��<*F�,.F5*8����"������������"������������"������������"��������.>+<*0������������������������-.?088�

������������������������������������"������������������������������������"������������������������������������"������������������������������������"���������� ������������ ������������ ������������ ������3?-0?5*��<*F�,.F5*8�����"�������������"�������������"�������������"��������-.?088�&&&&&&&&&����

����������������������������������������������������������������3=1-.4����3=1-.4������������� ������������� ������������� ������������� ��������3=,44*0.��3=,44*0.�&&&&&&&&&&&&&&����

������ ��������������� ��������������� ��������������� ���������3=,44*0.��3=,44*0.����

������ ��������������� ��������������� ��������������� ���������3=,44*0.��������3J*?410������������.>+<*0�

����

* Positive angles are����"���"���"���"�measurements for�<*F�,.F5*�and�*./�,.F5*�regardless of the��������������������������direction&�

**The increment measurements are positive in the direction of the ������������������������.�

Page 39: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics – Pattern Definitions 27

PERSONAL APT - Reference Guide

Pattern Definition Examples Following are examples of some common pattern definitions. Assume that all elements, used in these definition examples, have been previously defined. Refer to Figure 14 for pattern sketches.

Figure 14: Pattern Definition Examples

���� ����������� ����������������� ����������������� ����������������� �����������������!����� ����������� ����������������� ����������������� ����������������� ����������$��D���E����� ��$�������� ����������������� ����������������� ����������������� �������������D����������������������������������!��� ���!�������� ����������� ����������������� ����������������� ����������������� ����������!��D$��������������������������������$������������������������(� ����� ��!�������� �������������� �������������� �������������� �����������!�����"�������������"�������������"�������������"��������E�������������������������!����� ����������� �������������� �������������� �������������� �������$��(� ����"������������"������������"������������"��������$ ��$ ��� ����� ��E�������� �������������� �������������� �������������� ���������E���C���������7���� ����

Page 40: Personal APT, Reference guide, NC/CNC programming software

28 PERSONAL APT Basics – Plane Definitions

PERSONAL APT - Reference Guide

Plane Definition Formats ����� ������ ������ ������ �,��<��?��/����

����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� �������������� �������������� �������������� ���������3=5,.*����������������������������������������3?,5,0�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

����� ������ ������ ������ �3=1-.4����������������������������������������3=5,.*�

����� ������ ������ ������ �3=1-.4����������������������������������������3J*?410����

����� ������ ������ ������ �3=1-.4��������3=1-.4��������3=1-.4�

����� ������ ������ ������ �3=1-.4��3J*?410��3J*?410����

����� ������ ������ ������ �3=1-.4����������������������������������������3=5,.*��3=5,.*�

����� �������������� �������������� �������������� ���������3=5,.*��3=1-.4��3=1-.4����

Page 41: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics – Plane Definitions 29

PERSONAL APT - Reference Guide

Plane Definition Examples: Following are examples of some common plane definitions. Assume that all points and planes, used in these definition examples, have been previously defined.

Figure 15: Plane Definition Examples

���� ���������� �������� �������� �������� � �� �����(�&CE����� ��$������� ������� ������� ������� ������E���C����� ���������� �������� �������� �������� ��$��������������������������������������������������� ���������� ���������������� ���������������� ���������������� �����������$�������������������������������������$&E!����� ��!������� ������� ������� ������� �������������#D����� ����������#D����� ����������#D����� ����������#D����� ������%%%%����

Page 42: Personal APT, Reference guide, NC/CNC programming software

30 PERSONAL APT Basics – Vector Definitions

PERSONAL APT - Reference Guide

Vector Definition Formats D����� �D����� �D����� �D����� �3?,5,0�A�3?,5,0�A�3?,5,0BB����

D����� �D����� �D����� �D����� �3?,5,0��3?,5,0��3?,5,0��3?,5,0��3?,5,0��3?,5,0�

D����� �D����� �D����� �D����� �3=1-.4��3=1-.4����

D����� �D����� �D����� �D����� �3J*?410������������������������������������3J*?410����

����������������������������������������������������������������������������������������D����� �D����� �D����� �D����� �3J*?410������������������������������������3J*?410�

��������������������������������������A�������B��������������������������������������A�������B��������������������������������������A�������B��������������������������������������A�������B����D����� ���������D����� ���������D����� ���������D����� ���������3?,5,0����������������������������������������,.F5*�A�������BA�������BA�������BA�������B������������������������������������������A�������B��������������������������������������A�������B��������������������������������������A�������B��������������������������������������A�������B����

D����� �D����� �D����� �D����� �3?,5,0������������������������������������3J*?410�

D����� �������D����� �������D����� �������D����� �������3J*?410�

Page 43: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics – Vector Definitions 31

PERSONAL APT - Reference Guide

Vector Definition Examples: Following are examples of some common vector definitions. Assume that all elements, used in these definition examples, have been previously defined.

Figure 16: Vector Definition Examples

���� D���D����� �����������D����� �����������D����� �����������D����� ����������&!����������������������������������������$E���������������������������������������� D���D����� ���D����� ���D����� ���D����� ��������������� D���D����� ��D����� ��D����� ��D����� ����������������������������D$����� D���D����� ���D����� ���D����� ���D����� �D$��������������������������������D!�������� DE��D����� ���D����� ���D����� ���D����� �D$������������������������������������D!�������� D� ��D����� ���D����� ���D����� ���D����� �D7������������������������������������DC�������� D����D����� ���D����� ���D����� ���D����� �DC������������������������������������D7�������� D�$��D����� ���D����� ���D����� ���D����� �$������������������������������������D������

Page 44: Personal APT, Reference guide, NC/CNC programming software

32 PERSONAL APT Basics – Matrix Definitions

PERSONAL APT - Reference Guide

Matrix Definition ������ ������� ������� ������� �,���<���?���/���,���<���?���/���,$��<$��?$��/$����

������ ������������ ������������ ������������ ��������3?,5,0����

�������������������������������������������������������������� �������������� �������������� �������������� ��������,.F5*�AAAA������������������������������������/*54,G�A�A�A�A�/*54,;�A�A�A�A�/*54,IBBBBBBBBBBBB������������������������������������������������������������

������ ��������������� ��������������� ��������������� ���������/*54,G�A�A�A�A�/*54,;�A��A��A��A�/*54,IBBBBBBBB����

�������������������������������������������������������3=5,.*������������������������������������������������������������������������������������������������������ ��������������������� ��������������������� ��������������������� ���������������������������������������������������������������������������������������������������������������

����������������������������������������������������������35-.*������� ������� ������� ������� �3=1-.4��3J*?410��3J*?410����

������ ���D����������� ���D����������� ���D����������� ���D�����3+,40-G�

������ ������� ������� ������� �3+,40-G��3+,40-G����

Page 45: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics – Matrix Definitions 33

PERSONAL APT - Reference Guide

Matrix Definition Examples: Following are examples of some common matrix definitions. Assume that all elements, used in these definition examples, have been previously defined.

Figure 17: Matrix Definition Examples

���� ����������� ���������������� ���������������� ���������������� ���������!�������� ����������� ����������������� ����������������� ����������������� ����������&$��(�&��� �������� ��$�������� ����������� ����������� ����������� �����������������������$ ����������������������������������������$&����&C�� ����� ����������� �������������� �������������� �������������� ����������������

Page 46: Personal APT, Reference guide, NC/CNC programming software

34 PERSONAL APT Basics – Canonical Forms

PERSONAL APT - Reference Guide

Canonical Forms The dimensional data used to represent a defined geometric data element is called the Canonical Form. The Canonical Form data for each element type is listed in the following table. A value from the canonical form of an element may be retrieved and used as a scalar value by using the ������������������������ statement (See Page 34).

TYPE CANONICAL FORM ������������������������ 1. value � �������������������� 1. -x- coordinate 2. -y- coordinate 3. -z- coordinate ���������������� 1. -x- component of a unit normal vector 2. -y- component of a unit normal vector 3. always zero 4. distance from origin to line along vector ������������������������ 1. -x- coordinate of circle center 2. -y- coordinate of circle center

3. always = 0 4. always = 0 5. always = 0 6. always = 1

7. radius of circle �������������������� 1. -x- component of unit normal vector 2. -y- component of unit normal vector 3. -z- component of unit normal vector 4. normal distance from plane to origin D�����D�����D�����D����� 1. -x- component 2. -y- component 3. -z- component ������������������������ 1. first coefficient of -x- axis plane 2. second coefficient of -x- axis plane 3. third coefficient of -x- axis plane 4. fourth coefficient of -x- axis plane 5. - 8. -y- axis plane

9. - 12. -z- axis plane

ZSURF When a point is defined by the intersection of two straight lines or circles or by its X and Y coordinates, the unspecified Z coordinate has an implicit value of zero. PERSONAL APT has preset a Z surface (horizontal plane) at a height of zero and the points are projected onto this plane to arrive at the Z value. A different plane (horizontal or canted) may be defined by using the �������������������� statement. Points defined without an explicit Z value will then be projected onto this surface until a new Z surface is defined. Points defined with an explicit Z coordinate will not be affected. For example:

���� ����� ����� ����� ����� ����������� ���������� ����������������������� ����������������������� ����������������������� ����������������������

������������������������ The ������������������������ statement may be used to extract scalar data from the canonical form of a previously defined ��������������������, ����������������,����������������������������, ��������������������, D�����D�����D�����D����� or ������������������������ and assign symbols to each scalar. The format of the�����������������������������statement is:

���� ��������4;=* ��������4;=* ��������4;=* ��������4;=* 3;+<15��3?,5,0@3;+<153����

Page 47: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics – Tool Motion Commands 35

PERSONAL APT - Reference Guide

4;=*4;=*4;=*4;=* is one of the allowed elements (����������������������������D���������������������������������D���������������������������������D���������������������������������D����� or ������������������������). Symbol is the name given to the previously defined geometric element.

The scalar_symbols are the names to be assigned to the scalar values extracted from the canonical form of the geometric element.

Symbols and elements are matched according to position; the symbol in the first position is assigned to the first element, etc.. It is not necessary to assign a name to every element. For example:

���� ������������������������������������������������� �� �� �� ������������������

In the above example, the third element of the canonical form of ��� will be extracted, then stored, and subsequently referred to, by the name ����.Part Program Sequence.

����

Page 48: Personal APT, Reference guide, NC/CNC programming software

36 PERSONAL APT Basics – Tool Motion Commands

PERSONAL APT - Reference Guide

Tool Motion Commands Writing the APT geometric statements is usually a more or less a routine matter. Setting up the tool motion commands presents a number of minor difficulties and uncertainties for a learner of the APT language. You may find that the computer takes a callous dislike to some of your first programs. There are, however, no serious difficulties to be expected, at least if your programming is confined to no more than three axes. You should first try a few very simple programs using only a few simple tool commands, in order to establish the basic routines. After you have some concept of the caprices of your computer, you can become more ambitious in your undertakings. This chapter sets out only the most commonly met programming situations. Tool motion commands are action verbs followed by a slash. Examples are ���� ���� ���� ���� ,������ ������ ������ ������ ,����" ���" ���" ���" . Specific details follow the slash.

In programming the path of the tool, the assumption is made that the tool moves over the work piece while the latter is stationary. Usually, of course, the n/c machine moves the work piece; nevertheless, the programmer assumes the opposite in programming. The point on the tool that is programmed is the tool end, the intersection of the axis of the tool with the plane of the face of the tool, as shown in Fig. 140. The computer calculates the required tool offset to machine the part from the information in the ������ ������ ������ ������ statement. The simplest cutter statement, and the usual one, is

������ ������� ������� ������� �/-,+*4*0����

Thus������� ������� ������� ������� &! means an end mill 0.500 inches in diameter. For n/c drafting, the cutter statement for a pen or pencil must necessarily be������� ������� ������� ������� . In the O-ring groove example, since there is no tool offset and the tool follows the contour, any cutter diameter, including������� ������� ������� ������� , could be specified. In any n/c programming, the work piece and the spindle must be initially coordinated in the XY plane. This is a manual setup operation. When tool movement is to begin, the tool end must start to move from some initial or parking position. The location of the tool end, at the instant when the tool motions come under automatic control and machining begins, is given by the point specified in a ���� ���� ���� ���� statement. See the O-ring program. The ���� ���� ���� ���� statement has two possible formats:

�� � ��� � ��� � ��� � �����&�������� � �� � �� � �� � �=1-.4����

Thus �� � �� � �� � �� � ��$�� or��� � ��� � ��� � ��� � ���. The point of initial programming is often named �����. At the end of the tool movement sequence, the tool is returned to the point named in the ���� ����� ����� ����� �statement. For purposes of postprocessing, the feed rate in ipm may be added to a����� ������ ������ ������ �statement; thus

���� ��$�������� ��$�������� ��$�������� ��$���� �������������������� �and�� ��� �� ��� �� ��� �� ��� ����

POSITIONING Statements PERSONAL APT provides two commands for positioning the tool end (lower end of the tool axis) by explicit linear movement: ��������������������and ���������������������

���� ���� ���� ���� is a positioning control statement. It directs the tool to go to the coordinates given in the statement, thus;

� � �� � �� � �� � ����$�������

In the above example the instruction is to go to the point X = 2, Y = 3, Z = 2. Alternatively a symbolic name may be used: Also, the feed rate, in����������������, may be added:

���� ����� ����� ����� ����$�����������

����� ����� ����� ����� is an incremental statement, giving increments in X, Y. Z that the tool must move. Thus��������� ����� ����� ����� $� �(C����is a command to go from the present position +3 units in X, no movement in Y. and -8 units in Z.

Both������������������������and����������������������������may be clarified by drilling a hole with APT commands. Here is the program, which the learner should sketch if he requires additional orientation:

Page 49: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics – Tool Motion Commands 37

PERSONAL APT - Reference Guide

�������� ��� ��� ��� ��� ��� ��� ��� $�� �C����))����������������������������� ��� ��� ��� ��� ��� ��� ��� � ����C��))����������������������������������������������������������������������������� � �� � �� � �� � ���������������))�������������������������� � ������ � ������ � ������ � ��������))������������������������� ��� � ��� � ��� � ��� ����K$�������))����������$�������������"������������ ��� ������ ��� ������ ��� ������ ��� � �$��))��������������������������� � ������ � ������ � ������ � ���������))��������������������������������������������������������������))���������������������

The drill, therefore, being at Z = 8, drills down 3 inches to Z = 5, retracts 3 inches back to Z = 8.

Part, Drive and Check Surfaces The path of the tool end in a tool motion statement is controlled by two intersecting surfaces (part_surface and drive_surface). The tool stops when it reaches the stopping point on a third surface (check_surface). Of the two intersecting surfaces, the part_surface is the one which is a controlling surface throughout several motion commands.

In PERSONAL APT only planes may be used as a part_surface. Lines, Circles and Planes may be used for drive_surface or check_surface.

Figure 18: Cutter to Surface Relationship

Part_Surface The two vocabulary words that describe the relationship of the cutter to the part_surface are ������������������������ and ������������������������. ������������������������ specifies that the tool end is to be located on the part_surface (see Figure 19).

Figure 19: TLONPS Specification

Page 50: Personal APT, Reference guide, NC/CNC programming software

38 PERSONAL APT Basics – Tool Motion Commands

PERSONAL APT - Reference Guide

������������������������ specifies that the tool end is to be located off the part_surface. The tool is tangent to the part_surface at some point on the tool, as dictated by the tool configuration and the relationship of the tool to the drive_surface (see Figure 20). ������������������������ is assumed if neither is specified.

Figure 20: TLOFPS Specification

Drive Surface The three vocabulary words that describe the relationship of the cutter to the drive_surface are; ��������������������, �������������������� and ����������������. These modifiers are applied with regard to the direction of tool motion; that is, “left” means on the left side of the drive_surface looking in the direction in which the tool is moving. Thus, �������������������� means place the tool tangent to the drive_surface on the left, and �������������������� means position the tool tangent to the drive_surface on the right (see Figure 21). ���������������� specifies that the center of the tool is to be placed on the drive_surface.

Figure 21: Tool to Drive_Surface Relationship

Check Surface There are four vocabulary words that describe the relationship of the cutter to the check_surface. They are ��������, ��������, ���������������� and ��������������������. These modifiers apply when viewed from the current tool position to the check_surface. �������� indicates the cutter is to be tangent to the check_surface on the near (cutter) side. �������� means that the final cutter position is to be on the check_surface. ���������������� specifies the cutter is to be tangent to the check_surface on the far (opposite the cutter) side. If no modifier is given, �������� is assumed (see Figure 22).

Page 51: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics – Tool Motion Commands 39

PERSONAL APT - Reference Guide

Figure 22: Tool to Check_Surface Relationship

The �������������������� specification is to be used only when the cutter motion is to be terminated at a point where the drive_surface is tangent to the check_surface (see Figure 23).

Figure 23: TANTO Check_Surface Specification

GO - The Startup Statement The �������� statement specifies one, two or three surfaces. Each may be preceded by a modifier ��������, �������� or ����������������; if the modifier is not given, �������� is assumed. Surfaces are specified in the following order: drive, part, check. If only one surface is given, the tool is moved to the surface by the shortest possible route, unless an ����������D��D��D��D or �������������������� statement has specified the direction of motion. The previously established part_surface controls the tool end (X-Y plane if no part_surface has been established).

Figure 24: One Surface Startup

The two surface startup statement specifies the next drive_surface and the part_surface thus: �� ������ ������ ������ ����. The end cutter position in X and Y is the same as for a one-surface startup.

The three-surface startup statement specifies the drive, part and check_surfaces and the cutter is positioned, as specified (or �������� by default), relative to all surfaces.

Page 52: Personal APT, Reference guide, NC/CNC programming software

40 PERSONAL APT Basics – Tool Motion Commands

PERSONAL APT - Reference Guide

Direction INDIRV and INDIRP An ����D����D����D����D statement with three values in the minor section is used to establish a forward direction if there is any doubt about the direction of the cutter's last move. It may also be used prior to a single surface start-up to indicate the exact direction in which the cutter is to move to the surface. For example:

���� ����D ����D ����D ����D �� � ����))����VECTOR FOR PLUS -X- DIRECTION The �������������������� statement is used in the same way as ����D����D����D����D, except that the minor section of the statement represents a point instead of a vector.

Part_Surface PSIS, AUTOPS Although a part_surface can be established in a start-up (��������) command, PERSONAL APT provides two specific statements which may be used to establish or change a part_surface: ����������������, ������������������������. Unless a part_surface is explicitly indicated, the XY-plane is assumed.

The ���������������� statement specifies the part_surface until another part_surface is established by another ����������������, ������������������������ or �������� statement. The ���������������� statement causes no motion and if the tool is not currently in proper contact with the specified plane, a diagnostic will be given. For example:

���� ���� #��������� ���� #��������� ���� #��������� ���� #��������� �������$%%%%����

������������������������ is a one-word statement which defines the part_surface to be a plane parallel to the XY-plane and passing through the tool end.

Tool End Location FROM/ The minor section of a ���������������� statement specifies the point from which the subsequent motion is to start. A ���������������� statement is required only at the beginning of the part program to indicate the set-up point at which the tool is aligned. For example:

���� ���� ���� ���� ���� �� �� �������� ���� ���� ���� ���� ���������

Figure 25: Three Surface Startup

Continuous Path Motion Commands Four words direct the tool along the drive_surface and part_surface.

�������������������� go left �������������������� go right ���"���"���"���" go forward

Page 53: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics – Tool Motion Commands 41

PERSONAL APT - Reference Guide

�������������������� go back

These four nominal directions are relative to the orientation vector. The orientation vector is either the most recent cut vector not parallel to the tool axis, or a vector established by an ����D����D����D����D or �������������������� statement since the last motion command.

If the tool is to move in the same general direction as the orientation vector, the command is ���"���"���"���". �������������������� or �������������������� will move the tool in the general direction that is at right angles to the orientation vector and tool axis. If the tool is to move forward and to the left in a direction 45 degrees from the nominal forward direction, either ���"���"���"���" or �������������������� may be used. �������������������� or �������������������� may be used for any motion which moves the tool to the left or right respectively, regardless of the accompanying motion components in other directions, provided the initial motion makes an angle of more than 2 degrees with the specified nominal direction. Similarly, ���"���"���"���" may be used for any motion making an angle up to 88 degrees with the nominal direction.

�������������������� may be used for motions making an angle greater than 92 degrees with the nominal direction.

In many cases the choice between two possible commands (for example, ��������������������,���"���"���"���") is virtually arbitrary. In cases involving circles, the initial move determines the choice of command. To change from one circle to another at a point at which the two circles are tangent, ���"���"���"���" or ��������������������, should be used.

The format for this class of statements is:

���� ���"���������������������"���������������������"���������������������"�������������������������� ������������������������������������������������������������������������������������������������ ������ ������ ������ ������ /0-J*@3>02,?*��������������������������������?9*?L@3>02,?*�������� ��������������������������������������������������������������������������������������������������������

Figure 26: Tool Motion Specification

Page 54: Personal APT, Reference guide, NC/CNC programming software

42 PERSONAL APT Basics – Tool Motion Commands

PERSONAL APT - Reference Guide

Implied Check_Surface Since the check_surface for one continuous-path motion command is often the drive_surface for the next, it is not necessary to repeat the surface name. When the check_surface and its modifier (��������, ��������, ����������������, ��������������������) are omitted from a motion statement, the system uses the drive_surface from the next motion command. The format in this case is:

���� ����� ����� ����� ����� �E�������� ����� ����� ����� ����� ���C������������������������

���C is the implied check_surface for ����� ����� ����� ����� �E. Since the relationship of the tool to the check_surface is not explicitly given in this example, the tool-to-surface relationship (��������������������, ����������������, ��������������������) must have been previously specified.

Warning: A motion statement with an implied check_surface must be followed by another motion command, which may have another implied check_surface. The last motion command before another type of motion statement can be used must have an explicit check_surface. Postprocessor commands such as������������������������, ��������������������, ������������������������, etc. may be programmed between implied check_surface statements.

In the case of a statement preceding a ���"���"���"���" or �������������������� command, unless a check_surface is explicitly specified, the �������������������� modifier is assumed. If the drive and check_surfaces are not tangent, an error occurs.

TOOL-TO-SURFACE RELATIONSHIPS

TLON, TLLFT, TLRGT PERSONAL APT provides three words for specifying the relation of the tool to the drive_surface and two for the relation of the tool to the part_surface. Each one, once given, remains in effect until it is countermanded. Each may be used as a one-word statement or written as part of a continuous path motion command, preceding ��������((((((((((((.

Relationships Between Tool and Drive_Surface: ���������������� indicates that the tool end is on the drive surface. �������������������� indicates that the tool end is offset to the left of the drive_surface when looking in the

direction of motion. �������������������� indicates that the tool end is offset to the right of the drive_surface when looking in the

direction of motion.

The necessity of specifying one of these conditions when using an implied check_surface is obvious. If a motion command with an explicit check_surface is programmed while a ��������������������,������������������������ or ���������������� is in effect, the established offset condition is ignored in determining the next stopping position for that statement. However, the next statement with an implied check_surface recognizes the previously established offset condition.

If �������������������� or �������������������� is in effect and, as a result of the previously programmed check_surface, the tool is placed on the opposite side of the surface from that indicated by the �������������������� or ��������������������, a diagnostic will be given, unless a new tool position is programmed. A similar situation will occur if a programmed check_surface moves the cutter on the surface, and a �������������������� or �������������������� is in effect.

Page 55: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics – Tool Motion Commands 43

PERSONAL APT - Reference Guide

Figure 27: Tool to Drive Surface Relationship

Check_Surface Intersection �������������������� In a motion statement, when the cutter will intersect the check_surface more than once in its motion along the drive surface, the desired intersection must be specified. This is done by preceding the check surface in the continuous-path motion command by the intersection number, n, and the word �����&�����&�����&�����&

��������������������������������������������������������������������������������������������������������(((((((((((( /0-J*@3>02,?*������������������������.������������������������������������?9*?L@3>02,?*������������������������������������������������������������������������������������������������������������

The value of . is the number of possible stopping positions of the tool, up to and including the desired one. The only meaningful value of ., in PERSONAL APT, is 2. For example:

���� ���" ���" ���" ���" ���E��������������������������������������������������������������������������������7����

Cutter Specification The cutting tool is described by its diameter and corner radius. For example:

���� ������ ������ ������ ������ /-,+*4*0�?10.*0@0,/->3����

Motion Specification Summary PERSONAL APT provides instructions for controlling tool movement relative to the defined surfaces of the part to be machined. These instructions specify the general direction of motion and the side of the part on which the tool is to cut. The PERSONAL APT vocabulary words used to control tool movement are:

���������������� Tool is positioned on the surface. �������������������� Tool is positioned to the right of the surface. �������������������� Tool is positioned to the left of the surface. ������������������������ Tool center is positioned on the part_surface. ������������������������ Tool is positioned tangent to the part_surface. ���������������� Reference position. ���������������� Tool is moved to a specific location. �������������������� Tool is moved incrementally in X,Y and Z axes. �������� Start-up command; positions tool relative to one, two or three surfaces. ���"���"���"���" Tool is moved forward along the drive_surface. �������������������� Tool is moved right along the drive_surface. �������������������� Tool is moved left along the drive_surface. �������������������� Tool is moved back along the drive_surface. ����D����D����D����D Tool movement is in the direction of a vector. �������������������� Tool movement is in the direction of a point. �������� Tool is positioned TO the check_surface. �������� Tool is positioned ON the check_surface. ���������������� Tool is positioned PAST the check_surface. �������������������� Tool is positioned tangent to the check_surface.

Page 56: Personal APT, Reference guide, NC/CNC programming software

44 PERSONAL APT Basics – Tool Motion Commands

PERSONAL APT - Reference Guide

The "FROM" Statement The ���������������� statement is used to establish that position in the part coordinate system from which subsequent directions and tool positions relative to �������� and ���������������� are computed. For example:

���� ���� ���� ���� ���� G?110/����;?110/A�A�A�A�I?110/A�A�A�A�2**/�0,4*BBBBBBBB�������� ���� ���� ���� ���� 3=1-.4A�A�A�A�2**/�0,4*BBBB����

The "GOTO" Statement ���������������� is used to position the tool center at a specific location regardless of its present position or previous direction of travel. For example:

���� ���� ���� ���� ���� G?110/����;?110/AAAA�I?110/AAAA�2**/�0,4*BBBBBBBB�������� ���� ���� ���� ���� 3=1-.4AAAA�2**/�0,4*BBBB�������� ���� ���� ���� ���� 3=,44*0.AAAA�2**/�0,4*BBBB����

The "GODLTA" Statement �������������������� is used to move the tool incrementally from its present position in any or all axes.

���� ����� ����� ����� ����� I?110/AAAA�2**/�0,4*BBBB�������� ����� ����� ����� ����� G?110/����;?110/����I?110/AAAA�2**/�0,4*BBBB�������� ����� ����� ����� ����� J*?410AAAA�2**/�0,4*BBBB����

The "GO" Statement The �������� statement is used to position the cutter for subsequent directed motion commands.

���A���B��������A���B�����A����B���A���B��������A���B�����A����B���A���B��������A���B�����A����B���A���B��������A���B�����A����B������ A�����B��� A�����B��� A�����B��� A�����B�/3���A���B����A���B����A���B����A���B�=3��A�����B���A�����B���A�����B���A�����B�?3�������A���B������������������A���B���A���B������������������A���B���A���B������������������A���B���A���B������������������A���B����

�������� is the default modifier.

Additionally, PERSONAL APT allows a one-surface �������� command in which the computed location is the shortest distance to the specified tool_to_surface relationship. For example:

���� ���A����B���A����B���A����B���A����B�������� �� A�����B��� A�����B��� A�����B��� A�����B�/3����� ���A���B���A���B���A���B���A���B����

Tool to Surface Relationship The tool relationship to the drive_surface is dependent upon the direction of intended tool motion when the modifiers �������������������� and �������������������� are used.

Directed Tool Motion The motion commands ���"�����������������"�����������������"�����������������"�������������� and �������������������� direct the tool path relative to its previous motion direction.

Page 57: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics – Tool Motion Commands 45

PERSONAL APT - Reference Guide

Figure 28: GORGT Examples

Figure 29: GOBACK Examples

Figure 30: TLRGT, GORGT Examples

Figure 31: TLLFT, GOLFT Examples

The Thickness (����������������) Statement The APT language permits a thickness to be added to any or all of the surfaces used in a motion or startup

statement. The format of the ���������������� statement is as follows:

���� ���� ���� ���� ���� �����������������������������������

This statement specifies that the thickness for the part surface is ����, for the drive surface, ���, and for the check surface, ����, respectively. Although the PERSONAL APT processor does not recognize multiple check surfaces, the four-parameter ���������������� statement is allowed for purposes of APT compatibility. The processor assumes that the last thickness specified is to apply for the remaining surfaces; that is;

���� ���� ���� ���� ���� & ���& �����

results in the same processing as;

���� ���� ���� ���� ���� & ���& ���& �����

The ���������������� statement is in effect for all surfaces until another ���������������� statement is specified.

Note: PERSONAL APT requires that the ���������������� values for the drive surface and the check surface be equal.

L1 L1

L2L2

Page 58: Personal APT, Reference guide, NC/CNC programming software

46 PERSONAL APT Basics – Tool Motion Commands

PERSONAL APT - Reference Guide

A positive thickness specification results in a machined surface that will have excess stock left; a negative thickness specification results in an undercutting condition. Any value may be specified for a positive thickness; however, because of the method used by the processor in implementing the ���������������� feature, a negative drive surface or check surface thickness must have a magnitude that is less than the cutter radius. For example, if the cutter radius is . 5, any value � may be used for DS or CS thickness as long as � > -. 5. Figure 32 and Figure 33 show examples of positive and negative specifications for ����������������.

Note: ���������������� is ignored for any surface for which the cutter-to-surface relationship is ��������. This is necessary because the processor is unable to determine what is meant by a positive or negative thickness when the end of the tool is on the surface in question.

Figure 32: Positive THICK Values

Figure 33: Negative THICK Values

.25

P2

P1

Thick Surface

Page 59: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics – Program Sequence 47

PERSONAL APT - Reference Guide

Repetitive Programming Very often a part to be programmed requires the repetition of a series of commands with the same or similar dimensions. Or it may be that a part requires a sequence of operations to be repeated many times such as machining the same cutouts at many different locations on the part.

PERSONAL APT provides different methods of accomplishing repetitive programming without the tedious monotony of writing the same commands over and over again. These programming techniques are: 1) ���� �������� �������� �������� ����, 2) looping, 3) macros, 4) patterns and 5) ��������������������. Each has its own use for a particular type of repetitive programming.

���� �������� �������� �������� ���� Statements A given set of cutter points may be repeated in a part program output by using ���������������� and ���������������� statements. In addition, the information may be translated and/or rotated as it is copied.

The ���������������� Statement The ���������������� statement is used to establish a reference point for use in a copying operation. The two forms of this statement are:

���� ���� ���� ���� ���� -����

This statement specifies the location at which a copying operation is to begin.

���� ���� ���� ���� ���� -������������������������������������

This statement specifies the location at which a copying operation is to terminate. The integer - is used to reference the ���������������� statement associated with a ���������������� statement. The ���������������� integer (-) may not be used in more than one set of ���� ���� ���� ���� -����((((((((����� ����� ����� ����� -��������������������������������statements. A maximum of 16 ���������������� integers may be used in a part program.����

The ���������������� Statement The ���������������� statement is used in a part program to initiate a copying operation. The ���������������� statement also contains information regarding translations and/or rotations which are to be effected during the copying process. Further, in the absence of an ���� ���� ���� ���� -, ��������������������E statement, the ���������������� statement indicates the location at which the copying operation is to terminate. The general format of the ���������������� statement is:

���� ������������������������������������������������������������������������������������� ���������������������������������������������������������49*4,�� ���������������������������������������������������������49*4,�� ���������������������������������������������������������49*4,����� ���� ���� ���� ���� -����������������������������&&&&&&&&&&&&&.����� ������������������������������������������������������������+,40-G����

the general interpretation of which is:

Generate . copies of the CL file records, including cutter points, resulting from the statements in the part program between the ���� ���� ���� ���� - statement and either the ���� ���� ���� ���� -, ������������������������ statement or the ���� ���� ���� ���� -... statement.

The following restrictions apply to the index value -:

It must be a positive integer, or a variable representation of a positive integer, with a value between 1 and 32767.

The same number must be used in associated ���������������� and ���������������� statements.

It may be associated with one and only one ���� ���� ���� ���� - statement.

Page 60: Personal APT, Reference guide, NC/CNC programming software

48 PERSONAL APT Basics – Program Sequence

PERSONAL APT - Reference Guide

The ���������������� Option The ���������������� option specifies that the information is to be copied only, with no transformation taking place. The format of this statement is:

���� ���� ���� ���� ���� -��������������������������������.����

The ������������������������ Option The ������������������������ option indicates that the information is to be translated as it is copied. The format of this statement is:

���� ���� ���� ���� ���� -����������������������������������������G��������;��������I��������.����

The cutter center points between the ���������������� and ���������������� statements are translated to a coordinate system whose origin is defined by the coordinate G, ;, and I. Translations are accumulative in the copying process; that is, the original data are not translated; the first copy is translated to G, ;, I; the second copy is translated by �G, �;, �I; the .th copy is translated by .G, .;, .I.

The ��������������������((((��������������������((((�������������������� Option The ��������������������, ��������������������, and �������������������� options indicate that the information is to be rotated as it is copied. The format of this statement is:

���� ������������������������������������������������������������������������ ���� ���� ���� ���� -������������������������������������������������49*4,��������.�������� ��������������������������������������������������������������������

The appropriate cutter center points are rotated as they are copied through a positive angle 49*4, from the first axis specified in the modifier to the second axis specified in the modifier. Rotation is accumulative; that is, the original data are not rotated; the first copy is rotated by 49*4, degrees; the second copy is rotated by �8�49*4, degrees, etc.

The �������������������� Option The �������������������� option indicates that a given matrix is to be used in translating and/or rotating the copied information. The format of this statement is:

���� ���� -������������� -������������� -������������� -���������3+,4��������.����

where 3+,4 is either a nested matrix definition or the symbolic name of a previously defined matrix. Transformations are accumulative; that is, the original data are not transformed by the matrix 3+,4M the first copy is the result of transforming the original data by the matrix 3+,4; the second copy is transformed by a matrix which is the product of 3+,4 with itself; the third copy is transformed by a matrix resulting from the product of the second copying operation and 3+,4, etc.

Use of the ���������������� Feature There are two basic forms in which the ���������������� feature is used. The most basic form is as follows:

���� �&����� ����� ����� ����� �������� ����������������&&&&&&&&&&&&&&&&&&&&�������� ����&&&&&����&&&&&����&&&&&����&&&&&�������� �&����� ����� ����� ����� �������������������������������������

When statement 2 is encountered, all the CL file records between 1 and 2 are copied twice without modification. The next example indicates a data transformation:

���� $&����� ����� ����� ����� ��� ����&&&&&�� ����&&&&&����� �&����� ����� ����� ����� ������������������������������������������������������

Page 61: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics – Program Sequence 49

PERSONAL APT - Reference Guide

In this case, all the CL file records between statements 3 and 4 are copied once; further, all cutter location data is transformed by the matrix ����.

An alternate form of the ���������������� feature is as follows:

���� !&����� ����� ����� ����� ��� ����&&&&&�� ����&&&&&����� �&�������������������� ����������������������������������������� ����&&&&&����&&&&&����&&&&&����&&&&&�������� ����&&&&&����&&&&&����&&&&&����&&&&&�������� E&����� ����� ����� ����� ���������������������������������$����

In this case, when statement 7 is encountered, all the CL records between statements 5 and 6 is copied three times (without transformation). However, transformation may be effected by specifying the appropriate information in the ���������������� statement.

Two major rules must be observed when using the ���������������� feature:

���������������� ‘loops’ may not be nested. For example, the following statements are not permissible:

���� ���� ���� ���� ���� L�������� ����&&&&&����&&&&&����&&&&&����&&&&&�������� ���� ���� ���� ���� :�� ����&&&&&�� ���� ���� ���� ���� -����������������������������$ ����$�� ����&&&&&�������� ���� ���� ���� ���� �������������������������������������

The same index integer may not be used in more than one set of ���������������� instructions. For example, the following statements are not permissible:

���� ���� ���� ���� ���� -�������� ����&&&&&����&&&&&����&&&&&����&&&&&�������� ���� ���� ���� ���� -��������������������������������.�������� ����&&&&&����&&&&&����&&&&&����&&&&&�������� ���� ���� ���� ���� -�� ����&&&&&����� ���� ���� ���� ���� -��������������������������������+����

Nesting of ���������������� Loops ���������������� statements may not be nested within other sets of ���������������� and ���������������� statements.

Combined Use of ������������������������ and ���������������� A ���������������� loop may be embedded within a ������������������������ loop, and a ������������������������ loop may be embedded within a ���������������� loop. An example of each of these capabilities follows:

���� �&����&&&&&����&&&&&����&&&&&����&&&&&�������� �������� �������� �������� �������� 3+,4��� ������&&&&&����� ������ ������ ������ ������ :�� ������&&&&&����� ������ ������ ������ ������ :������������������������������������3+,4���������.�� ������&&&&&����� �������� �������������� �������������� �������������� �������������� ������&&&&&������&&&&&������&&&&&������&&&&&�������� �&���� ���� ���� ���� -�� ������&&&&&����� �������� �������� �������� �������� 3+,4��� ������&&&&&����� �������� �������������� �������������� �������������� �������������� ������&&������&&������&&������&&&&&&&&&&&&&&�������� ������ ������ ������ ������ -������������������������������������3+,4���������.����

Page 62: Personal APT, Reference guide, NC/CNC programming software

50 PERSONAL APT Basics – Program Sequence

PERSONAL APT - Reference Guide

Note: In either case, the ������������������������ statements redefine the original cutter points only; the ������������������������ feature is not accumulative.

The �������� Statement The �������� statement provides a means of conditionally branching to another portion of the part program.

Syntax: ���#���#���#���#�%%%%�5,<*5���5,<*5���5,<*5$�

Branching to�5,<*5�,�5,<*5��or�5,<*5$ is achieved by evaluating the parenthetical expression��, testing the results and proceeding as follows.

If the absolute value of���is less than or equal to 10-6, it is assumed to be zero and control is transferred to the statement labeled�5,<*5�.

If the value of���is less than zero, control is transferred to the statement labeled�5,<*5�.

If the value of���is greater than zero, control is transferred to the statement labeled 5,<*5$.

��must be a scalar value or symbol for a scalar value. Any nested computations required to arrive at the value of���must be enclosed in a separate set of parentheses.

Looping Looping is a technique that instructs the computer to read and interpret a set of statements in the program as many times as indicated. The use of this feature can reduce the program writing effort causing a few statements to do the work of many.

Looping can repeat a sequence of operations many times, usually with modifications applied to the sequence each time it is repeated. This sequence of operations can be made up of any valid set of statements. The looping feature permits the programmer to modify the statements for each pass through the loop by reassigning values to variables.

� ���������� �����%����� �%����� �%����� �%����� ���� �� �������� ����� ������ ������ ������ � ����� �������� ����� ������ ������ ������ � �(��� ����� ������'������� ���#���#���#���#C�(��%�%�%�%�H���������������������� H���%����((((((((((((((((((((((((((((((((((((((((((((((((((((����

In this example, control is transferred to H��� if (C�(��) is less than zero, and to ����� if (C�(��) is greater than or equal to zero. The variable X ranges in value from 2 to 10. When it has the value 2, 4 or 6, the scalar value of (C�(��) remains positive, and control is transferred to �����. When X has the value of 8, the scalar value of (C�(��) becomes zero, and control is transferred to �����. However, when ��has the value of 10, the scalar value of (C�(��) becomes negative, and control is transferred to H���.

Initial values are assigned to the loop variables through the initializing statement(s). These variables can take on any value depending on the requirements of the program. In the above example, the initializing statement set the value of X to 2. This was done so that the first ���������������� would position the cutter at the point with coordinates (2, 0, 0).

������������������������ The part programmer may want to transfer control to a labeled statement immediately with a no-test condition. This can be done with the ������������������������ statement. For example:

���� ������ ������� ������� ������� ������7����

The symbol to the right of the slash corresponds to a statement label. Unlike the������������ statement, the ������������������������ statement is an absolute transfer and no provision is made for conditional transfer. For example:

� ������� ���� �

Page 63: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics – Program Sequence 51

PERSONAL APT - Reference Guide

���� ���%����� ����� ����� ����� ������� �� �������� ���#���#���#���#���%�%�%�%�������������$�������� ���%������ ������� ������� ������� � ����� �������� ����� ������ ������ ������ � �(��� �������� ����(��������� ������ ������� ������� ������� ������������ ��$%������ �%������ �%������ �%������ � ��(��� �������� ����� ������ ������ ������ ����(��� �������� ����� ����� ����� ����� (������ �������� ����� ����� ����� ����� � ����� �������� ����(������ ���%�������'�&!�������� ���#���#���#���#��((((�E%�%�%�%�������������!�������� ��!%����))))))))�0*+,-./*0�12�=01F0,+�

Macros The word �������������������� is short for macro command. A macro command is a single statement which refers to a group of part programming statements. A name is assigned to the macro and it is stored until called for. The macro is not executed at the time of its definition.

The special words in the vocabulary associated with macros are ��������������������, ������������������������, and ����������������. �������������������� signifies the start of a sequence of commands to be stored for later reference.

The word �������������������� is used in a statement as follows:

���� ������������� �������� �������� �������� ���������� �����������������

MACSYM represents a symbolic name assigned to the macro and it is the name by which the macro is identified. The rules for assigning a name to a macro are the same as those that apply to naming other variable symbols.

�������������������� signifies the start of a sequence of commands to be stored for subsequent reference. The macro sequence is terminated by the word ������������������������.

The symbols to the right of the slash represent dummy variables which can replace any proper word or value in the statements which follow.

At the time the macro is called for execution, values must be assigned to the variables. The values assigned may be different each time the macro is called. Sometimes a macro variable is assigned a default value which is used when no other value is assigned in the ���������������� statement. Such a case is illustrated by ������ in the above statement. Any number of dummy variables may be assigned in a macro and any, all or none of them may be assigned default values.

The word ������������������������ is used alone in a statement to terminate a macro. No other words are allowed in the ������������������������ statement.

The word ���������������� is used to reference a macro when it is to be executed in a part program. The ���������������� format is:

���� ���� ���� ���� ���� �����������,������?�����2�������<�������������

��������, and ������������������������ are used in a macro in exactly the same way they are used in a the main part of the program. The only words that may not be used in a macro are the ��������������������((((������������������������ pairs.

Statement labels used between the ��������������������((((������������������������ pair are unique to that macro. Thus, duplicate statement labels may appear in different macros without problem. This means that it is not possible to transfer to a statement outside of the������������������������. However, scalar and geometric entities are global in nature.

A macro sequence cannot be defined within another macro sequence. If nested macros are required, ���������������� statements can be included as part of the macro sequence and the values assigned to the macro variables in the ���������������� statement can be macro variables in the new macro. The same symbols cannot be used for dummy variables in the new macro. Nested macros can be programmed to 5 levels; however, the situation becomes very complicated and gets out of hand quickly.

Page 64: Personal APT, Reference guide, NC/CNC programming software

52 PERSONAL APT Basics – Program Sequence

PERSONAL APT - Reference Guide

It is important not to define symbolic-named geometric entities in a macro. This will result in multiple-defined symbols the second time the macro is called..

Following is an example of a �������������������� and its repeated use at selected locations:

���� �������� ������ ������ ������ ������������ �����������&!�))��))��))��))����((((����� � ))�������������������� ��������� ���������� ���������� ���������� ���������&�!�������� ���������� ����������� ����������� ����������� �(���������� �����))�����))�����))�����))�������������������� ����� ����� ����� ����� ��������������� ���������� ���������� ���������� ���������� �(���������� �����))������))������))������))�����D�������������� ���������� ����������� ����������� ����������� ����))��))��))��))�������������������������� ����������������������������� ))�� ))�(�(����(�(����������������(��������������������))������������

� ))�� ����� ����� ������))��������������������D��(�(�������������� �����%����������������� �� �� �� ���������������������� ���%����'�������� ���#���#���#���#���%�%�%�%���$����$������������� ���%����#����#����#����#�(!%�%�%�%���������������������� ��$%����#����#����#����#�(�%�%�%�%����������������������� ���%�������(����))���D���������������������������������������))������������ ������'������� ���#���#���#���#�(�%�����������H����))������(�(�D���������������������������������������������))��������"������������������������������������))���������� H���%�))�0*+,-./*0�12�=01F0,+�

TRACUT Sometimes it is desirable to translate a given set of cutter locations from one coordinate system to another. This is accomplished by using the ������������������������ statement. ������������������������ followed by a matrix causes all subsequent coordinate values to be transformed by that matrix until another ������������������������ or ������ ������ ������ ������ ������������������������ statement is processed. For example:

���� ������ ������� ������� ������� ������������ #�,04��01F0,+�34,4*+*.43%�������� ������ ������������� ������������� ������������� �����������

Lets assume that we want to machine the periphery of the part shown in Figure 34 but we want to position the part on the machine tool differently than the part is dimensioned.

Page 65: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics – Program Sequence 53

PERSONAL APT - Reference Guide

Figure 34: Part Program

The following program segment defines the part shape, as it is specified on the drawing, and guides the tool around the part (Figure 35).

����

����

��������� �������� �������� �������� ���� ������������������� �������� �������� �������� � ��������������$������� �������� �������� �������� �!������ ��$������������� �������� �������� �������� � ��$�����$�����!������� �������� �������� �������� ��!�� ���!���������������� �������� �������� �������� � �� ����� ���������������� ��������� ��������� ��������� � �� ����� ���������� ������� ������� ������� �������� ������ ������ ������ �� �������� ����� ����� ����� �($��(��� ������ ������� ������� ������� ������������������������������������������������������ ������ ������ ������ ���������������������������������������������� ������ ������ ������ ������������������������������������$��������� ������ ������ ������ ��$����������������������������������� ������ ������ ������ ������������������������������������!��������� ������ ������ ������ ��!������������������������������������������� ������ ������ ������ ��������������������������������������������������� ����������� ����������� ����������� � �� �� ����&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&����

Now, we revise the program to position the part on the machine tool as it is shown in Figure 36.

Figure 35: Cutter Path

Page 66: Personal APT, Reference guide, NC/CNC programming software

54 PERSONAL APT Basics – Program Sequence

PERSONAL APT - Reference Guide

Figure 36: Part in Machining Position

��������� �������� �������� �������� ���� ������������������� �������� �������� �������� � ��������������$������� �������� �������� �������� �!������ ��$������������� �������$������� �������$������� �������$������� �������$�����!������� ��������!������� ��������!������� ��������!������� ��������!������������� �������� �������� �������� ������� ������ ������ ������ ���������������� ��������� ��������� ��������� � �� ����� ���������� ������� ������� ������� �������� ������ ������ ������ �� �������� ����� ����� ����� �(!��(��� ������������������������������������������������))��9,.F*/�49-3�5-.*���������������� �������������������� �������������������� �������������������� ���������7&C��������))��//*/�49-3�5-.*���������� ������� ������� ������� ��������������������������������������������������������������������))��//*/�49-3�5-.*������ ������� ������� ������� ������������������������������������������������������ ������ ������ ������ ���������������������������������������������� ������ ������ ������ ������������������������������������$��������� ������ ������ ������ ��$����������������������������������� ������ ������ ������ ������������������������������������!��������� ������ ������ ������ ��!������������������������������������������� ������ ������ ������ ����������������������������������������������� �������������������������� �������������������������� �������������������������� ��������������������))��//*/�49-3�5-.*�������������� ����������� ����������� ����������� � �� �� ����&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&����

����������������������������is in effect until another��������������������������������statement is encountered.

Page 67: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics – Program Sequence 55

PERSONAL APT - Reference Guide

PERSONAL APT Pocketing PERSONAL APT can generate the cutter paths required to remove the material from an area bounded by a polygon of up to 20 sides. This is done by using the �������������������� statement, according to the following format.

���� ����� ������ ������ ������ ��*�����?��2�����������$��N��=���������������)�)�)�)�������� ���� ���� ��$�&&&&&&&��.�

Where:

�* is the effective cutter radius, used for coverage testing

? is a measure of pocketing cut offset. When multiplied by the cutter radius, the result is the actual amount of offset from one cut to the next one parallel to it for the same side of the pocket. IMPORTANT: ? is always computed in the plane of the bottom of the pocket, since all computation of internal points is done in this plane. If the pocket bottom is sloped in any way, this must be taken into account in finding ?. In terms of the general cutter definition, the cutter radius used in this calculation is D/2, where D is the cutter diameter.

2 is a measure of finishing cut offset. When multiplied by the cutter radius, the result is the actual amount of offset from the last general cut to the finished side of the pocket. IMPORTANT: 2 is always computed in the plane of the bottom of the pocket. If the pocket bottom is sloped in any way, this must be taken into account in finding 2&&&& In terms of the general cutter definition, D/2 is used for the calculation. If no special finish cut is desired, set 2=?&&&&

�� is feed rate, in ������������, for plunge into the pocket.

�� is feed rate, in ������������, for general pocket cutting, exclusive of finish cut and plunge.

�$ is feed rate, in ������������, for the finishing cut around the pocket, exclusive of general cutting and plunge cut.

N is the offset override indicator; equals 0 for override, 1 for override bypass. This parameter is included for compatibility only and is not acted upon by PERSONAL APT.

� is the point type indicator: =0, The input vertex points are the cutter centers for the finish pass around the pocket. =1, The input vertex points are the vertices produced by the sides of the pocket. =2, The input vertex points, defined by the projection of specified points along the tool axis on a specified plane, are the cutter centers for the finish pass around the pocket. =3, The input vertex points, defined by projection of specified points along the tool axis on a specified plane, are the vertices produced by the sides of the pocket.

Pockets are defined by from 3 to 20 points defining the straight sides of a regular polygon. The algorithm used to compute the cutter path for pocketing does not recognize a pocket boundary and cutter size combination that create undercutting. The cutter path will be computed but a back-up condition (undercut) is produced.

Page 68: Personal APT, Reference guide, NC/CNC programming software

56 PERSONAL APT Basics – Program Sequence

PERSONAL APT - Reference Guide

Figure 37: Plane for Pocket Bottom

When point type indicator 2 or 3 is used, the processor uses the current part surface as the bottom of the pocket. It must be a plane, and the angle between the tool axis and this plane part surface must be no less than twelve (12) degrees. The PERSONAL APT processor projects the input points along the tool axis, onto this plane, as illustrated in Figure 37. Therefore, when point type indicator 2 or 3 is used, the points given need not be coplanar.

The example given below illustrates the use of the point type 2 and 3 capability to make multiple passes around a pocket, varying the depth.

���� ������������ �������� �������� �������� �������������� ���� ���� ���� ���� ������������������ ����� ����� ����� ����� �*��?��2�����������$�����$���)�*��?��2�����������$�����$���)�*��?��2�����������$�����$���)�*��?��2�����������$�����$���)�������� ���� ������������&�&�&������������� �������������������������������� ���� ���� ���� ���� ��������������������������� ���� ���� ���� ���� �����������������������

�* is defined as the effective cutter radius. To be more explicit, �* is the farthest distance away from the tool, in the plane of the pocket, that the cutter may be assumed to be cutting within tolerance throughout an entire revolution about its axis. When the pocket plane is horizontal (normal to the Tool Axis), there is no special problem in determining��*, as shown in the following figure.

Figure 38: Pocket Plane Horizontal

But, when the pocket plane is not horizontal, �* requires more careful consideration, as shown in the following Figure 39.

Page 69: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics – Program Sequence 57

PERSONAL APT - Reference Guide

Figure 39: Pocket Plane Non-Horizontal

The importance of accurate �* information lies in the fact that it is used by the �������������������� program to test whether any uncut material is present in the center of the pocket. For, regardless of the cutter offset called for as input, if the cutter has eliminated all material within its effective cutter radius, no need exists for computing further passes.

�* information is also used to aid calculation of new offset distances when new smaller vertices are encountered in collapsed figures. Note: Since the effective cutter radius is used by the computer, it would be wise if this input number is conservative by a few thousandths to allow for cutter wear and machine control variation. It is the nature of pocketing by this method that uncut portions may remain if careful consideration is not taken to see that successive cutter paths are close enough to each other. In terms of the input data, the guiding inequality is the following:

c��<��* (1 + sin 0/2)

where � equals D/2 and 0 is the smallest angle made by two sides of the pocket. This will ensure that cutter overlap is enough to remove all material inside the pocket. However, internal collapse may result in a figure that violates the above condition (see Figure 40).

Figure 40: Material Left in Corner

To safeguard against leaving uncut material in the reduced figure, a cutter offset override has been programmed into the �������������������� routine. This feature checks for new vertices smaller than any original and reduces cutter offset accordingly. Offset override is called for by the part programmer by setting the override indicator equal to zero in the input. If the override indicator is set equal to 1, no testing is done, and the originally programmed offsets are used throughout. Since the pocketing method is not really spiral but a series of concentric polygons, with the cutter moving over at the first vertex name in the input to each succeeding polygon, it may be desirable to bypass offset override, taking advantage of that fact; for example, name a small-angled vertex the first vertex, and let the cutter eliminate uncut material on its motion to the next polygon. This should be done only when the programmer is sure that the collapsing figure leads to difficulties, such as the elimination of the side of the polygon on either side of the first vertex. In which case the path from one polygon to a succeeding one is not along the original vector.

The �������������������� routine takes the tool from its position at the end of the immediately preceding motion and moves it into the pocket. This entry into the pocket is not necessarily a plunge.

Cutting follows the order in which the points are programmed.

Page 70: Personal APT, Reference guide, NC/CNC programming software

58 PERSONAL APT Basics – Program Sequence

PERSONAL APT - Reference Guide

Points may be entered as X-Y-Z coordinates, or as symbols, or in combination.

There can be no more than 20 points, no duplicate points, and no more than 3 points in a line.

The interior angle between adjacent line segments cannot be greater than 180 degrees.

The Z values of points defining the pocket determine the plane of the pocket bottom, regardless of any previous ���������������� statements. (The points must all be in the same plane.) On the other hand, the pocketing plane replaces a previously effective part surface only for the duration of the pocketing operation. After pocketing, the previous part surface is automatically reinstated.

Although automatic pocketing can be done only for straight-line configurations, pocketing of configurations that include curves can be accomplished by defining a slightly undersize pocket and programming a detailed cleanup to follow immediately after.

APT calculates a cutter center path that will clean out the enclosed area, and moves the cutter along that path until the pocketing is completed.

The cutter path actually forms a series of concentric polygons, with the cutter moving over each time at the vertex defined by the first point entered in the �������������������� statement. The calculation of the center path is from the outside toward the center, but the actual cutting is from the inside out, finishing with the defined periphery.

Part Program Sequence ������������������������----Program identification . For compatibility with other systems ������������������������ should be in columns 1-6. The remainder of the line is available for identification. No slash is required and the statement may not be continued on the next line ($).

Example: �����������������������������������������"���(��$����D���

Program identification can also be accomplished by use of the ������������������������statement as well as providing the means for the printing out of various notations that can be beneficial as a record. �������������������� may appear anywhere in the part program but it should appear in columns 1-6 of the statement.

������������������������----The machine statement followed by the applicable control system name and identifying number activates the postprocessor system that is coded for that particular control and remains in effect until the end of the program.

Tolerance Specifications Although the cutter path is computed exactly, the actual path may, in some cases, consist of successive straight line segments which simulate an arc. Tolerance words control the accuracy of the arcs produced by these line segments.

����� &&&����� &&&����� &&&����� &&& �������������������� specifies the maximum undercutting allowed for the part.

������ &&&������ &&&������ &&&������ &&&���� ����������������������������specifies the maximum excess material permitted on the outside of the specified arc.

If no tolerance is specified, ������������������������ is assumed to be .0005 and �������������������� is assumed to be 0.000.

Part Description The part description lists the geometric statements necessary to describe the part to the computer. See the Geometry Definitions section of this guide.

Cutter Specification In order to compute the path of the cutter center line, it is necessary to insert a cutter statement describing the cutter diameter and corner radius before motion statements are programmed. For example;

Page 71: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics – Program Sequence 59

PERSONAL APT - Reference Guide

���� ������ ������ ������ ������ �& $����

Speeds, Feeds and Coolant ����� ����� ����� ����� ---This statement specifies the spindle condition desired. The ������������ and direction of rotation (��"��"��"��" or ���"���"���"���") may be used. The spindle may be stopped by using the word ������������. For example:

���� ����� ����� ����� ����� ! �����"�����"�����"�����"�������� ����� �������� �������� �������� �������

����� ����� ����� ����� ---Indicates the desired rate of feed for machine motions and may be given in ������������ or ������������. (������������ is assumed). For example:

���� ����� ����� ����� ����� �C�A����B�A����B�A����B�A����B�������� ����� ����� ����� ����� & ����������������������

������ ������ ������ ������ ---Specifies coolant condition. For example:

���� ������ ���������� ���������� ���������� ��������

Tool Motion Statements Tool motion statements are used to initiate and control cutter movement along the part geometry establishing the cutter path. The major words that specify tool motion in PERSONAL APT are; ���������������������������������������"�����������������������"�����������������������"�����������������������" and ��������������������.. The ���������������� statement is used to specify the starting position for the tool motion.

Program Termination ���������������� must be the last statement of the program. If it appears anywhere else in a part program, it terminates the program at that point. Final postprocessor commands that stop the machine tool and inform the postprocessor that the end of the program has been reached should precede ����������������. ���������������� accomplishes this and �������� may also be used to terminate the program.

Page 72: Personal APT, Reference guide, NC/CNC programming software

60 PERSONAL APT Basics – Sample Part Program

PERSONAL APT - Reference Guide

Sample Part Program Following is a PERSONAL APT part program to machine the periphery of Sample Part #1 shown in Figure 41. This part program is for illustration purposes only and may not conform to your preferred machining practices.

�����������������������������������������������������O��))�������������������������������������������������&��))������������������ ������ ������ ������ ����������))�����������H������������� ������ ������ ������ �& �������))������������������������������� ������� ������� ������� �& ������������ ����� ����� ����� � � �C����������))������������������������������������������� � � � � � �C� ������������� ������� ������� ������� C�$�$��������� ����� ����� ����� ���&�������������))������O������&�������������������� ������ ������ ������ �&!��������������))������������������������ ����������� ����������� ����������� �����������������������������))���������������������������� ����� ����� ����� �! ���"���"���"���"������������))��������������������������� ����� ����� ����� $ ���������������))��������(������������������������� #���� #���� #���� #�������� ������ ������ ������ (���� %��%��%��%��))�����������������������������D ����D ����D ����D �(�� �����������))�������������������������� ������� ������� ������� ���������������))���D���������������#��%����������������������������������������������������))���������������������������������� ����� ����� ����� ������������������������������������������))�����������������D�����������������������������������������������������������))����������������������������� ����� ����� ����� ������������������������������������������������������������))�����������������������������������" ���" ���" ���" ���������������������������������������������������������))�������"������������������������������� ��������� ��������� ��������� ����������������������))���D������������������������������������������������������������������������))����������������������������������������������������������������������))�������������������������������������������������������������������))������������������������

Page 73: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Basics – Sample Part Program 61

PERSONAL APT - Reference Guide

Figure 41: Sample Part #1

Postprocessing The first stage of processing, as applied to a part program, results in a general solution (CL Data). Further processing is then required to convert the general solution into a set of instructions suited to a specific machine tool. The processing after the general solution is called postprocessing. The difference between the processes being the program that controls the computer. The processing of the general solution is done by the computer under the control of PERSONAL APT. The subsequent processing is done by the computer under the control of a postprocessor program.

The postprocessor program accepts the general solution (CL Data) from PERSONAL APT giving the location of the cutter in a part oriented context and combines this with information that is machine tool oriented such as feeds, speeds, tolerances, etc. and formats the data to conform to the machine/control requirements. This is called postprocessing.

The result of the two programs is a control media for the operation of specific machines for the production of parts.

Page 74: Personal APT, Reference guide, NC/CNC programming software

62 PERSONAL APT Basics – Sample Part Program

PERSONAL APT - Reference Guide

Master Mill Postprocessor List File ���������������������������������������D�&!������������������������������������������������O���� (�1J(7E����P��P������������������������������������������������������������������������� ������������� ������������� ������������� ��������������������� ������ ������ ������ ��!&�!� ������� �1-.4� �& � !&�! � �& ����������� �������������� �������������� �������������� ��������������������������������������&!������� �-0?5*� �& � !&�! � �&! ��������� ����� ����� ����� ����������������������������������$!������� �-.*� (&!E$�� �&C�7�� �& � �& ����������� #����� #����� #����� #�������� ������ ������ ������ ��$%�������������%�������������%�������������%���������������������� �1-.4� �& � $& � �& ���� �-.*� (&��77� �&7E$�� �& � �&�C7E���$����� #����� ����������� #����� ����������� #����� ����������� #����� �����������%��������%��������%��������%���������������$� �-.*� �&7E$�� &��77� & � �&$$��������� ����� ����� ����� �C �������������������������������������������������� !���C ������ � �� $������ ���� ���� ���� � �$������������������� ������ �& ���& ���$& �������� ������ ������ ������ &!��������������� ������������ ������������ ������������ ��������#����� �#����� �#����� �#����� � ��� %�%�%�%��$����� �!�� ��&$7!C��$& $�!��$&�� � �� &������������� ����������� ����������� ����������� �����������������������������������������������������������!����� �!�� ���!&�E!����&��C$���!&������������� ��� ��� ��� ������� $ �� ���!&E!��!&�!���&��!&�!�� $!���&� �$��$&!��7���&��!&�!�����" ���" ���" ���" ���������������������������$����� � �� ���&�7�����&��$������������� ���������� ���������� ���������� $�M���������� �M���������� �M���������� �M���������� � �$����� �!�� ��$&�� ! �� &�� &��������������� !!�� �������������������������,?9-.*�4-+*�����&7!��-.������,=*�5*.F49�����&�$��**4

Page 75: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Program Considerations 63

PERSONAL APT - Reference Guide

PERSONAL APT Program Considerations

With the Extended Feature Set PROGRAM SIZE---The maximum size of a PERSONAL APT program is 2048 lines or approximately 30,000 characters. Neither may be exceeded. Also, the maximum number of characters in one program line is 80.

LABELS---The maximum number of labels, outside ��������������������s, in a part program is 80. Since labels inside a �������������������� are unique to the ��������������������, each �������������������� may have as many as 80 statement labels.

��������������������s---The maximum number of macros in one part program is 32. The maximum number of variables in a �������������������� definition is 32. ��������������������s may be nested to a level of 5 and the maximum number of �������������������� variables in effect at any given time is 128.

��������������������---Any number of �������������������� statements are allowed in a part program. However, ��������������������s must not be nested more than 10 deep. When a �������������������� is programmed inside a ��������������������, the statement label referenced in the ������������������������statement must be in the ��������������������. ��������������������s may be nested 10 deep in each ��������������������.

Without the Extended Feature Set PROGRAM SIZE---The maximum size of a PERSONAL APT program is 512 lines or approximately 8,192 characters. Neither may be exceeded. Also, the maximum number of characters in one program line is 72.

LABELS---The maximum number of labels, outside ��������������������s, in a part program is 20. Since labels inside a �������������������� are unique to the ��������������������, each �������������������� may have as many as 20 statement labels.

��������������������s---The maximum number of macros in one part program is 8. The maximum number of variables in a �������������������� definition is 8. ��������������������s may be nested to a level of 5 and the maximum number of �������������������� variables in effect at any given time is 32.

Page 76: Personal APT, Reference guide, NC/CNC programming software

64 PERSONAL APT Graphics Display

PERSONAL APT - Reference Guide

(This page is for your notes)

Page 77: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Graphics Display 65

PERSONAL APT - Reference Guide

Graphics Display PAHRG, the PERSONAL APT graphics module, will detect your graphics configuration and use the correct graphics display mode to match the monitor. However, you may override this automatic choice by including command line options (switches) when the program is started. If you have a non-standard graphics configuration, you may need to override the automatic selection.

Command Line Options Five command line switches are recognized. They are /CGA, /EGA, /VGA, /HERC and /BW. The switches are used to force a particular display resolution and/or suppress color. Naturally, you cannot force a condition that is incompatible with your graphics hardware. For example you could use, /EGA /BW to force monochrome EGA resolution output if your hardware is EGA or VGA. The command line appearing in the PA.BAT file would be;

PAHRG /EGA /BW

The /CGA, /EGA, /VGA and /HERC switches are provided to allow the use of some monitor/controller combinations that are not recognized properly by the program. If you experience problems in getting any display at all, you should try the command line switches that describe the type of graphics capability you have. Since no test is made for the validity of the switches, you should exercise caution in their use. Unknown results will occur if you attempt to use a mode that is not compatible with your hardware.

Running PAHRG Selecting the menu command Run-Screen Graphics starts the PAHRG program module. Of course, this must be done after you have processed the program, thus, creating a CL file. The first time PAHRG is started, you are required to establish the proportions and size of your display screen. This information, together with other options, may be saved in a configuration file for subsequent use.

Adjusting the Display The physical size and width/height ratio of display screens vary. Some displays are approximately square while others are very wide and short, like some of the early laptop computers.

The default values in this program which control the display size and length/width ratio are set to accommodate a standard VGA display. The display on your screen may need adjustment to make circles appear round and squares to have equal length sides.

Figure 42: Adjusting The Display

Page 78: Personal APT, Reference guide, NC/CNC programming software

66 PERSONAL APT Graphics Display

PERSONAL APT - Reference Guide

So that you may make such adjustment, a configuration routine is invoked whenever PAHRG is started without an existing configuration file (PAHRG.CFG) in the current directory. This routine displays a square on the screen with a circle that should just touch all four sides of the square. First you should adjust the square so that it has equal length sides. To do this, you use the + key to increase the width to height ratio and the - key to decrease the width to height ratio. Each keypress increases, or decreases, the width/height ratio of the square by the magnitude indicated in the "Change Increment" value shown in the lower right portion of your screen. This change increment may have three different values, 0.100, 0.010 and 0.001. Pressing the "I" (for Increment) changes the increment value to the next value in the sequence listed above.

When the square looks OK, press the Enter key. Then adjust the aspect ratio of the circle in the same way. When the circle touches the square on all four sides, press the Enter key again. You will then be asked if the display appears to be OK. If you answer "N", you can continue the adjustment cycle, working on the square again and then the circle. If you answer "Y", you will be asked to input the length of the displayed rectangle outlining the graphic display area on your screen. This value is required so that the program can display the graphic data to a more accurate scale.

Figure 43: The Adjusted Display

Measurements of the square sides and width of the screen display can usually be performed more accurately by placing a sheet of paper against the screen and making marks on the paper for checking the sides of the square and the width of the screen. Then, measure the distance between marks on the paper. Next, you will be reminded not to exit the program before saving your configuration (Shift+f10). You may save the configuration at this time, by pressing Shift+f10, or any time the Display Command prompt is visible. If you exit the program before you save the configuration, you will need to repeat this procedure the next time you run the program.

Page 79: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Graphics Display 67

PERSONAL APT - Reference Guide

Figure 44: PAHRG Plot View Menu

You may adjust the display at any time by choosing Option #6 (Adj Display) from the PAHRG Main Menu. Remember to save the configuration each time you make an adjustment, assuming its better than the last. The relationship of all these values not only determine the appearance of arcs, etc. on the screen but also control how well the ends of straight lines match up with the ends of arcs. If you have any problem making suitable adjustments, you may invoke option Alt+f9 to force all arcs to be approximated with chords.

The display is somewhat slower in this mode and the arcs won't always appear as smooth but the line and arc ends will match. You may further control the smoothness of the arcs in this mode by using Ctrl+f10 to increase chord height tolerance (a more jagged appearance) or Ctrl+f9 to decrease the chord height tolerance (a smoother appearance) used to determine the number of chords in approximating the arc. If, at any time, you would like to begin the adjustment from the original default values, just delete the PAHRG.CFG file.

PAHRG also allows adjustment of the direction arrow parameters to suit individual requirements determined by your own unique tastes and graphics display. This is done from the Display Command prompt by using the arrow keys. The Up-Down arrow keys control the angle between the sides of the arrowhead. The Up-Arrow increases the angle and the Down-Arrow decreases the angle. The length of the arrowhead is controlled by the Right-Left arrow keys. The Right-Arrow increases the length and the Left-Arrow decreases the length. These parameters are stored in the PAHRG.CFG file for subsequent use.

You should be able to adjust the display to suit any graphics configuration you may have.

Saving Your Configuration Pressing Shift+F10 causes your current display configuration to be saved in a file named PAHRG.CFG. PAHRG will use the saved information as the default configuration for each subsequent execution of the program.

If PAHRG detects a different monitor type than was in use when the configuration data was saved, the basic default data for that monitor type is used. This means that you would have to go through the display adjustment procedure again.

General Discussion PAHRG provides for displaying programmed tool paths and defined geometry (limited to Points, Lines, Circles, Patterns and Shapes). Also, you may select other options such as Direction Arrows and Tool Diameter to be displayed at the end of each motion. All of these options are in effect when PAHRG is started without a configuration file (PAHRG.CFG). You may choose any one of five different views of

Page 80: Personal APT, Reference guide, NC/CNC programming software

68 PERSONAL APT Graphics Display

PERSONAL APT - Reference Guide

your data, XY plane, YZ plane, ZX plane, Perspective or Isometric. Initial display parameters are chosen by the system that allow all programmed motion to be displayed on the screen. You may Zoom, PAN and otherwise control the display of your data from the Display Command prompt. The Display Command prompt message is displayed each time an ��������, ����������������, ��������������������,������������������������, ��������������������or ������������������������ statement is processed. The system then waits for a response from the user before any further display activity. The following example shows the prompt;

Alt+f1 = Help Command:(CWSLXAFRK)?

Figure 45: The Graphics Display

The valid responses to this prompt are shown below, together with a brief explanation of each. More complete descriptions and examples of the results from these commands may be found elsewhere in this guide.

Graphics Help Pressing the Alt+F1 Keys when the Display Command prompt is displayed causes a summary of all the commands available to be displayed on the screen, as shown in Figure 46. When you press the Esc key to return to your graphics display, the graphics display will be redrawn.

Figure 46: Graphics Help Screen

Page 81: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Graphics Display 69

PERSONAL APT - Reference Guide

Display Commands Following is a brief explanation of all the commands available at the Display Command prompt;

C Continue with display. W Establish viewing window parameters. Accesses another

command processor when in 3D mode. S Enter STEP mode. Displays each input statement and

pauses before displaying the resulting motion. L Clear the graphics area of the screen. X Draw the zero axes lines. A Abort this display. F Frame an area of the current display to fill the display

window. This command is not operational in the 3D display mode. Use the W command for a menu of special commands to achieve the same result in the 3D mode.

R Redraw the current display. This is useful if you want to change some of the options such as the Tool flag, the Geometry flag, etc.

K Skip to the next Display Command prompt.

Also, the function keys, in combination with the Shift, Control and Alt keys, may be used at this prompt to select other options. A complete list of these options follows:

Function Key Commands & Options In addition to the commands listed above, there are many other commands and option selections invoked by the function keys, together with the Shift, Control and Alt keys. When one of these symbols precede the function key designation, you should hold that key down while pressing the function key. The commands and options are listed below;

f1 Turns off the display of direction arrows. f2 Turns off the display of the tool diameter. f3 Turns off the display of the geometry. f4 Prints the graphics displayed on the HPLJ (or com-

patible) in 100DPI mode. LPT1 is assumed. f5 Set Tool Path color to Black. f6 Set Tool Path color to Blue. f7 Set Tool Path color to Green. f8 Set Tool Path color to Red. f9 Set Tool Path color to White.

f10 Return to default configuration. Shift+f1 Turns on the display of direction arrows.

Shift+f2 Turns on the display of tool diameter. Shift+f3 Turns on the display of the geometry. Shift+f4 Prints the graphics displayed on a Dot-Matrix (Epson

MX compatible) printer. LPT1 is assumed. Shift+f5 Set Tool Path color to Gray. Shift+f6 Set Tool Path color to bright Blue. Shift+f7 Set Tool Path color to bright Green. Shift+f8 Set Tool Path color to bright Red. Shift+f9 Set Tool Path color to bright White.

Shift+f10 Save the current configuration as the default Ctrl+f1 Changes the background color.

Ctrl+f2 Set Solid line style for Tool Path display. Ctrl+f3 Set Dashed line style for Tool Path display. Ctrl+f4 Set Dotted line style for Tool Path display.

Page 82: Personal APT, Reference guide, NC/CNC programming software

70 PERSONAL APT Graphics Display

PERSONAL APT - Reference Guide

Ctrl+f5 Set Geometry color to Black. Ctrl+f6 Set Geometry color to Blue. Ctrl+f7 Set Geometry color to Green. Ctrl+f8 Set Geometry color to Red. Ctrl+f9 Decrease circle chord tolerance

Ctrl+f10 Increase circle chord tolerance. Alt+f1 Display the help screen.

Alt+f2 Set Geometry line style to Solid. Alt+f3 Set Geometry line style to Dashed.

ALt+f4 Set Geometry line style to Dotted. Alt+f5 Set Geometry color to Gray. Alt+f6 Set Geometry color to bright Blue. Alt+f7 Set Geometry color to bright Green. Alt+f8 Set Geometry color to bright Red. Alt+f9 Force Circles to be approximated by chords.

Alt+f10 Return to original display scale.

Special 3D Display Considerations Controlling the display of 3-dimensional data is a bit more complex than displaying 2-Dimensional data. The Frame command from the Display Command prompt transforms screen positions to part coordinates in the framing process. A single screen position may represent many different locations in 3D space, therefore, the Frame command is not appropriate for 3D views.

A special Window Command prompt is displayed when you are in 3D mode to allow you to control the size and orientation of the display. Following is an example of the Window Command prompt;

Window Command: (CXYZRELS)?

Figure 47: 3-D Perspective Display

The valid responses to this prompt are shown below, together with a brief explanation of each. More complete descriptions and examples of the results from these commands may be found elsewhere in this guide.

Page 83: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Graphics Display 71

PERSONAL APT - Reference Guide

3D Window Commands C Continue with the display. The screen will be redrawn if there has been

any change that will affect the display. X Pan along the -X- axis. You will be prompted to input a distance to move

the -X- position of both the Eye Position (EP) and Point of Interest (P0I). The input value represents movement in the part coordinate system. Positive or negative values may be specified. An automatic redraw occurs following any movement of these positions.

Y Pan along the -Y- axis. See X for additional information. Z Pan along the -Z- axis. See X for additional information. E Increment the Elevation (Z location) of the EP. The input value is the

number of degrees to rotate the EP from its present position. Positive angles move the EP in a positive -Z- direction and negative angles move the EP in a negative -Z- direction. An automatic redraw occurs following any movement in the Elevation angle.

R Increment the Rotation angle (X-Y location) of the EP. The input value is the number of degrees to rotate the EP (around the P0I) in the XY plane from its current position Positive angles rotate the EP in a counter-clockwise direction and negative angles rotate in a clockwise direction.

L Makes the displayed data 10% larger for each time this key is pressed. These key presses are accumulative, however, there is no redraw of the display until you issue the C (Continue) command or one of the other commands that cause a redraw.

S Makes the displayed data 10% smaller for each time this key is pressed. See L for additional information.

Part Program Statements Tool path colors and line styles may be controlled by ���������������� statements in the part program. Specifications in the part program are invoked when they are read from the CL file and override those set from the keyboard, when there is a conflict. The ��������������������statement will be reprocessed if it appears within an area of the CL file that is being redrawn, thus, overriding any conflicting settings that may have been made from the keyboard.

The format of the ���������������� statement is shown below;

����������������A���������������������A���������������������A���������������������A������B�B�B�B�������� �A�����B�A�������B�A�����B�A�������B�A�����B�A�������B�A�����B�A�������B�������� �A�����B�A�������B���� �A�����B�A�������B���� �A�����B�A�������B���� �A�����B�A�������B�������� ����������A������B����������A������B����������A������B����������A������B����

The part program statements ���������������������������������������������������������������������������������������������������������������� and ������������������������ cause the Display Command prompt to be displayed and the program waits for a command from the keyboard before proceeding.

���������������� tool motion is normally displayed as dashed lines and feed controlled motion is displayed as solid lines. You may select different display parameters.

Also, you may use �������������������� and ���"����"����"����"� statements in your part program to control whether the tool motion is displayed. These commands are modal and �������������������� will inhibit the display of tool motion until a ���"����"����"����"� statement is processed. Redundant occurrences of these statements have no effect.

Displaying Geometry Defined Points, Lines, Circles and Patterns may be displayed, except in the YZ or ZX planes, if desired. Only the entities whose canonical forms are printed on the list file may be displayed. The canonical forms of defined geometric entities may be printed on the list file in two different ways. The part program statements ����� ������� ������� ������� ��((((������������ control the printing of canonical forms following the definition statement and ����� $����� $����� $����� $,.. may be used in the part program to print all or selected canonical forms.

Page 84: Personal APT, Reference guide, NC/CNC programming software

72 PERSONAL APT Graphics Display

PERSONAL APT - Reference Guide

The geometric entities are displayed in the same sequence as the canonical forms are encountered in the part program. Therefore, you have some control over what canonical forms are included in the list file and the sequence in which they appear. Beyond that, you may elect to display or not display the available canonical forms as the graphic display is generated (f3/Shift+f3).

Figure 48: Geometry Display

The Frame Command The Frame (F) command allows you to define an area of the existing 2D display to scale to the full area of the screen. This is accomplished by using the direction arrow keys to move the graphic cursor around the screen.

When you select the Frame command, a graphic cursor is placed in the approximate center of the screen. Use the he mouse or direction arrow keys to move the graphic cursor around the screen. When the graphic cursor is at a position to use as one corner of the new display area, simply press the Enter key, or the left mouse button. Then position the graphic cursor on the diagonal corner of the new display area and press the Enter key, or mouse button, again.

Figure 49: Framing an Area of the Display

The selected positions will be analyzed, and probably repositioned in one axis, to select an area of the existing display that has the same X-Y ratio as the viewing screen. Then a frame window will be redrawn and you will be asked for confirmation that this window is OK. If you do not respond with "Y". you will

Page 85: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Graphics Display 73

PERSONAL APT - Reference Guide

be returned to the Display Command prompt. Each press of an arrow key moves the graphic cursor approximately .25 inches on the screen in the proper direction. By pressing the minus (-) key, you adjust each movement to .05 inches. Pressing the plus (+) key adjusts each movement to .25 inches.

Pressing the Enter key, or left mouse button, twice at the same screen position indicates that position as the center of the new viewing area and you will be asked to enter a scale value to determine the viewing window size. This scale factor represents the true scale of the displayed tool path and geometry.

Figure 50: Framed Section of Display

Printing Your Graphic Display The PAHRG program provides for transferring the current graphics display to a HP LaserJet compatible or Epson compatible dot-matrix printer. This may be done when the Display Command prompt is displayed by pressing the f4 key for LaserJet output or Shift+f4 for dot-matrix output. The LaserJet output is at 100 dots per inch. The printer is assumed to be connected to LPT1. However, if you have more than one printer connected to your computer, you can use one of the public domain utility programs that switch port assignments to make the desired printer appear to be on the LPT1 port.

The program captures whatever resolution is displayed and converts colors to various patterned line output. If you intend to output the graphics to the printer, you should consider using the /BW switch on the command line that executes PAHRG. This would provide a sharper printout but eliminate any contrast in the output lines. The /BW switch is redundant for the CGA and HERC modes.

The width/height ratio for the printed graphics output is seldom the same as the display screen and, therefore, the printed output will be distorted slightly from the way it appears on the graphic screen. If you prefer a more proportional printed output, you can adjust your screen display to be proportionally distorted to accommodate your printer.

Page 86: Personal APT, Reference guide, NC/CNC programming software

74 PERSONAL APT Graphics Display

PERSONAL APT - Reference Guide

(This page is for your notes)

Page 87: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Extended Features Set 75

PERSONAL APT - Reference Guide

Extended Features Set PERSONAL APT has extended features that may not be found in other versions of APT. These features are added to improve programmer productivity. This section of the Reference Guide documents those features. If compatibility with other APT programming systems is important to you, do not use the programming features found in this section. Note: None of the features described in this section are available in the Shareware and Student versions of PERSONAL APT.

Extended Statement Syntax The semi-colon (;) may be used to separate multiple statements on a program line. This allows more program statements to be viewed on the screen simultaneously. For example;

���� �����M����� �����M����� ���$���� �����M����� �����M����� ���$���� �����M����� �����M����� ���$���� �����M����� �����M����� ���$����

The colon (:) may be used to delimit statement labels. For example;

������������������������P����� ��������������

User assigned symbols may exceed six characters in length. However, only the first six characters are checked and must be unique for each symbol (blanks are ignored). Also, the underscore character (_) may be used to delimit a long symbol name to fewer that six characters. The following examples illustrate this feature.

�9-3�-3�,�51.F�3;+<15�.,+*����&!����))�49*�3;+<15�.,+*�-3���������9-3@�-3�,�51.F�3;+<15�.,+*�411�������� ����� ����� ����� ��&!�����$���))�49*���������������������������������))�3;+<15�.,+*����-3��������������������������������������������������������� ���� ���� ���� ��9-3�-3�,�51.F�3;+<15�.,+*�����$�������� ����� ����� ����� ��9-3�-3�����$������))�3,+*�,3�,<1J*�34,4*+*.4����

���� ����� ����� ����� ��9-3@�-3�,�51.F�3;+<15�.,+*�411�������� ����� ����� ����� ��9-3���������������))�3,+*�,3�,<1J*�34,4*+*.4����

Redefinition of Geometry Elements When a group of statements containing a named geometry definition statement is executed more than one time, a diagnostic is generated informing you of a multiple defined symbol. This may be avoided by placing all geometry definition statements outside the section of the program that will be executed more than once. However, sometimes it is desirable to redefine a geometry symbol. The ���� ������ ������ ������ �� statement allows redefinition of geometry symbols as long as the new definition is the same type (����������������������������������������������������������������������������, etc.) as the initial definition of the symbol. ���� ������� ������� ������� ���, the initial default condition, disallows redefinition of geometry symbols. Scalar symbols may be redefined in either mode.

Some Additional Geometry Definitions In addition to the basic geometry definition capabilities, the Extended Features Set provides additional definition formats that may not be compatible with other versions of APT.

Point Definitions

�=1-.4������� �������� �������� �������� �3=1-.4��������))�>3*2>5�41�?1=;�,.149*0�/*2-.-4-1.�

�=1-.4������� �������� �������� �������� �3=1-.4�A����������A����������A����������A���������3?,5,0B�A���������B�A���������B�A���������B�A���������3?,5,0B�))B�))B�))B�))��������������������������A�������������������������������A�������������������������������A�������������������������������A���������3?,5,0B�A���������B�A���������B�A���������B�A���������3?,5,0B�))B�))B�))B�))��������������������������A������������������������A������������������������A������������������������A������������������������������3?,5,0B�A��B�A��B�A��B�A������������������������������3?,5,0BBBB����

�=1-.4������� ��������������� ��������������� ��������������� ��������))�/*2-.*3�49*�=1-.4�,3�49*������,./���J,5>*3�12�49*�?>00*.4�4115�51?,4-1.�

Page 88: Personal APT, Reference guide, NC/CNC programming software

76 PERSONAL APT Extended Features Set

PERSONAL APT - Reference Guide

�=1-.4������� ���������������� ���������������� ���������������� ���������3=1-.4������������3+,40-G��������))�40,.3210+3�,�=1-.4�4901>F9�,�40,.3210+,4-1.�+,40-G�

Line Definitions

�5-.*������ ������� ������� ������� �35-.*��))�>3*2>5�41�?1=;�,.149*0�/*2-.-4-1.����

�����������������������������������������������������������������������������5-.*������ �������������� �������������� �������������� ��������3?,5,0��������������������������������������

Circle Definitions

�?-0?5*�������� ��������� ��������� ��������� �3?-0?5*��))�>3*2>5�41�?1=;�,.149*0�/*2-.-4-1.����

�?-0?5*�������������������� ����� ����� ����� �3?-0?5*������������������������������������3?,5,0���������������������������������������������������

�?-0?5*�������� �888888���������� �888888���������� �888888���������� �888888��3=1-.4��������3=1-.4������������������������������������0,/->3����

�?-0?5*�������� �888888���������� �888888���������� �888888���������� �888888��35-.*��888888����888888����888888����888888��35-.*��888888����888888����888888����888888��35-.*����

Plane Definitions

�=5,.*������� �������� �������� �������� �3=5,.*��))�>3*2>5�41�?1=;�,.149*0�/*2-.-4-1.�

�=5,.*������������������������������������35-.*����

Vector Definitions

�J*?410��D���������D���������D���������D�������3J*?410��))�>3*2>5�41�?1=;�,.149*0�/*2-.-4-1.����

�����������������������������������"��"��"��"��J*?410��D����� ���D����� ���D����� ���D����� �3J*?410��������,.F5*�����"�������"�������"�������"��3J*?410����

Matrix Definitions

�+,40-G����������������������������������������3+,40-G��))�>3*2>5�41�?1=;�,.149*0�/*2-.-4-1.����

Some Additional Functions The following functions may not be available in many other APT systems. If compatibility with other APT systems is important to you, avoid the use of these functions.

�������������������� To find the angle having the specified cosine. �.F5*= ��������������������(?13-.*)

�������������������� To find the angle a line makes with the X-Axis. ���� �.F5*����������������������������#35-.*%�

�������������������� To find the angle of a �������������������� on a�������&�������&�������&�������& ���� �.F5*����������������������������#3?-0?5*��3=1-.4%�

�������������������� To find the angle having the specified sine. �.F5*= ��������������������(3-.*)

�������������������� The arc-tangent function, to find the angle when the tangent is known. �.F5*= �����#�����#�����#�����#4,.F*.4)

���������������� To find an element of the canonical form of a geometric entity. � �������������3=1-.4�

Page 89: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Extended Features Set 77

PERSONAL APT - Reference Guide

� �������������35-.*����� �;+<15������������������������#3?-0?5*��3?,5,0%�� �������������3=5,.*�����������������3+,40-G�� �������������3J*?410�

D���D���D���D���� To find the D (4th) value of a LINE or PLANE canonical form.�� �;+<15��D���D���D���D���#35-.*(3=5,.*%����

���������������� To find the distance between two parallel geometric elements or between a point and another element. �;+<15= ����������������(3=1-.4��3=5,.*) � �;+<15������������������#3=1-.4��3=1-.4%�� �;+<15������������������#3=1-.4��35-.*%�� �;+<15������������������#3=1-.4��3=5,.*%�� �;+<15������������������#35-.*��35-.*%���������#�>34�<*�=,0,55*5%�� �;+<15������������������#3=5,.*��3=5,.*%�#�>34�<*�=,0,55*5%����

������������ To find the dot function of two vectors. �;+<15= ������������(3J*?410��3J*?410)

���������������� To find the integer part of a scalar value. ���� �;+<15������������������������#3?,5,0%�

�D����D����D����D���� To find the I (X component) of a vector from the canonical form of a ����������������, �������������������� or D�����D�����D�����D�����. � �;+<15���D����D����D����D���#35-.*(3=5,.*(3J*?410%�

�D����D����D����D���� To find the J (Y component) of a vector from the canonical form of a ����������������, �������������������� or VECTOR. � �;+<15���D����D����D����D���#35-.*(3=5,.*(3J*?410%�

D���D���D���D���� To find the K (Z component) of a vector from the canonical form of a ����������������, �������������������� or D�����&D�����&D�����&D�����& � �;+<15��D���D���D���D���#35-.*(3=5,.*(3J*?410%�

������������������ To find the length of a vector. � �;+<15����������������������#3J*?410%����

���������������� To find the logarithm of a scalar value. ���� �;+<15������������������������#3?,5,0%�

���� ����� ����� ����� �� To find the logarithm to the base 10 of a scalar value. ���� �;+<15������ ������� ������� ������� �#3?,5,0%����

�������������������� To find the maximum of the specified scalar values.�������� �;+<15���������������������#3?,5,0@��A&&&&&&��3?,5,[email protected]%����

�������������������� To find the minimum of the specified scalar values.�������� �;+<15���������������������#3?,5,0@��A&&&&&&&��3?,5,[email protected]%�

���������������� To find the number of points in a Pattern. �;+<15= ����������������(3=,44*0.)

�������������������� To round a scalar value to the nearest multiple of the programmed increment. ���� �;+<15����������������������������#3?,5,0��-.?0*+*.4%�

�D����D����D����D���� To find the �������������������� (7th) value of the canonical form of a ������������������������. � �;+<15���D����D����D����D���#3?-0?5*%�

�D����D����D����D��� To find the X (1st) value of the canonical form for a �������������������� or ������������������������. � �;+<15���D����D����D����D���#3=1-.4(3?-0?5*%�

�D����D����D����D��� To find the Y (2nd) value of the canonical form for a �������������������� or ������������������������. � �;+<15���D����D����D����D���#3=1-.4(3?-0?5*%�

Page 90: Personal APT, Reference guide, NC/CNC programming software

78 PERSONAL APT Extended Features Set

PERSONAL APT - Reference Guide

�D����D����D����D��� To find the Z (3rd) value of the canonical form for a ��������������������. � �;+<15���D����D����D����D���#3=1-.4%�

The Logical������������ Syntax:����#����#����#����#���&1=*0,410&��&1=*0,410&��&1=*0,410&��&1=*0,410&���%&%&%&%&....remainder of program statement.

This form of the �������� statement causes no branching independently. ���is compared to ���and if the result is true (matches the operator) then, the remainder of the statement is processed. If the result of the comparison is false (does not match the operator), the remainder of that program statement is not processed.

The following operators may be used for the comparison of����to���.

&�H&&�H&&�H&&�H& True if����is equal to��� &��&&��&&��&&��& True if����is not equal to��� &��&&��&&��&&��& True if����is less than��� &��&&��&&��&&��& True if����is less than or equal to��� &��&&��&&��&&��& True if����is greater than��� &��&&��&&��&&��& True if����is greater than or equal to���.

Both����������������and����������������must be scalar values or symbols for scalar values. Any nested computations required to arrive at the value of����������������or����������������must be enclosed in a separate set of parentheses.

� ������� ���� ����� ���P����� ������ ������ ������ ���� �� �������� ���#���#���#���#���&��&&��&&��&&��&� �%���%���%���%������� ���� ���� ���� ���$�������� ����� ������ ������ ������ � ����� �������� ����� ������ ������ ������ � �(��� �������� ����(��������� ������ ������� ������� ������� ������������ ��$P������ ������� ������� ������� � ��(��� �������� ����� ������ ������ ������ ����(��� �������� ����� ����� ����� ����� (������ �������� ����� ����� ����� ����� � ����� �������� ����(������ ���P�������'�&!�������� ���#���#���#���#��&��&&��&&��&&��&�E%������� �%������� �%������� �%������� ���������������� ))))))))�0*+,-./*0�12�=01F0,+�

Computed JUMPTO An expanded form of the ����������������������������statement allows a scalar followed by a list of labels. One of the labels is chosen based on the value of the scalar .. For example;

� ������ ������ ������ ������ �.��5,<*5���5,<*5���5,<*5$�&&&&&&&&&&&&&&&&&&&&&&�

Where . is a scalar value and the remainder of the statement is a list of labels. If the value of . was 3 then 5,<*5$ would be chosen for the transfer. The value of . must be greater than zero but no greater than the number of labels following.

GOSUB-RETURN Another form of looping is the ������������������������statement. This allows repetition of a range of statements without a conditional test (��������). The form of the �������������������� statement is:

���� ����� ������ ������ ������ �����������

This statement causes processing to continue at the statement with the specified label and continue until a ������������������������ statement is processed. When the ����������������������������is encountered, processing will continue with the

Page 91: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Extended Features Set 79

PERSONAL APT - Reference Guide

statement following the �������������������� statement. This functions much the same way as the����������������������������statement in the BASIC language.

Additional Graphics Control Tool path colors and line styles may be controlled by ���������������� statements in the part program. Specifications in the part program are invoked when they are read from the CL file and override those set from the keyboard, when there is a conflict. The ��������������������statement will be reprocessed if it appears within an area of the CL file that is being redrawn, thus, overriding any conflicting settings that may have been made from the keyboard.

The various formats of the ���������������� statement are shown below;

���������������������������������������������������������A���������������B�A���������������B�A���������������B�A���������������B�������� A�����B�A����������������BA�����B�A����������������BA�����B�A����������������BA�����B�A����������������B�������� A�����B�A�������A�������BB���� A�����B�A�������A�������BB���� A�����B�A�������A�������BB���� A�����B�A�������A�������BB�������� A����B�A���������������BA����B�A���������������BA����B�A���������������BA����B�A���������������B����

���� "���"����� "���"����� "���"����� "���"��G���;���I���G���;���I����������������G���;�������G���;��

When six scalar values are programmed following "���""���""���""���" they represent the G(;(I location of diagonally opposing corners of a three dimensional rectangle.

When four scalar values are programmed following�"���"�"���"�"���"�"���", they represent the G(;�values as above and, the z values will be set to -5 and 5 respectively to define the diagonally opposing corners as above.

���� ����������� ����������� ����������� �������+-.-+>+@���+-.-+>+@���A�+-.-+>+@��B�3?,5*����

The first two (or three) values programmed following �������������������� are the location of the lower left corner of the screen in the part coordinate system. The last value following �������������������� is the scale value of the display.

�������������������������������������������������������������������������������� A�������A������B�A����� A�������A������B�A����� A�������A������B�A����� A�������A������B�A�5-.*@34;5*BB�)BB�)BB�)BB�)������������������������������������������������������������������������������������������������������������?1510����

����������������������������������������������������������������������������������A�������A������B�A������A�������A������B�A������A�������A������B�A������A�������A������B�A�5-.*@34;5*BB�)BB�)BB�)BB�)���������������������������������������������������������������������������������������������������������?1510����

��������������������������������������������������������������������������A�����A�����������A�����A�����������A�����A�����������A�����A������B�����B�����B�����B����?1510�)�)�)�)����

������A������������A������������A������������A������<,3*@?1510B�)B�)B�)B�)����

������������������������������������������������������������������������������A����"������B�)������A����"������B�)������A����"������B�)������A����"������B�)����

������A�����������A�����������A�����������A�����=*.@.>+<*0BBBB����

�������������������������������������������� �������� �������� �������� ��������

���� ��������� ��������� ��������� ������))����������������

���� ���� ���� ���� =*.@.>+<*0����

���������������������������������������� �������� �������� �������� ����������������&&&��������&&&��������&&&��������&&& Print present display on Laser Printer ��������&&��������&&��������&&��������&&&&&& Print present display on Dot Matrix Printer

��������������������������������������������������������������������������������"����������������"����������������"����������������"����������������������������������������������������������������������������<,3*@?1510�A������B�������A������B�������A������B�������A������B������?1510��A��A��A��A<,3*@?1510�A�������BB�A�������BB�A�������BB�A�������BB��������������������������������������*5516����������������������������������*5516����������������������������������*5516����������������������������������*5516��������������������������������������0,;����������������������������������0,;����������������������������������0,;����������������������������������0,;�������������������������������������������������������������������������������������������������������"��������"��������"��������"�����

Page 92: Personal APT, Reference guide, NC/CNC programming software

80 PERSONAL APT Extended Features Set

PERSONAL APT - Reference Guide

������������������������������������������������������������������������������������������������������������������������������������������������5-.*@34;5*��A�����B��A�����B��A�����B��A�����B��������������������������������������������������������������������������������������������������������������������������������������������������������������������

Processing External Files Date stored in external files may be processed in PERSONAL APT. Such data might include output from CAD/CAM systems, common initialization statements, standard synonyms, etc.. Such external data is included in the PERSONAL APT part program through the use of the ������������ statement.

The ������������ Statement ����������������provides the ability to read and process part program segments that are stored in other files. The statement syntax is:

��� ��� ��� ��� ���QA=,49B2-5*.,+*A&*G4BQ����

The RA=,49B2-5*.,+*A&*G4BQ�is any valid file name. The path is required only if the file is in a directory other than the PERSONAL APT directory. If the file extension is omitted, an extension of RED is assumed.

The ��� ��� ��� ��� �,.... statement causes a part program segment, stored in a unique file, to be read and processed sequentially. Any valid PERSONAL APT statement may appear in the part program segment except those statements that would cause non-sequential processing. The statements that are not allowed are; ����������������, ��������������������, ��������, ������������������������, ��������������������, ������������, and ������������������������.

Also, ������������������������ and ������������������������ statements are ignored during the processing of the ������������ statement. If an �������� or ���������������� statement is found in the part program segment, processing is terminated and any main program statements following ������������ will not be processed.

This feature allows you to store commonly used program sequences for subsequent use in other part programs without typing them again. One good use of this feature is to store your own list of synonyms in a file and invoke them with the ������������ statement thus: ��� ��� ��� ��� ��S���S. Even though ����������������is a vocabulary word, it may be used as a file name. In this example PERSONAL APT would expect to find a file named SYN.RED in the present directory.

Another good use of this feature is to process APT source statements output by various CAD systems. APT language source programs output by most CAD programs are very basic and contain no looping, branching or���������������������������� statements. Providing these programs adhere to PERSONAL APT syntax, they should process without problem.

The size of the part program segment is unlimited since PERSONAL APT does not attempt to hold the text in memory. A sample program that could be used to process a complete part program segment might be as follows:

����������������������������#;1>0�=01F0,+�-/*.4-2-?,4-1.�-.210+,4-1.%���������� ������������� ������������� ������������� �������$$���� ��� ��� ��� ��S2-5*.,+*&*G4S����

You don't even need to include the �������� or ���������������� statement when they are part of the program being read. Of course, there are many other uses of this capability. Innovative programmers will make frequent use this feature.

NOTE: Nested ����������������statements are not allowed.

Page 93: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Extended Features Set 81

PERSONAL APT - Reference Guide

INPUT The �������������������� statement allows your program to accept scalar values from the keyboard. This feature provides a parametric programming capability that doesn't require editing of the part program for each set of parameters. Only one scalar value may be entered per �������������������� statement. The statement syntax is;

���� ����� ����� ����� ����� S�01+=4@+*33,F*S��3?,5,0@3;+<15����

When an �������������������� statement is encountered in the part program, a window is displayed with the prompt message from the statement. You will then type a scalar value in the input box and press the Enter key. Figure 51 illustrates this feature.

TUNEUP ������������������������ provides the ability to control certain system variables such as significance test values, and others, as follows;

������ �������������� �������������� �������������� ��������.������������������������+����

where;

.= 501 Test value to determine whether intersections, etc. are the same. The default (+) value is .00005. (EPSLN)

.= 502 Test value to determine whether two lines are perpendicular. The default (+) value is .00002. (EPSPRP)

.=503 Test value to determine whether two lines are parallel. The default (+) value is .00002. (EPSPAR)

.=504 Test value for determining whether two elements are tangent. The default (+) value is .00005. (EPSTAN)

.=505 Test value for determining whether two elements should be considered to be contiguous when processing a �������� file. The default (+) value is .001. (EPSHAP)

.=506 The number of elements in a �������������������� to check for interference when offsetting the ��������������������. The higher this number is, the more checking that is done to avoid undercut and therefore, processing slows. The default (+) value is 10. (NLIMIT)

Figure 51: Input From the Keyboard

Page 94: Personal APT, Reference guide, NC/CNC programming software

82 PERSONAL APT Extended Features Set

PERSONAL APT - Reference Guide

SHAPE The �������������������� feature of PERSONAL APT allows you to define a series of line, arc and/or ������������������������ segments which may represent a tool path or a part feature. The �������������������� may then be referenced by its user assigned symbol to offset a cutter path on either side and cut the shape in either direction. This requires a single part program statement regardless of how complex the �������������������� may be.

Advantages in using �������������������� Using �������������������� definitions reduces programming time since horizontal and vertical lines may be entered as simple coordinates instead of the normal ��������������������definition. Also, blend radii may be entered simply as a �������������������� between two �������������������� segments instead of the normal circle definition.

Using �������������������� to control the tool path means that you do not have to write all the normal ��&&& ��&&& ��&&& ��&&& statements and determine whether you go ��������, ���������������� or �������������������� a geometry element. Also, you avoid the problems sometimes encountered when a different programmed path is required for a different size tool diameter or for different ���������������� values. This occurs when one size tool diameter may fit inside a circle and require you to program which intersection you desire, then a larger size tool diameter will not fit in the circle and the choice of intersection is wrong.

Additionally, you can avoid those messy ��������������������-������������ situations that are sometimes required when the tool path is being translated and/or rotated from the position in which the geometry was defined. And, since the motion command to cut even a complex �������������������� can be as simple as "�� �� �� �� 39,=*," it may be preferred, easier and quicker, to write that statement multiple times instead of working out a set of looping statements to repetitively cut the �������������������� in different locations and orientations.

Defining Shapes The syntax of the����������������������������definition statement is as follows;

s1= ��������������������/ ��������������������, start_line, shape_segment, shape_segment,............, ������������������������, finish_line

�������������������� This is the required first word of the normal �������������������� definition and specifies that the following start_line is used to intersect the first shape_segment to establish the beginning of the ��������������������.

start_line specifies the line that intersects the first shape_segment to establish the

beginning point of the ��������������������. This line is also used as a reference for the offset distance and direction which may be specified by the ������������������������word in the �� �� �� �� 39,=* statement.

shape_segment The shape_segment is a portion of either a line or circle that must be

contiguous with the shape_segment that precedes and follows this segment. See the section Shape Segments for an explanation of valid shape_segment descriptions.

������������������������ Specifies that the following finish_line is used to intersect the last

shape_segment to establish the end of the ��������������������. finish_line Specifies the line that intersects the last shape_segment to establish the

ending point of the �����&�����&�����&�����& This line is also used as a reference for the offset distance and direction which may be specified by the ����������������������������word in the �� �� �� �� 39,=* statement.

Page 95: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Extended Features Set 83

PERSONAL APT - Reference Guide

Shape Segments In the following shape_segment examples, if the optional selector is omitted and there are two intersections with the preceding segment, the nearest intersection will be chosen. Some valid shape_segment definitions follow;

[selector,] ��������������������, scalar [selector] ��������������������, scalar [selector,] symbolic_line [selector,] [direction,] symbolic_circle ��������������������, scalar ������������������������, [��������������������, scalar-sline,] point, [��������������������, scalar-sline], point.............. The selector (������������������������, ������������������������, ������������������������ or ������������������������), is used to select one of two possible intersections. The selector is required only when the adjacent shape_segments have more than one intersection (such as non-tangent line and circle segments) and, when used, must be programmed between the non-tangent shape_segments. If a selector is unspecified and there are two intersection points between the two shape_segments, the intersection nearest the end of the previous shape_segment will be chosen.

The direction (��"��"��"��" or ���"���"���"���"), when used, must precede the symbolic_circle shape_segment. If the direction is unspecified, a direction will be chosen that represents the most forward direction from the previous shape_segment direction. The direction must be specified when the previous shape_segment, if extended, would pass through the center of the arc. In this case it is impossible to choose the forward direction.

A blend �������������������� will be decreased if necessary to avoid complete elimination of one of the elements being blended.

A ������������������������ segment must consist of a minimum of three (3) points, or two (2) points and two (2) slopes. Optionally, a �������������������� may be programmed for any and all of the spline points. Unspecified slopes are computed by PERSONAL APT.

The first point in the ������������������������ segment must lie on the preceding line or arc segment. Also, the last point in the ������������������������ segment must lie on the succeeding line or arc segment.

When a �������������������� is cut that has a ������������������������ segment, the ������������������������ segment is approximated by straight line segments that do not deviate from the theoretical spline more than the �������������������� value currently programmed (default is 0.00005). It is possible to overflow the work area space when you program a small �������������������� value. There is space for approximately 1000 line segments for each ����������������������������segment interpolated.

Do not use more points or slopes in your ������������������������ segment than are necessary for the degree of control you need. You will achieve a smoother surface with a sparse set of points. Usually, you should program slopes only for the first and last ������������������������ points, to achieve a smooth transition from the previous and succeeding shape_segments.

Figure 52: Simple SHAPE Definition

Page 96: Personal APT, Reference guide, NC/CNC programming software

84 PERSONAL APT Extended Features Set

PERSONAL APT - Reference Guide

Close attention must be given to the �������������������� and ������������������������ specifications. The Start Line is used both to intersect the first segment to establish the Start Point and to determine the Start Angle that is stored with the ��������������������. The Finish Line is used both to intersect the last segment to establish the Finish Point and to determine the Finish Angle that is stored with the ��������������������. The Start Angle and the Finish Angle are used to determine the start and finish location of the cutter when the �������������������� is cut.

Figure 53: Typical Shape Start and Finish Specifications

Page 97: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Extended Features Set 85

PERSONAL APT - Reference Guide

Using CAD Files to Define a SHAPE A �������������������� may also be defined from a standard �������� file. The �������� file may be created by any CADD program as long as it conforms to the �������� standard, as defined by Autodesk. The definition syntax for defining a shape from a �������� file follows;

3�= ����� ����� ����� ����� ������������SA=,49B2-5*.,+*A*G4BS�A��������A��������A��������A�������.B�A�=1-.4BB�A�=1-.4BB�A�=1-.4BB�A�=1-.4B����

PERSONAL APT will read the �������������������� segments from the ENTITIES section of the �������� file. Only LINE, ARC and POLYLINE entities that are on the specified drawing �������������������� are accepted. A valid POLYLINE must contain only LINE and ARC segments. Each segment must be contiguous with another. That is, the end of a segment (other than the last) must match the beginning of the next segment. Any extraneous elements in the �������� file are sure to cause a processing failure.

Since the ������������������������must have a defined direction for offsetting, etc., you must designate the beginning of the first segment by defining a point (only 1), in the �������� file, at that same position, or close enough to distinguish which segment is intended. Optionally, you may specify a ����� as the last element of the definition to override the point location in the������������ file. PERSONAL APT can then sort the other lines and arcs to form a contiguous �����&�����&�����&�����&

The �������������������� and ����������������������������angles are established perpendicular to the beginning of the first segment and the end of the last segment respectively and cannot be explicitly defined by the user.

Since a �������������������� is used to designate the beginning of the first segment, you cannot have a closed ������������������������in a �������� file. If two segment ends are located an equal distance from the ��������������������, we will be unable to

Figure 54: Defining Shape Segments

Page 98: Personal APT, Reference guide, NC/CNC programming software

86 PERSONAL APT Extended Features Set

PERSONAL APT - Reference Guide

determine which is the first segment. This also means that multiple �������������������� segments (more that two) may not share a common end location, since we have no way to choose between the connecting segments.

Some CADD programs output �������� files that are precise enough for graphic display but do not have the precision necessary for computing tool paths in PERSONAL APT. This does not mean that the number of decimal digits is not sufficient, it means that the segment ends are not properly "snapped" together. PERSONAL APT will accommodate disjointed segment ends if the segment ends are as close together as you designate with the ������������������������ statement (.001 default). Once the segments are sorted into the proper sequence, PERSONAL APT then re-computes all the intersections to accommodate the precision required for tool path computation. The adjustment of segment ends is done in the following manner; 1) Adjacent line segments are adjusted so that the beginning of the second segment of the pair is made identical to the end of the first segment of the pair. 2) When a line segment is adjacent to an arc segment, the line end is adjusted to match the beginning or end of the arc segment, as appropriate. and 3) Adjustment of adjacent arc segments is done by re-computing the intersection of the two arcs and setting the end of the first arc (of the pair) and the beginning of the second arc (of the pair) at the resulting intersection. AN ARC RADIUS WILL NEVER BE ADJUSTED.

If the extension is not specified as part of the filename, �������� will be used.

Once the �������������������� definition is successfully processed, there is no memory of how it was defined. Therefore, cutting the �������������������� is the same regardless of how it was defined.

Defining a �������������������� as a ������������������������

A������������������������ may be defined as a smooth 2-D fitted curve through a series of specified points and optional slopes (see the Shape Segments section). A ������������������������ may be the only segment in a ������������������������ but a ������������������������ will usually blend with other tangent segments on each end.

� ���������� ��������A�������������� ��������A�������������� ��������A�������������� ��������A��������3?,5,0BBBB��=1-.4�&&&&&&&&&&&&&&&&&&&&&&&&&&&&&�

Defining a 3-D ����������������������������������������������������

A �������������������� may be defined as a smooth 3-D fitted curve through a series of specified points. The optional �������������������� parameter for points defining the 3-D ������������������������ cannot be specified. A �������������������� defined in this way is intended only for use in defining �������������������� cross-sections and will not be graphically displayed when plotting.

� ���������� ������������������ ������������������ ������������������ ��������������=1-.4��=1-.4&&&&&&&&&&&&&&&&&&&&&&&&&&&&&�

Page 99: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Extended Features Set 87

PERSONAL APT - Reference Guide

Cutting The �������������������� The syntax of the����������������������������cutting statement is as follows;

[offset_direction,] �� �� �� �� s1 [,��������������������, start_spec [,scalar]] ) [,������������������������, finish_spec [,scalar]] [,��������������������, scalar] ) [,��D�����D�����D�����D���] [,��������������������, scalar][����������������������������, matrix]

offset_direction Use the APT words��������������������������������������������or������������������to specify the tool

offset direction. If this optional parameter is missing, PERSONAL APT uses the modal offset condition.

�������������������� Specifies the offset from the start_line specified in the definition of the���������������������. The start_spec must be one of the APT words���������,��������������or���������. An optional scalar value may be programmed following����������or�������������. ����������or��������������will offset the tool center from the start_line by an amount equal to the programmed tool radius. When the scalar value is programmed, the offset is increased by that amount.

������������������������ Specifies the offset from the finish_line specified in the definition of

the���������������������. The finish_spec must be one of the APT vocabulary words ��������, ������������ or ��������. An optional scalar value may be programmed following�������������or����������������. ����������or��������������will offset the tool center from the finish_line by an amount equal to the programmed tool radius. When the scalar value is programmed, the offset is increased by that amount.

��������������������, scalar Specifies the addition of an automatic blend radius between all non-

tangent intersections. The�������������������������value may be adjusted to avoid completely eliminating an adjacent element from the defined shape when cutting. This specification has no effect on the stored����������������������definition.

��D�����D�����D�����D��� Specifies that the boundary is to be cut in the opposite direction to that

in which it was defined. Note that the offset_direction, start_spec and finish_spec are chosen relative to the����������������������definition direction regardless of how or in what attitude the cutting occurs. That is,����������������������and ������������������������are chosen relative to the stored direction, even though you may use���D�����D�����D�����D����to cut the����������������������in the opposite direction.

��������������������, scalar Specifies the number of times the����������������������is to be cut. The����������������������is cut one time if����������������������is not programmed. This is powerful when used with ������������������������ as described below.

NOTE: When the����������������������������is cut a multiple number of times, the tool path continues from the end of the �������������������� in one position to the beginning of the �������������������� in the next position.

������������������������, matrix Specifies a transformation matrix to apply to the resulting����������������������������tool path. The specified matrix is applied cumulatively to each����������������������������tool path generated from the����������������������������parameter described above.

NOTE: When��������������������������������is programmed with �������������������� greater that one (1), the transformation matrix is not applied the first time the����������������������������is cut.

Page 100: Personal APT, Reference guide, NC/CNC programming software

88 PERSONAL APT Extended Features Set

PERSONAL APT - Reference Guide

Figure 54 illustrates the cutting of a simple������������������������. The default tool condition is the last condition programmed. ������������������������is the default if no tool condition has been programmed. �he default������������������������ and��������������������������������position is������������. The default cutting direction is the same as the����������������������������definition. Program������D������D������D������D����to reverse the cutting direction. Even when���D�������D�������D�������D����is programmed, the tool condition and the ������������������������&��������������������������������positions are specified relative to the����������������������������definition.

Figure 55: Cutting a Simple SHAPE

Page 101: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Extended Features Set 89

PERSONAL APT - Reference Guide

Figure 56 illustrates the defining and cutting of a �������������������� that contains a spline_segment. Notice the Blend Arcs that are generated between �� and the adjacent elements. A Blend Arc is generated at all intersections of a circle with another element, other than tangent intersections. Blend Arcs are also generated for all intersections between lines when the direction change is greater than 90 degrees. The Blend Arcs still produce a theoretical sharp corner, the tool path merely takes the shortest distance around the corner.

Avoiding Undercuts When cutting a SHAPE, PERSONAL APT first creates a pseudo shape that is offset from the defined shape by an amount equal to the cutter radius plus the drive surface thickness in effect at that time, Then, the segments of the pseudo shape are checked for undercutting conditions, When an undercut condition is found, that element is modified or deleted and a new pseudo shape is created. This process continues until no undercut conditions are found.

Figure 56 demonstrates the modified tool path that is generated when undercut conditions are found. Also, shown in Figure 56 is a recommended technique of specifying the START and FINISH lines for a closed shape. This is especially important if you are cutting inside the closed shape.

Figure 56: Shape With a Spline Segment

Page 102: Personal APT, Reference guide, NC/CNC programming software

90 PERSONAL APT Extended Features Set

PERSONAL APT - Reference Guide

Figure 57: Avoiding Undercut Conditions

Page 103: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Extended Features Set 91

PERSONAL APT - Reference Guide

Figure 58 illustrates the technique of cutting inside a closed shape. The corner radii (.125) are generated by the finish cutter radius. However, if the finish cut was to be made with a smaller cutter than the corner radii, the radii could be included in the �������������������� definition with a simple �������������������������. segment for each. Of course, some additional consideration would need to be given to the first and last shape_segments and to the �������������������� and ������������������������ line..

Figure 58: Cutting Inside a Closed Shape

Page 104: Personal APT, Reference guide, NC/CNC programming software

92 PERSONAL APT Extended Features Set

PERSONAL APT - Reference Guide

General Shape Information You may use synonyms, line continuation, subscripts, etc. when defining the ��������������������. The number of shapes you may define in one program is limited only by the available symbol table space. A����������������������������may have as many as 300+ segments. Each ������������������������requires 6*number_of_intersections + 11 locations in the symbol table. ������������������������ points require 2 additional locations each.

You may reuse a����������������������������symbol, providing����� �������� �������� �������� ���has been programmed, but you cannot recover the original symbol table space. Therefore, there is no reason to reuse a����������������������������symbol.

You may use��������������������������������to transform the����������������������������tool path in any way you can define a ������������������������, thus;

����������� ����������� ����������� ����������� 3+,40-G����������� ������� ������� ������� ������

And, you may program the transformation on the cutting statement by using ���������������������������� thus;

������� ������� ������� ������� �����������������������������������3+,40-G����

Also, you may program a part surface plane to control the tool end while cutting the������������������������.

If you encounter a diagnostic when defining or machining a������������������������, there will usually be some additional explanation of the problem in the List File

Page 105: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Extended Features Set 93

PERSONAL APT - Reference Guide

The ����� ���������� ���������� ���������� ����� Feature PERSONAL APT allows you to use defined shapes to specify a finished part shape and a rough material shape for automatic generation of roughing cuts. The material between the finished part shape and the rough material shape is removed by successive lathe cutting passes at the specified depth.

The general form of the ����� ���������� ���������� ���������� ����� statement is;

������������A������B������������A������B������������A������B������������A������B��������� ���������� ���������� ���������� ������A������B��A������B��A������B��A������B�39,=*���������39,=*��A��������A��������A��������A�������?B�������B�������B�������B�������3�)�)�)�)����������������A�����B������������A�����B������������A�����B������������A�����B������������������������������A����B��������������������������A����B��������������������������A����B��������������������������A����B������������������������������A����B��������������������������A����B��������������������������A����B��������������������������A����B����

���������������� specifies that roughing cuts are to be made perpendicular to the spindle centerline

���������������� specifies that roughing cuts are to be made on the external side of the part. ���������������� specifies that roughing cuts are to be made on the internal side of the part. ���������� specifies the finished part shape ������ specifies the rough material shape����������������������������?���� specifies the clearance value (?).������������������������3���� specifies the depth of the cutting passes (3) ������������ inhibits the X motion back to the starting point when the roughing passes are

complete. ������������ inhibits the Y motion back to the starting point when the roughing passes are

complete. ���������������� and ���������������� are actually ignored since the sequence and direction of material removal is determined solely by the relationship of the finished part shape and the rough material shape. Roughing cuts are generated parallel to the spindle centerline unless ��������������������is programmed. ��������������������causes the roughing cuts to be perpendicular to the spindle centerline.

Figure 58 illustrates the roughing cuts for both ���������������� and ���������������� for the same boundaries. The Return path may be modified to inhibit one or both axes with the words ������������ and ������������.

Page 106: Personal APT, Reference guide, NC/CNC programming software

94 PERSONAL APT Extended Features Set

PERSONAL APT - Reference Guide

Figure 59: Lathe Roughing

Page 107: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Extended Features Set 95

PERSONAL APT - Reference Guide

THREAD/AUTO Feature ����� ��������� ��������� ��������� ���� generates a complete threading cycle for lathes. The options provided allow for total control of the output data.

The general syntax of the ����� ��������� ��������� ��������� ���� statement is as follows;

����������������������������������������������������������������������������� ������������A���������� ������������A���������� ������������A���������� ������������A�����((((�����B�������B�������B�������B��/-,+*4*0��34,04��2-.-39��5*,/��/*=49)�����������A��1=4-1.3B�

Required Parameters ��������������������specifies that the thread is an internal thread. ��������������������specifies that the thread is an external thread. ���������������� or �������������������� may be programmed to indicate the cutting direction for the thread. �������������������� is the default direction. .The sign of the scalar programmed with ������������������������ or �������������������� is critical. ���������������� and �������������������� are ignored if ������������������������ is programmed.

/-,+*4*0����������������������������+,:10@/-,�A�+-.10@/-,B�

+,:10@/-,�and�+-.10@/-,�may be specified as a scalar value or a nested or previously defined line. If +-.10@/-, is omitted, the depth for a 60 degree thread form is computed.

34,04����������������������������3?,5,0(35-.*�

�������������������� may be specified as either a scalar value, representing the -x- coordinate, or a nested or previously defined line. If a line is specified, it is used to intersect the +,:10@/-, to obtain the starting point.

2-.-39��������������������������������3?,5,0(35-.*������������������������������������������3?,5,0�����������������������������������3?,5,0�A��������������������������3?,5,0B�

������������������������ may be specified as either a scalar value, representing the -x- coordinate, or a nested or previously defined line. If a line is specified, it is used to intersect the +,:10@/-, to obtain the finishing point and the outfeed at the end of the threading motion will be along the angle of the line to the finishing point.

������������������������ is specified as a scalar value. The sign of the scalar value indicates which direction to thread along the X axis. ������������������������ is equivalent to �������������������� for ���������������� or ���������������� threads. If ���������������� or �������������������� is programmed a positive value will be measured in that direction.

�������������������������3?,5,0 and�A�������������������������3?,5,0B specify the length of the thread along the X and Y axes.

5*,/��������������������34,04@490*,/3(=*0(-.?9A�2-.-39@490*,/3@=*0@-.?9B�������������������������34,04@5*,/�A�2-.-39@5*,/B�

NOTE:�If����������������������is programmed, the lead value is multiplied by the number of starts to determine the lead-per-turn of the thread.�

/*=49���������������������3/*=49�A��2/*=49B������������������������������������.�3/*=49�specifies the depth of the first threading pass. �2/*=49 specifies the depth of the last threading pass before the ������������������������ passes are made. If 2/*=49�is omitted, 2/*=49 is set equal to 3/*=49.

Page 108: Personal APT, Reference guide, NC/CNC programming software

96 PERSONAL APT Extended Features Set

PERSONAL APT - Reference Guide

Figure 60: Typical Threading Operations

Figure 61: The Effect of the Infeed Angle

Page 109: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Extended Features Set 97

PERSONAL APT - Reference Guide

Optional Parameters ��������������������������/*F specifies the infeed angle to threading depth. The default is 0 (zero) degrees which means that the infeed is perpendicular to the spindle center line.

����������������������. specifies the distance from the work piece that the tool is free to move at rapid traverse rate.

"����"����"����"�����.����������������������������((((��D��D��D��D specifies a dwell at the end of the threading pass. . may be specified in seconds (��������������������) or spindle revolutions (��D��D��D��D).

����������������������������((((������������((((���������������� specifies how the motion before and after the threading pass is made. ���������������������������� specifies that the motion before the threading pass is to be made at the modal feed rate. ������������������������������������ specifies that the motion after the threading pass is to be made at the modal feed rate. ������������������������������������ specifies that both the motion before and after the threading pass is to be made at the modal feed rate. The default is for both of these motions to be made at rapid traverse. This optional parameter must not conflict with the ������������������������������������((((������������((((���������������� parameter.

������������������������������������((((������������((((���������������� specifies how the motion before and after the threading pass is made. ������������������������������������ specifies that the motion before the normal threading pass is to be made in the threading mode. �������������������������������������������� specifies that the motion after the normal threading pass is to be made in the threading mode. �������������������������������������������� specifies that both the motion before and after the normal threading pass is to be made in the threading mode. The default is for both of these motions to be made at rapid traverse. This optional parameter must not conflict with ����������������������������((((������������((((����&����&����&����&

������A�������������A�������������A�������������A�������((((��������������������((((����B����B����B����B specifies the suppression of the X axis, the Y axis or both axes of motion during the move back to the tool position when �������������������� was programmed. The default is ����������������.

������������������.�A��/*=49�A��������������������+�A��"���"���"���"�����LBBB� specifies the gaging passes to be made. . specifies the number of gaging passes to make. /*=49 specifies the depth of each of the gaging passes. If /*=49 is not programmed, depth=0 is assumed. �������������������+ specifies that the �������������������� code is to be used for + of the gaging passes. If + is not programmed, ������������ is assumed. "���"���"���"�����L specifies the output of a ���������������� or��������������������������������code when the tool returns to the designated position after each gaging pass. If L =1 a�������������������� code is output, if�L=2 an ����������������������������code is output. If "���"���"���"�����L is not programmed, a ���������������� code is output.

��������������������������.�A��/*=49B specifies the number and depth of spring passes. .�is the number of���������������������������� passes to make and /*=49 is the depth of those passes. The default value for /*=49�is zero.

��������������������������=1-.4A�������������������������((((������������������������((((����B����B����B����B specifies the point to retract to between gaging passes. ������������������������ specifies that the X axis is to retract first, ������������������������ specifies that the Y axis is to retract first. ���������������� tells the system to move the Y axis first if the thread is external and move the X axis first if the thread is internal. The return motion sequence from the retract position is opposite the retract sequence. The default is for both axes to move simultaneously. The default retract point is the tool location when ����� ��������� ��������� ��������� ���� is programmed.

����������������������������������������������������((((������������������������((((���������������� specifies which axis to move first for the initial approach to the first position for infeed to the threading depth. ������������������������ specifies that the X axis is to move first and then the Y axis. ������������������������ specifies that the Y axis is to move first and then the X axis. ���������������� tells the system to move the X axis first if the thread is external and move the Y axis first if the thread is internal. The default is for both axes to move simultaneously.

����������������������. specifies a multiple start thread where . is the number of starts. When �������������������� is programmed, the ������������ value is multiplied by . to determine the lead-per-turn of the thread..

Page 110: Personal APT, Reference guide, NC/CNC programming software

98 PERSONAL APT Extended Features Set

PERSONAL APT - Reference Guide

(This page is for your notes)

Page 111: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Extended Features Set 99

PERSONAL APT - Reference Guide

The BSURF Feature In the late 1950’s, when Numerical Control was in its infancy, The Boeing Company developed a surface generating program for machining airframe and wing shapes in form tools, dies, etc. This program was named ��������������������. PERSONAL APT provides a capability that is generally compatible with, but a subset of, that capability.

�������������������� allows you to define a surface with a series of cross-section descriptions. The surface is then developed by dividing these cross-sections into an equal number of segments, determined by the step-over value, and the tool offset point is computed at each cross-section point. Finally, the computed tool offset points are curve fitted, if specified.

The resulting tool path motion moves across the sections defining the surface. The tool path may be specified as a uni-directional, or a back-and-forth, motion. The offset of each tool path from the previous path is determined by the programmed step-over value.

Figure 62: BSURF Toolpath Example

The general form of the �������������������� series of statements is;

����� ����������������� ����������������� ����������������� ������������4����������������������������3�A���������A���������A���������A��������5BBBB����

���� ������ ������ ������ ������ /-,��?100���)) Use for offsetting the section descriptions ���� ����� ����� ����� ����� -.415�����))�Tolerance for interpolating the section descriptions ���� ������ ������ ������ ������ 1>4415����

���� ����� ����� ����� ����� 20�A�����A�����A�����A����((((���B��������B��������B��������B�����)) For general surface cutting����� ����� ����� ����� ����� 20+�A�����A�����A�����A����((((���B�������B�������B�������B����)) For motion to the first point Note: If you desire rapid motion to the first point, program ���������������� just before the ����� ���������� ���������� ���������� ����� statement. ���� ����� ����� ����� ����� 204020�A�����A�����A�����A����((((���B����B����B����B�)) For motion along the first trace

Page 112: Personal APT, Reference guide, NC/CNC programming software

100 PERSONAL APT Extended Features Set

PERSONAL APT - Reference Guide

���� ����� ����� ����� ����� 3=�A�����A�����A�����A����((((���B��������B��������B��������B�����)) For general surface cutting ���� ����� ����� ����� ����� 2=3=�A�����A�����A�����A����((((���B������B������B������B���)) For motion to the first point ���� ����� ����� ����� ����� 20403=�A�����A�����A�����A����((((���B����B����B����B�)) For motion along the first trace

���� ������ ������ ������ ������ 3=5,.*���������)) Clearance plane for non-cutting motion ���� ������ ������ ������ ������ 0*4>0.@=1-.4���)) Return point for cutter checks, etc.

���� ���� ���� ���� ���� 201+@=1-.4�������)) Start of a cross-section description ���� ��&&& &&&&&&&&&&��������&&& &&&&&&&&&&��������&&& &&&&&&&&&&��������&&& &&&&&&&&&&������)) Motion defining cross-section�������� ������&&&&&&&&&&&&������&&&&&&&&&&&&������&&&&&&&&&&&&������&&&&&&&&&&&&����

���� ���� ���� ���� ���� 201+@=1-.4�������)) Start of a cross-section description ���� ��&&& &&&&&&&&&&��&&& &&&&&&&&&&��&&& &&&&&&&&&&��&&& &&&&&&&&&&�������� ������&&&&&&&&&&&&������&&&&&&&&&&&&������&&&&&&&&&&&&������&&&&&&&&&&&&����

����� ������������������ ������������������ ������������������ �������������)) Generate the cutter path for the surface

��������������������4� specifies the type of cutting passes to generate (See Figure 50) 4=1 Generate straight-line cuts between cross-sections, back & forth. 4=2 Generate spline-fitted cuts between cross-sections, back & forth. 4=101 Generate straight line cuts. All cuts are in the same direction. 4=102 Generate spline-fitted cuts. All cuts are in the same direction.

��������������������3 specifies trace spacing. The spacing will be applied to the longest section within the defined surface and will be adjusted downward to produce an even number of traces. All sections will have the same number of traces.

����������������������������5 specifies the accumulated length of the cut vectors to output before generating a ���������������� for cutter checks.

The surface is machined by a cutter path pattern that is determined by the stepover (������������������.�parameter in the����������������������������statement) and the surface cross section definitions. Following is the procedure used by PERSONAL APT to generate the cutter path output.

Figure 63: Cross Section Descriptions

1. First, find the true contour length of each cross section defined.

2. The length of the longest cross section is divided into an integral number of equal increments that are less than or equal to the stepover, thus; n = INTEGER (longest section length / stepover + 1)

Section #1

Section #2

Section #3Section #4

Section #5

Page 113: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Extended Features Set 101

PERSONAL APT - Reference Guide

Figure 64: Number of Trace Increments

3. If this computation results in an odd number, the number is incremented by one to result in an even number of cutter traces.

Figure 65: Number of Cutter Traces, Equal Stepover

4. Each cross section is then divided in this number of increments. Thus, the stepover on the shortest cross section will be less.

Figure 66: Cutter Locations at Each Section

5. The cutter trace pattern is then completed.

Stepover

Longest Section

1

23 4

5

1

2 34

56

Cutter TracePoints

Page 114: Personal APT, Reference guide, NC/CNC programming software

102 PERSONAL APT Extended Features Set

PERSONAL APT - Reference Guide

Figure 67: Cutter Trace Paths

6. The cutter trace paths are then sorted (for���������������������or��) for the back and forth cutting motion.

Figure 68: Final Cutter Path Points

This method insures an even number of cutter trace paths (that will not exceed the stepover value programmed). Thus, the last cutter path point will always be the last point on the first section description.

For machining the surface, the cutter corner radius is set tangent to each trace path point, Thus; the first and last path will set the cutter corner radius tangent to the first point on each cross section and the last point on each cross section respectively.

Trace #6Trace #5

Trace #4Trace #3

Trace #2Trace #1

Back & ForthCutter Path(Type 2)

Page 115: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Extended Features Set 103

PERSONAL APT - Reference Guide

Figure 69: First & Last Cutter Paths

At the end of the last cutter trace, the cutter will rapid retract to the programmed��������������������������������plane

.

Figure 70: Retract to Clearance Plane

Ball Nosed Cutter

Bull Nosed Cutter

Clearance Plane

Page 116: Personal APT, Reference guide, NC/CNC programming software

104 PERSONAL APT Extended Features Set

PERSONAL APT - Reference Guide

(This page is for your notes)

Page 117: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Extended Features Set 105

PERSONAL APT - Reference Guide

PERSONAL APT Vocabulary Following is a list of PERSONAL APT vocabulary words. The vocabulary is divided between major and minor words.

Note: Words that are shaded are only available with the Extended Feature Set and will produce a diagnostic when used otherwise.

Processor Major Words ���������������������������� ���������������������������� ���������������������������� �����8������8������8������8����� ���������������������������� ������8������8������8������8�������������������������������� ���������������������������� ���������������������������� ����������������8�8�8�8����� ������������������������ �������������������������������������������������������� ���������������������������� ������������������������ ������������������������ ���"����"����"����"����� �������������������������������������������������������� ���������������������������� ���������������������������� ���������������������������� ������������������������ ����������������������������D����D����D����D���� ���������������������������� ���������������������������� ���������������������������� ���������������������������� ���������������������������������8�����8�����8�����8���� ������8������8������8������8���� ���������������������������� ���������������������������� ���������������������������� �������������������������������������������������������� ���������������������������� ���������������������������� ������������������������ ���������������������������� �������������������������������������������������������� ������������������������ ������������������������ ������������������������ �����D�����D�����D�����D���� �������������������������������������������������������� ���������������������������� ���������������������������� ������������������������ ���������������������������� �������������������������������������������������������� ���������������������������� ���������������������������� ���������������������������� ���������������������������� ����������������������������D�����D�����D�����D��������� ��������������������������������*These words are ignored by PERSONAL APT but are required by some APT systems and therefore, are allowed

Minor Words ���������������������������� ���������������������������� ���������������������������� ������������������������ ���������������������������� �������������������������������������������������������� ����"�����"�����"�����"����� ���������������������������� ���������������������������� ���������������������������� �������������������������������������������������������� ���������������������������� �D����D����D����D������� �������������������� ���������������������������� ���������������������������������������������������� �������������������� ���������������������������� ���������������������������� ���������������������������� ���������������������������"����"����"����"��������� ���������������������������� ���������������������������� ���������������������������� ���"�����"�����"�����"������ �������������������������������������������������������� ���������������������������� ������������������������ ���������������������������� ��"�����"�����"�����"������� �������������������������������������������������������� ���������������������������� ���������������������������� ���������������������������� ������������������������ �������������������������������������������������������� ���������������������������� �������������������� ������������������������ ������������������������ ������������������������������������������������ ������������������������ ������������������������ ������������������������ ������������������������ ������������������������������������������������ ������������������������ ������������������������ �������������������� �"��"��"��"������������� ������������������������������������������������ D���D���D���D����������� "����"����"����"�������� ������������������������ ������������������������ ���������������������������������������������������� ������������������������ ���������������������������� ���������������������������� ������������������������ �������������������������������������������������������� ���������������������������� ���������������������������� ���������������������������� ������������������������ ���������������������������������������������������� ���������������������������� ���������������������������� ���������������������������� ���������������������������� ������������������������������D�����D�����D�����D������� ���������������������������� ���������������������������� �D����D����D����D����������� �D����D����D����D����������� D���D���D���D��������������������������������������� ���������������������������� ���������������������������� ������������������������ ���������������������������� �������������������������������������������������������� ���������������������������� ���������������������������� ���������������������������� ���������������������������� ���������������������������� ����� ����� ����� ����� ���������������������������� ��"��"��"��"���������������� ���������������������������� ���������������������������� ���������������������������������������������������� ���������������������������� ���������������������������� ���������������������������� ������������������������ ���������������������������������������������������� ���������������������������� ���������������������������� ���������������������������� ���������������������������� �������������������������������������������������������� ������������������������ ���������������������������� ������������������������ ���������������������������� �������������������������������������������������������� ���������������������������� ���������������������������� ���������������������������� ������������������������ �������������������������������������������������������� ���������������������������� ��"�����"�����"�����"������� ���������������������������� ���������������������������� �������������������������������������������������������� ���������������������������� ���������������������������� ���������������������������� ���������������������������� �������������������������������������������������������� ���������������������������� ���������������������������� ���������������������������� ���������������������������� �������������������������������������������������������� ���������������������������� ���������������������������� ���������������������������� ���������������������������� �������������������������������������������������������� H����H����H����H������������ ������������������������ ������������������������ ���������������������������� �������������������������������������������������������� ���������������������������� ������������������������ ���������������������������� ��D�����D�����D�����D������� �������������������������������������������������������� ���������������������������� ���������������������������� ������������������������ ���������������������������� �������������������������������������������������������� �D����D����D����D����������� �������������������� ���������������������������� ���������������������������� ���������������������������������������������������� ���������������������������� ���������������������������� ���������������������������� ������������������������ �������������������������������������������������������� ���������������������������� ���������������������������� ������������������������ ���������������������������� �����������������������������H�����H�����H�����H�������� ���������������������������� ���������������������������� ���������������������������� ���������������������������� �������������������������������������������������������� ������������������������ ���������������������������� ���������������������������� ���������������������������� �������������������������������������������������������� ���������������������������� ���������������������������� ���������������������������� ���D���D���D���D������������ �������������������������������������������������������� ���������������������������� ���������������������������� ���������������������������� "���"���"���"��������������� "����"����"����"������������"���""���""���""���"���� ���������������������������� ������������������������ ���������������������������� ���������������������������� �����������������������������D����D����D����D����������� ���������������������������� ���������������������������� ��D��"��D��"��D��"��D��"���� ���������������������������� ����������������������������

Page 118: Personal APT, Reference guide, NC/CNC programming software

106 PERSONAL APT Extended Features Set

PERSONAL APT - Reference Guide

������������������������ �����"�����"�����"�����"���� ���������������������������� ���������������������������� ���������������������������� �D����D����D����D��������������������������������������� ���������������������������� ��D����D����D����D��""""���� ���������������������������� ������������������������ �������������������������������������������������������� ������������������������ ���������������������������� �D����D����D����D����������� ���������������������������� ������������������������������D��"��D��"��D��"��D��"��������NOTE: Not all of these words are utilized by PERSONAL APT, Master Mill Postprocessor or Master Lathe Postprocessor. They are included for those who want to write their own postprocessor.

Postprocessor Major Words ������������8���8���8���8������� ���������������������������� ������������������������8888���� ���������������������������� ����������������8�8�8�8����� ������������������������8888���������������������������� ����������������8�8�8�8����� ��������������������8�8�8�8����� ���������������������������� ���������������������������� ������������������������8888�������������������������������� ������������������������8888���� ���������������������������� ���������������������������� ��������������������8888���� ������������������������������������������������ ������������������������ ����������������8�8�8�8����� ������������������������ ������������������������ ����������������������������������������8��8��8��8������ ���������������������������� ��������������������8�8�8�8����� ������������������������ ������������������������8888���� ������������������������8888���������������������������� ������������������������ ���������������������������� ���������������������������� ������������������������ ���D�����D�����D�����D��8888����������������������������8888���� ���������������������������� ������������������������ ���������������������������� ������������������������ �������������������������������������������������������� �D�����D�����D�����D����8888���� ���������������������������� ���"����"����"����"����� ���������������������������� ������������������������������D�����D�����D�����D���8888���� ���������������������������� ���������������������������� ������������������������8888���� ���������������������������� �������������������������������������������������������� ���������������������������� ���������������������������� �����H�����H�����H�����H8888���� ������������������������ �������������������������������������������������������� ��D�����D�����D�����D���8888���� ��"����"����"����"������ ���������������������������� ������������������������8888���� ��������������������8888����������������������������8888���� ���������������������������� ���������������������������� ��H�����H�����H�����H������� ���������������������������� ���"����"����"����"�8888���������������������������� ���������������������������� �"�����"�����"�����"����8888���� ������������������������ ������������������������ ������������������������8888�������������������������������� ���������������������������� ��������������������8888���� D�����D�����D�����D�����8888��������

* These words are not utilized by PERSONAL APT, Master Mill Postprocessor or Master Lathe Postprocessor. They are included for those who want to write their own postprocessor.

Page 119: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Extended Features Set 107

PERSONAL APT - Reference Guide

Synonyms Some words in the APT language appear many times in the normal part program. Many of these words contain 5 or 6 characters and can be time consuming in both writing and typing, and also make source program files larger. In order to reduce writing and typing time, 1 or more character synonyms may be chosen to represent the more often used vocabulary.

Synonyms are established by use of the ������������ statement which consists of a list of synonyms, each followed by the word it is to represent, separated by a comma, thus;

���� ��� ��� ��� ��� �����������������������������������������������������������������������������������������������������������

In selecting synonym names, the same rules apply that are used in symbolic names. A synonym must appear in a ������������ statement before it can be used. Once a synonym has been established as a substitute for a word, it may be used in any place where the word itself might be used. This does not eliminate the original word from usage. The original word and the synonym may be used interchangeably.

Choosing synonyms should be consistent between programmers, so that programs may be easily read and interpreted by others. Because of this, we recommend the following synonyms. PERSONAL APT has a set of pre-programmed synonyms, for commonly used words, that may be invoked with the statement: ��� ����� ����� ����� �������&���

PERSONAL APT Standard Synonyms SYN WORD SYN WORD SYN WORD SYN WORD

������������ ���������������������������� ������������ ���������������������������� ������������ ���������������������������� ������������ ������������������������������������ ������������������������ ������������ ������������������������ �������� ������������������������ ������������ ���"���"���"���"���������������� ������������������������ ������������ ������������������������ ������������ �������������������� ������������ ������������������������������������ ������������������������ �D�D�D�D���� ����D����D����D����D���� ������������ ���������������������������� ������������ �������������������������������� ���������������������������� ������������ ������������������������ ������������ ���������������������������� ������������ ���������������������������������������� ������������������������ ������������ ������������������������ ������������ �������������������� ������������ ������������������������������������ ������������������������ ������������ ������������������������ ������������ ������������������������ D�D�D�D����� D�����D�����D�����D��������������������� ���������������������������� ������������ ���������������������������� ������������ ���������������������������� ������������ ���������������������������������������� ���������������������������� ������������ ����������������������������

����

Note: The PERSONAL APT Extended Features Set provides these synonyms in a file named DMSSYN.RED. These synonyms may be included in your part program with the statement;

���� ��� ������ ������ ������ ��������&������

You may establish your own synonyms or add to the above list by programming another��������������������statement or editing the DMSSYN.RED file or another file of your choosing. Subsequent��������������������statements are accumulative. PERSONAL APT allows a maximum of 100 synonyms.

Page 120: Personal APT, Reference guide, NC/CNC programming software

108 PERSONAL APT Extended Features Set

PERSONAL APT - Reference Guide

(This page is for your notes)

Page 121: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Diagnostics 109

PERSONAL APT - Reference Guide

Processing Diagnostics When the PERSONAL APT processor cannot interpret an input statement or cannot perform the specified operation, a diagnostic is displayed on the screen and printed in the LIST FILE. You are given an option to edit the statement in error or abort processing. If you choose to edit the statement, you will be placed in the Visual Editor with the cursor on the statement in error. You may then edit the statement in error or perform normal program editing.

Following is a list of the diagnostics.

Argument must be a plane: The argument for������������������������and������������������������ must be a plane. Arithmetic operation must be in parens: In all statements except a scalar assignment, arithmetic

operations must be enclosed in parenthesis. BSURF error - See List File for more information: The����������������������������error condition will be

explained in the List File. Bad file name: The file name specified is in error or the file cannot be found. Both DS & CS must be specified: Either the drive_surface or the check_surface has not been

specified. COPY nested too deep: A������������������������statement was encountered while processing another��������������������

statement. Cannot be a vocabulary word: PERSONAL APT is expecting a variable symbol instead of a

vocabulary word. Cannot determine motion direction: Cannot divide by zero: It is invalid to specify a divisor as zero. Cannot establish direction: The���&&& ����&&& ����&&& ����&&& �specified is ambiguous. Cannot have adjacent RADIUS elements: Adjacent������������������������ elements in a����������������������������definition

are not allowed. Cannot have negative values in CUTTER statement: One or more of the values specified in a����

����������������������������statement is negative. Cannot nest MACRO definition: A������������������������ cannot be defined within another������������������������.

��������������������’s may be called from other������������������������’s. Cannot nest READ statements: A��������������������statement was encountered while processing another����

����������������statement. Cannot raise number to a power: You cannot raise a number <=0 to a power. Cannot redefine a MACRO name: A variable symbol assigned to a����������������������������cannot be assigned

to any other element. Cannot redefine symbol: Only variable symbols for scalar values may be redefined unless����

���� ������� ������� ������� ���has been programmed. Cannot use a vocabulary word for statement label: The statement label you have assigned is a

vocabulary word. Concentric circles: The circles are concentric and therefore, no intersection exists. Conflict in Synonyms: The same synonym has been assigned to two different words. Cutter intersects CS: The cutter intersects the check_surface. Therefore, the tool position

modifiers����������������or������������������������may not be used. Cutter intersects DS: The cutter intersects the drive_surface. Therefore, the tool position

modifiers����������������or������������������������may not be used. Cutter is not in correct relation to DS: The cutter must be in contact with the drive surface

specified in the motion statement. Cutter location cannot be computed: The cutter location cannot be computed from the

information given. Perhaps planes or lines are parallel or the tool is on the center of the circle specified and no direction vector has been established.

Cutter radius is <0: The combination of THICK parameters and the programmed cutter diameter produce a negative cutter radius.

Cutter will not fit in POCKET: The programmed cutter diameter is too large to fit into the����������������������������described.

DS & CS must be a line, circle or plane: Only lines, circles or planes may be specified as a drive surface or check surface.

Page 122: Personal APT, Reference guide, NC/CNC programming software

110 PERSONAL APT Diagnostics

PERSONAL APT - Reference Guide

Duplicate input points: Element type mismatch: The symbol specified in an��������������������������������statement is not the correct

geometric type. Elements not parallel in DISTF: When using the������������������������function to obtain the distance

between two lines or between two planes, the lines or planes must be parallel. Error in reading file: A read error has occurred while processing the file. Expected circle element: FINI encountered in MACRO definition: ��������������������may not be programmed within a����������������������������

definition. FINI encountered when searching for a label: The specified label was not found in this

program. FINISH element must be a line: The element following FINISH must be a line. FINISH error: FINISH not programmed: Each����������������������������definition statement must be terminated by a����

����������������������������couplet. ��������������������s defined as����������������(or other) files and those defined as����������������������������s do not require����������������������������.

FROM must precede startup: A������������������������statement must be programmed before a startup (�� �� �� �� ) may be programmed.

GO/ must precede a motion command: A startup (�� �� �� �� ) command must be programmed before�������"���"���"���",������������������������,����������������������������or������������������������.

GOSUB nested too deep: ������������������������statements cannot be nested more that 10 levels. A������������������������ nest level is when a����������������������������statement is encountered within the current����������������������������range.

General SHAPE failure-Call DMS: An error has occurred while processing a����������������������������that was not anticipated. Call DMS for assistance.

Given effective radius is <0: Given pocket finish offset is <0: Given pocketing offset is <0: INDEX table overflow: More than 10������������������������statements have been processed. INDEX number already defined: An������������������������statement has been encountered with the same

number as a previous��������������������. INDEX number not defined: The������������������������number specified in a������������������������statement has not

been defined. INTOF value out of range: The maximum value for �������������������� in PERSONAL APT is 2. Impossible FINISH condition: Impossible PLANE solution: A����������������������������cannot be defined with the information given. Impossible START or FINISH condition: Incorrect number of scalars: The number of scalar values specified is invalid for this statement. Incorrect position for slash: The slash (/) must follow the first major word. Input line too long: Input line cannot exceed the number of characters specified in the

configuration parameters. Input points do not define a polygon: The points used to define a����������������������������must conform to

the rules for describing a regular polygon. Invalid MACRO definition format: Invalid MACRO variable: The variable assigned in a����� ���� ���� ���� 3+,?01�statement is not

contained in the����������������������������definition. Invalid Postprocessor name: Could not find the postprocessor program name specified in the����

����������������������������statement. Invalid READ type specification: The numeric value specifying the type of��������������������to perform

is invalid. Invalid angle for TANF: The angle specified must be <90 degrees and >-90 degrees. Invalid character: PERSONAL APT has encountered an invalid character in a program

statement. Invalid combination in DISTF: The two elements in ���������������� must be one of the following

combinations; (point, point), (point, line), (point, plane), (line, line) or (plane, plane). Invalid delimiter: Major words must be followed by a slash (/) character. Invalid direction specification: The information specified for INDIRP or INDIRV is not valid. Invalid element in statement: Invalid function argument: The argument specified for this function is of the wrong type.

Page 123: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Diagnostics 111

PERSONAL APT - Reference Guide

Invalid geometric type for OBTAIN: The valid geometric types for the OBTAIN statement are; POINT, LINE, CIRCLE, PLANE, VECTOR, and MATRIX.

Invalid modifier: The modifier (������������������������,����������������������������,����������������������������,����������������������������, etc) is invalid for this statement.

Invalid number: Numbers must contain no more than 12 digits plus the decimal point. Invalid operator: Two adjacent operators are not allowed. For example, to multiply a number by

a negative number (a*-b) you will have to enclose the negative number in parentheses (a*(-b)).

Invalid relationship of SHAPEs for roughing: The������������������������s do not share the same end points. Invalid relationship of circles: The circles have an invalid relationship to define a������������������������that is

tangent to both. Invalid specification with AVOID or OMIT: A scalar value must follow��D�����D�����D�����D���or�������������������� in

a����� 3=,4*0.�&&&&&&&����� 3=,4*0.�&&&&&&&����� 3=,4*0.�&&&&&&&����� 3=,4*0.�&&&&&&& statement. Invalid statement following Implied CS: The next motion statement following a motion

statement without an explicit check surface must be����"����"����"����",������������������������,����������������������������or������������������������.

Invalid word, reserved for future enhancements: The word indicated is a standard APT word that is reserved for the future enhancement of PERSONAL APT.

Label not found in MACRO: A label specified on a������������������������,����������������or��������������������������������statement inside a����������������������������definition must be defined in that macro.

Lonely TERMAC: ����������������������������was found outside a����������������������������definition. MACRO calls nested too deep: ������������������������calls can be nested to a maximum of 10 levels. MACRO cannot be redefined: The����������������������������name has already been used and cannot be

redefined. MACRO must have a name: A����������������������������must have a variable symbol assigned. MACRO names cannot be subscripted: A subscript is invalid for a����������������������������name. MACRO not defined. The MACRO name in the CALL statement was not defined. MACRO variable unassigned: One of the����������������������������variables is undefined and has no default

value assigned in the����������������������������definition statement. Max characters in PROMPT (55) exceeded: The length of the prompt text in an ������������������������

statement is too long. The maximum length is 55 characters. Minimum of 3 points for POCKET: A����������������������������definition requires a minimum of three

points. More than one starting point found: Motion direction and CS modifier conflict: The computed tool position is in the opposite

direction from that specified. Motion direction and TOOL-DS relation conflict: The tool is on the wrong side of the

drive_surface to move in the specified direction and maintain the TOOL-DS relationship. Motion direction is incorrect:����The directed motion is not toward the check_surface. Multiple INTOF invalid: An����������������������������value is incorrect when there is only one acceptable

intersection. Multiple segments intersect at same point: Need a scalar variable: A scalar value or expression must be specified for subscripts and array

limits specified in a������D�������D�������D�������D�statement. Need a variable name: Expected a variable name in a������D�������D�������D�������D�statement. Need a vocabulary word: Vocabulary words must alternate with their assigned synonym in a

��� ��� ��� ��� statement. No direction specified for CIRCLE: Cannot determine the direction around the��������������������������������

specified in a����������������������������definition. You must program���"���"���"���" or����"�����"�����"�����"�to specify the direction.

No entities found: No intersection: There is no intersection between the elements in the statement. No starting point found: Non-reserved name: The word delimited with a left parenthesis is not a valid function and array

storage has not been specified in a������D�������D�������D�������D�statement. Non-scalar element invalid: Expected a scalar element in a postprocessor statement or a numeric

function.

Page 124: Personal APT, Reference guide, NC/CNC programming software

112 PERSONAL APT Diagnostics

PERSONAL APT - Reference Guide

Not a statement label: The symbol programmed in a������������������������,����������������or��������������������������������statement is not a label.

Not enough points & slopes to interpolate: The minimum input required for a ������������������������ is 2 points and two slopes or three points without slopes.

Number > points in pattern: The��������������������������������point position specified is greater than the number of points in the defined����������������������������.

Number of output points exceed maximum: The output points generated exceeds the space allocated. This sometimes occurs when cutting a long ������������������������ with a small tolerance.

Number out of rangePPPP Subscript values must be greater than zero and less that 2049. Also, the only value acceptable with the����������������������������statement is 3 (����� ����� ����� ����� $����������������).

Number out of range for function: The numeric value specified for an arithmetic function is invalid, either too small or too large.

One or more feed rate values <=0: Feed Rate values must be greater than zero. Only one point allowed to indicate beginning: Only one point is allowed to select the starting

element of the ��������������������. When more than one point is part of the �������� file, there is no means to choose one of them.

Only one variable allowed per INPUT statement: Each �������������������� statement can display only one prompt and can accept only one variable value.

Override indicator not 0 or 1: PATERN type invalid: The pattern type following������� �������� �������� �������� �is invalid. It must be����������������������������,����

������������,��������������������������������or������������������������. POCKET descriptors must be points: Only points may be used to define a����������������������������

boundary. Part surface must be a PLANE: Only planes may be used as a part surface. Plane is either horizontal or vertical: A non-horizontal and non-vertical plane must be specified

for the������������������������and����������������������������functions. Plane modifier incorrect for current tool position: Plane too near vertical: The plane specified as a part_surface is too near vertical. Point is inside circle: The�3=1-.4�specified in defining a������������������������from a�3=1-.4�tangent to

a���������lies inside the��������. Point type indicator <0 or >3: Point type in a �������������������� statement is invalid. Points are not coincident in XY plane: Points are not coplanar: The points used to define a����������������������������must all lie in the same plane. Polyline can only contain lines and arcs: One or more invalid elements have been found in a

Polyline entity in a �������� file. Postprocessor record stack overflow: Too many postprocessor commands (��������������������,����

��������������������, etc.) have been programmed between the last motion command and its implied check surface.

RADIUS cannot be first element: A �������������������� element cannot be the first element in a �������������������� definition.

RADIUS value in error: READ file not found: The file name specified in a READ statement was not found. Reversal of SHAPE direction: A �������������������� segment is defined as the exact opposite of the previous

segment. Scalar must follow slash for computed JUMPTO: Scalar value <1 or >number of labels: In a computed ������������������������, the scalar value cannot be less

than one nor greater than the number of labels following. Selector conflict: Selector not descriptive: The selector specified cannot be used to select between the two

possible locations. SHAPE elements must be lines or circles: SHAPE segments are not contiguous: SQRTF of negative number: A negative argument in the��H������H������H������H����function is invalid. Specified direction is vertical: The direction specified in an�����D������D������D������D�or����������������������������statement

is vertical and a direction in XY cannot be computed. Specified part surface is at, or near vertical: Vertical, on near vertical, planes cannot be used as

a part surface.

Page 125: Personal APT, Reference guide, NC/CNC programming software

PERSONAL APT Diagnostics 113

PERSONAL APT - Reference Guide

Statement not allowed in READ: Statement labels, ��������������������'s, ������������������������ nor �������� may be programmed in a ������������ file.

Surfaces not tangent: The drive_surface and the check_surface are not tangent. Symbol in CALL is not a MACRO: The����������������������������name specified in a������������������������statement has

not been defined. Symbol must be a scalar: A non-scalar element was encountered where a scalar value was

expected. Symbol must be numeric: A non-numeric symbol was encountered when expecting a numeric

value or symbol. Symbol must be subscripted: The variable name has been included in a������D�������D�������D�������D�statement

and therefore, must have a subscript. Symbol not defined: The programmed symbol has not been defined. Symbol table overflow: The symbol table size does not allow the additional values in this

definition to be stored. Syntax error: The syntax of the statement is incorrect. THICK must be equal for DS & CS: The values programmed for the check surface and drive

surface must be equal. Text buffer overflow: THREAD Error-See the List File for more information: Some parameters required for

threading are missing or incorrect. The List File will contain an explanation of the problem.

Three points are in line: The three points used in a��������������������������������definition are colinear. Too many MACROs: The maximum number of������������������������s that may be defined in one program is

16. Too many characters: The maximum number of characters in a symbol name is six. Too many points in PATERN: The number of points in a single pattern definition must not

exceed 50. Too many scalars for element type: The number of scalar values used to define the element

exceeds the number of elements in the canonical form. Tool not in contact with Part_Surface: The last programmed tool position does not put the tool

in the proper relationship with the new, or modal, part surface. Two adjacent symbols: You may not program two adjacent arithmetic operators. Two possible locations: Two possible locations exist, use an�����D������D������D������D�or����������������������������statement

to select the correct one. Two slopes for one point: There can be only one slope programmed for each ������������������������ point. Unbalanced parens: There must be a right parenthesis symbol for every left parenthesis and vice

versa (except for statement labels ending with a closing paren). Undefined label: A label in a������������������������,����������������or��������������������������������statement has not been defined. Unrecognized statement format: The format of the statement does not conform to any valid

PERSONAL APT statement format. Undercut will occur: The �������������������� cannot be cut with the cutter, and ����������������, programmed

without generating an undercut. Vocabulary overflow: Too many synonyms have been programmed. PERSONAL APT allows a

maximum of 100 synonyms. Word preceding slash is not geometric type: The word preceding the slash (/) must be one of

the following; ��������������������,��������������������,����������������������������,������������������������, D�����D�����D�����D�����,����������������������������,���������������������������� or������������������������.

Zero or negative radius not allowed: A ����� value cannot be <=0

Page 126: Personal APT, Reference guide, NC/CNC programming software

114 PERSONAL APT Diagnostics

PERSONAL APT - Reference Guide

(This page is for your notes)

Page 127: Personal APT, Reference guide, NC/CNC programming software

Postprocessing The CL File 115

PERSONAL APT - Reference Guide

PERSONAL APT Output The PERSONAL APT processor generates two different output files, the LIST file and the CL file. The LIST file contains the part program input statements, in the sequence processed, followed by the computed data generated. Geometry canonical form data is printed after each definition statement, if ����� ������� ������� ������� �� has been programmed, and the computed tool center locations are printed after each motion statement.

The PERSONAL APT List File The PERSONAL APT list file contains each input statement followed by any computer generated data. Thus, each labeled geometry definition is followed by the canonical form of the element that is stored in the symbol table, if the statement ����� ������� ������� ������� �� has been programmed. Each tool motion is followed by the cutter center path data that is written to the CL file.

Each input statement that is processed in its normal sequence or as a result of an ��������, �������������������� or ������������������������ statement is preceded by a blank in column 1 when printed in the LIST file.

Computed data preceded by a "*" indicates dimensional CL data. There are two types of dimensional data written on the CL file, straight line and circular. Straight line cutter motion is identified with "GT" and circular cutter motion is identified with "CIR". The CIR line contains the X and Y coordinates for the circle center, the radius and the direction. The following line contains the �, � and � coordinates of the end point of the circular motion. When a circular drive surface is ������������������������ into a position other than the X-Y plane, or the part surface is not horizontal, PERSONAL APT outputs chordal approximations of the circular path following the CIR line.

The postprocessor output portion of the LIST file is dependent on the particular postprocessor being used. Postprocessors developed by DMS will include each input statement that is processed. Input statements that directly affect the control tape will be followed by the actual tape data generated. The tape data thus listed will contain spaces and decimal points for readability that may not appear in the TAPE file.

The LIST file may be displayed on the console or printed on the printer. The CL file is used as input to the plotting program and postprocessors, and cannot be printed by PERSONAL APT.

Page 128: Personal APT, Reference guide, NC/CNC programming software

116 Postprocessing The CL File

PERSONAL APT - Reference Guide

Sample Part Program Following is a sample PERSONAL APT part program and the LIST file that it generated.

����������������������������������������������������������O���������� ����))����� ����))����� ����))����� ����))����������������������������������������� ������������� ������������� ������������� �������������������� �������� �������� �������� ��!&�!� ������������� ���������������� ���������������� ���������������� ��������������������������������������&!����������� ������� ������� ������� ����������������������������������$!����������� #������� #������� #������� #�������� ������ ������ ������ ��$%�������������%�������������%�������������%��������������������$����� #����� �������$����� #����� �������$����� #����� �������$����� #����� �����������%��������%��������%��������%������������������� ����� ����� ����� �C ����������������������������������������������������� ���� ���� ���� � �$���������� ������ ������ ������ &!����������� ������������ ������������ ������������ ��������#����� �#����� �#����� �#����� � ��� %�%�%�%��$��������������� ����������� ����������� ����������� ��������������������������������������������������������������!��������� ����� ����� ����� ���������" ���" ���" ���" ���������������������������$�������������� ���������� ���������� ���������� $������������� ��������� ��������� ��������� � �$������������������������������������

Explanation of List File Content The asterisk in the first print position denotes information that was generated by PERSONAL APT from the input program. The information following a geometry definition is the canonical form of that element. The information following the startup and motion statements is:

Linear Motion X, Y and Z coordinates of the tool end.

Circular Motion X, Y, Radius and direction of the arc. X-Y represent the arc center and Radius is the tool center radius. The three following numeric values represent the X, Y and Z location of the tool end at the completion of the arc motion.

Page 129: Personal APT, Reference guide, NC/CNC programming software

Postprocessing The CL File 117

PERSONAL APT - Reference Guide

Sample Part Program List File ���������������������������������������������O�����������������(�D*0��&!���� (�1J(7E����P��P����������� ������))����� ������))����� ������))����� ������))�������������������������������������������������������� �������� �������� �������� �������������������� ������ ������ ������ ��!&�!� ����8��� �& � !&�! � �& ���������� ���������������� ���������������� ���������������� ��������������������������������������&!����8��� �& � !&�! � �&! �������� ����� ����� ����� ����������������������������������$!����8�����(&!E$�� �&C�7�� �& � �& ���������� #����� #����� #����� #�������� ������ ������ ������ ��$%�������������%�������������%�������������%�������������������8��� �& � $& � �& �8��� �&��77� �&7E$�� �& � �&�C7E��$����� #����� ����������� #����� ����������� #����� ����������� #����� �����������%��������%��������%��������%��������������8�$� �&7E$�� �&��77� �& � �&$$�������� ����� ����� ����� �C ����������������������������������������������������� ���� ���� ���� � �$����8������& � �& � $& ������� ������ ������ ������ &!����������� ������������ ������������ ������������ ��������#����� �#����� �#����� �#����� � ��� %�%�%�%��$����8���� �&$7!C� $& $�!� �& ������������ ����������� ����������� ����������� ��������������������������������������������������������������!����8��� !&�E!�� �&��C$� �& ������ ����� ����� ����� ������8���� �& � !&�! � �&E! ���"�� �&� �$� $&!��7� �& ����" ���" ���" ���" ���������������������������$����8��� �&�7��� �&��$�� �& ����������� ���������� ���������� ���������� $����8��� �&�7��� �&��$�� $& ������������������������������������� � �$����8��� �& � �& � $& ���������������������������������

Page 130: Personal APT, Reference guide, NC/CNC programming software

118 Postprocessing The CL File

PERSONAL APT - Reference Guide

(This page is for your notes)

Page 131: Personal APT, Reference guide, NC/CNC programming software

Postprocessing The CL File 119

PERSONAL APT - Reference Guide

Postprocessing the CL File MASTER MILL POSTPROCESSOR (MMP) and MASTER LATHE POSTPROCESSOR (MLP) are software modules that are distributed as part of PERSONAL APT. MMP and MLP are distributed as independently executable programs that will process on any IBM PC, or compatible computer, that will run PERSONAL APT. MMP is used to generate machine control data to control mills, punches, etc., where the work piece does not rotate. MLP is used to generate machine control data that controls lathes and other machines where the work piece rotates.

These postprocessors accept a PERSONAL APT Cutter Location (CL) file that specifies machine movement and functions. Also, an OPTION TABLE file specifies various user controlled parameters. With this information, MMP and MLP will produce a List file and a Tape file as output.

The List file contains each part program statement followed by the tape image and other computed data generated from that input statement. The Tape file contains the tape image data that will be punched into a machine control tape or transferred directly to a CNC control..

If a valid OPTION TABLE is not found, postprocessing is aborted.

WARNING: MMP and MLP output is of a general nature and because of this you must assume that the tape image data produced will not be 100% complete/compatible with any particular machine and/or control. Manual editing of the tape image data will probably be required to produce a production tape.

The OPTION TABLE data and the procedure for generating the OPTION TABLE file are discussed later in this document.

Program Philosophy MMP and MLP certainly will not be all things to all people. We didn't even strive for that in designing and developing the programs. We want MMP and MLP to represent an exceptional value for our customers. We believe we have achieved that objective.

There are many configuration options that are under the users control via the configuration programs MMCONFIG and MLCONFIG. Setting these options and use of the inherent flexibility of the APT postprocessor words like ������������������������, ������������������������, ��������������������, ������������������������ and ��H����H����H����H�� give you a very high degree of control over your tape image output.

You must save each OPTION TABLE in its unique file for later use by MMP and MLP. This allows you to develop an OPTION TABLE for each or your unique machines/controls. Thus, you may achieve many variations of output data with a single postprocessor.

Don't forget to tell us about any problems you experience in using MMP and MLP. Also, we welcome your suggestions for enhancements. Look in the back of this guide for our problem reporting procedure.

Option Tables OPTION TABLES are created and edited with the MMCONFIG (MMP) and MLCONFIG (MLP) programs that are distributed with PERSONAL APT. When the MMCONFIG or MLCONFIG program is executed, you are asked for a one or two digit option table number (Figure 1). This number is used to create a unique file name in which to store the OPTION TABLE. MMPOSTnn.OPT or MLPOST.........OPT is the file name that is created, where nn is the number you enter. Also, the same number is used in the ������������������������ statement of the part program to select that OPTION TABLE

The two postprocessors distributed with PERSONAL APT are named ������������������������ and ������������������������. The postprocessor name following ������������������������ in the part program determines which postprocessor program is executed. For example;

������ ������������� ������������� ������������� ������� nn or ������ ������������� ������������� ������������� �������..

Page 132: Personal APT, Reference guide, NC/CNC programming software

120 Postprocessing The CL File

PERSONAL APT - Reference Guide

PERSONAL APT creates a CL file to be used as input to a Postprocessor program. The Postprocessor program may interpret the CL file in its own way and generate whatever output is desired. However, it is normal practice for postprocessors to generate a TAPE (or G-Code) file. The TAPE file will contain the tape image data necessary to control a particular machine tool that will be used to perform machining operations on the part. The postprocessor should also generate a new LIST file that shows some relationship between the tape image data and the part program statement that generated it.

The MMP and MLP postprocessors write a new list file that shows each part program input statement processed, followed by the tape codes generated. This is the recommended practice for any PERSONAL APT postprocessors developed by our users. Following is the output listing from the PERSONAL APT Sample Part Program.

The following information only references vocabulary words that are common to MMPOST and MLPOST.

Page 133: Personal APT, Reference guide, NC/CNC programming software

Postprocessor Vocabulary 121

PERSONAL APT - Reference Guide

Common Postprocessor Vocabulary The following postprocessor words, syntax and definitions are common to both MMP and MLP. Other major words are common but are processed differently in each postprocessor. These words, syntax and definitions will be presented as unique to MMP or MLP.

The function of each command with the associated minor words is briefly explained using the following convention.

Command : Major word with or without Minor entry Minor entry : Minor word or scalar or both Minor word : W1-W2 or [,W1-W2] or ([W1][,W2]) W1-W2 : W1 or W2 is required [,W1-W2] : W1 or W2 is optional ([W1][,W2]) : W1 or W2 is required or both may be used Scalar : Lower case letter requiring a numerical value

Example: ������ ��������� ��������� ��������� ���((((����A�����B����A�����B����A�����B����A�����B

The following combinations may be used.

���� ������ ��������� ��������� ��������� ����������� ������ ��������������� ��������������� ��������������� ����������������� ������ ���������� ���������� ���������� ������������ ������ ���������������� ���������������� ���������������� ��������������

Example: �������������� ��� ��� ��� �2�A�����A�����A�����A����((((���B���B���B���B

The following combinations may be used.

���� ����� �2����� �2����� �2����� �2�������� ����� �2��������� �2��������� �2��������� �2������������ ����� �2��������� �2��������� �2��������� �2��������

Example:

���� ���� �#A���������� �#A���������� �#A���������� �#A������G�����G�BA�������BA�������BA�������BA�������;�����;�BA��������BA��������BA��������BA��������I�����I�B%B%B%B%����

The following combinations may be used.

���� ���� �������G��G����� �������G��G����� �������G��G����� �������G��G��������� ���� �������;��;����� �������;��;����� �������;��;����� �������;��;�����

���� ���� �������I���� �������I���� �������I���� �������I��I���I���I���I��������� ���� �������G��G��������;��;����� �������G��G��������;��;����� �������G��G��������;��;����� �������G��G��������;��;�����

Etc.........

����������������������������

������ ������� ������� ������� �+�A�����BA�����BA�����BA�����B����

This command generates a Miscellaneous Function (M) code with the value +, which may be 0 through 99.

���������������� generates this M code with the next output block. If ���������������� is omitted, the M code will be output in a block by itself.

This command should only be used when a postprocessor command is not available to generate this M code. When used, the postprocessor does not verify the validity of the M code.

Page 134: Personal APT, Reference guide, NC/CNC programming software

122 Postprocessor Vocabulary

PERSONAL APT - Reference Guide

��������������������

���� �A���������� �A���������� �A���������� �A������G�����G�BA��������BA��������BA��������BA��������;�����;�BA��������BA��������BA��������BA��������I�����I�BBBB����

This command modifies the axis limit values for limit checking. G��G�

specify the minimum and maximum for the X axis. ;��;� specify the minimum and maximum for the Y axis.�I��I� specify the minimum and maximum for the Z axis.

These values must be given in machine coordinates.

Example:

���� ���� ����������� ����������� ����������� ������� ����! �������������������������������� ����� ����))������������))������������))������������))�������������������� ���� ���� ���� ���� �������������������������))�D����������������������������))�D����������������������������))�D����������������������������))�D���������

���� �A������ �A������ �A������ �A��((((���B���B���B���B����

This form of the statement turns �������� or ������������ the axis limit checking.

NOTE: Only �������������������� and �������������������� parameters are valid for ������������������������.

����������������������������

������ ����������� ����������� ����������� �����((((����������������((((��������((((����A�����B����A�����B����A�����B����A�����B����

����������������........... Generates an M07 code. ���������������� ........ Generates an M08 code. ������������ ............. Generates an M09 code. �������� ............... Reinstates the last coolant condition.

Initially ���������������� is assumed.

The coolant M-Code is normally output in a block by itself. However, ���������������� may be programmed to include the M code with the next block output. Whenever an M code would normally be output on the next block, the coolant M-Code is still output in a block by itself.

������������������������

�;.4,GP�;.4,GP�;.4,GP�;.4,GP������ ������ ������ ������ �4;=*�����/��2��>.-4��?��1=4-1.�

4;=*: a minor entry to indicate the cycle type /: the / depth of the desired cycle, could be /� through /� for certain cycles. 2: the feed rate value for the cycle Z axis feed >.-4: ������������((((������������ to specify the units of 2 ?: the clearance value for rapid stop (0.1 default) 1=4-1.: optional parameters given in couplet form for certain cycles.

One example of 1=4-1. is ����������������4, where 4 states the dwell time for the cycle. These optional values are modal. It is assumed that the CL points following the �������������������� statement will be defined at the work surface. Therefore, rapid positioning will occur to each CL point plus clearance ?. This is output as the rapid stop point. The feed distance will be the sum of the values ? and I, which is output as the feed stop point. The values ? and I must be positive and relative to the CL point.

The �������������������� command is modal and remains in effect for subsequent CL points until turned off by ����� �������� �������� �������� ��� or a new ����� ����� ����� ����� 4;=* command.

Page 135: Personal APT, Reference guide, NC/CNC programming software

Postprocessor Vocabulary 123

PERSONAL APT - Reference Guide

Figure 71: Basic Cycle Parameters

Figure 71 shows the basic cycle parameters. The depth may be specified as multiple I values in some cycles.

CYCLE Output for ���� Axis The � axis output for canned' cycles may be output in three different ways. You may choose which method to use when creating your OPTION TABLE using the MMCONFIG program. Figure 72 shows the output data for each of the three options when the following part program segment is processed:

���� �������� �������� �������� �������� ����&!�������� ����� ����������� ����������� ����������� ����������������� ����������������������������&��������� ���� ���� ���� ���� ������

Figure 72: Cycle Z Output

Option 1 Z values are absolute � coordinates. Option 2 Z values are the unsigned distance between the R plane and the cycle depth. Option 3 Z values are the signed distance between the R plane and the cycle depth.

Software Cycles Most machine controls provide a G80 series of “canned cycle” codes for different types of operations on holes. These codes may be assigned when the OPTION TABLE is being created with the MMCONFIG program. When no G80 series code exists for a particular cycle, MMP will produce the same result as the G80 series cycle using a combination of rapid and feed motions along the Z axis, with other functions as required.

����� �������� �������� �������� ���((((������������������������ ................Reinstates the last cycle type and parameters. ������������..............Terminates the current cycle type.

The following cycle types are provided in this postprocessor.

Option 1: N235 G81 X1. Y2. R.7 Z-.5 F10. Option 2: N235 G81 X1. Y2. R.7 Z1.2 F10. Option 3: N235 G81 X1. Y2. R.7 Z-1.2 F10.

Page 136: Personal APT, Reference guide, NC/CNC programming software

124 Postprocessor Vocabulary

PERSONAL APT - Reference Guide

����� ���������� ���������� ���������� ���������

�;.4,GP������ ��������;.4,GP������ ��������;.4,GP������ ��������;.4,GP������ �������I��������2��������������������((((��������������������?�A�������A�������A�������A������4BBBB����

1. Advance at rapid rate to clearance ? 2. Advance at feed rate 2 to depth 3. Dwell 4 seconds (2 seconds default). 4. Retract at feed rate 2 to clearance ?

���� ����� ����������� ����������� ����������� �������& �E&!��������������������&��������� ���� ����� ����� ����� �������

������������,4 specifies the dwell time. Initially a value of 2 seconds is assumed.

����� ���������� ���������� ���������� ���������

����� ������������ ������������ ������������ �������/��,��2��������������������((((��������������������?��A��������A��������A��������A������4BBBB����

1. Rapid to clearance ? 2. Advance at feed rate 2 to depth,/ 3. Dwell 4 seconds (2 seconds default) 4. Retract at rapid rate to clearance ?

Depth I is calculated from the required diameter / and included angle ,.

����������������4...... specifies the dwell time. Initially a value of 2 seconds is assumed.

���� ����� ����������� ����������� ����������� ������ &!�7 & �� & ��������������������&��������� ���� ���� ���� ���� �������

Page 137: Personal APT, Reference guide, NC/CNC programming software

Postprocessor Vocabulary 125

PERSONAL APT - Reference Guide

����� ��������� ��������� ��������� ��������

����� ����������� ����������� ����������� ������I��2��������������������((((��������������������?��������������������������������-����

1. Rapid to clearance ? 2. Advance at feed rate 2 to depth - 3. Retract at rapid rate to clearance ? 4. Advance at rapid rate to depth - less ? 5. Repeat steps 2, 3 and 4 until depth I is reached.

���� ����� ���������� ���������� ���������� �����E& ��������������������&��������������������������&!�������� ���� ����� ����� ����� ����������

����� ����������� ����������� ����������� ������I���I���I$��I�&&&&&I.��������2��������������������((((��������������������?����

1. Rapid to clearance ? 2. Advance at feed rate 2 to depth I� 3. Retract at rapid rate to clearance ? 4. Rapid advance to depth z1-? 5. Advance at feed rate 2 to depth I� 6. Repeat 3 through 5 until depth I. is reached. 7. Retract at rapid rate to clearance ?

����� ����������� ����������� ����������� ������&E!���&�!���&�!���&���& �����������������������������&�!����

Figure 73: CYCLE/DEEP Example

����� ���������� ���������� ���������� ���������

����� ������������ ������������ ������������ �������I��2��������������������((((��������������������?����

1. Rapid to clearance ? 2. Advance at feed rate 2 to depth I� 3. Retract at rapid rate to clearance ?

���� ����� ����������� ����������� ����������� �������& ��& ��������������������&��������� ���� ����� ����� ����� �������

����� ���������� ���������� ���������� ���������

Page 138: Personal APT, Reference guide, NC/CNC programming software

126 Postprocessor Vocabulary

PERSONAL APT - Reference Guide

����� ���������� ���������� ���������� �������������I��2��������������������((((��������������������?�A������A������A������A������tBBBB����

1. Rapid to clearance ? 2. Advance at feed rate 2 to depth I� 3. Dwell 4 seconds (2 seconds default) 4. Retract at rapid rate to clearance ?�

����������������4 specifies the dwell time. Initially a value of 2 seconds is assumed.

���� ����� ����������� ����������� ����������� �������& ��&!��������������������&��������� ���� ����� ����� ����� �������

����� ���������� ���������� ���������� ���������

����� ������������ ������������ ������������ �������I��2��������������������((((��������������������?����

1. Rapid to clearance ? 2. Advance at feed rate 2 to depth I 3. Retract at feed rate 2 to clearance ?

���� ����� ����������� ����������� ����������� �������& �C& ��������������������&��������� ���� ������� ������� ������� �������

����� ��������� ��������� ��������� ��������

����� ����������� ����������� ����������� ������I��2��������������������((((��������������������?�A������A������A������A�����4BBBB����

1. Rapid to clearance ? 2. Advance at feed rate 2 to depth I 3. Reverse spindle direction 4. Dwell 4 seconds (2 seconds default) 5. Retract at feed rate 2 to clearance ? 6. Output original spindle direction

���� ����� ���������� ���������� ���������� ������& �#� �$%��������������������&��������� ���� ����� ����� ����� ��������

����������������4 specifies the dwell time. Initially a value of 2 seconds is assumed.

Page 139: Personal APT, Reference guide, NC/CNC programming software

Postprocessor Vocabulary 127

PERSONAL APT - Reference Guide

����� ��������� ��������� ��������� ��������

����� ������������ ������������ ������������ �������I���I���I$��I��&&&&&&I.��2��������������������((((��������������������?����

This statement produces a sequence of alternately feed and rapid traverse advancing motion

1. Rapid to clearance ? 2. Advance at feed rate 2 to depth I� 3. Rapid to I�(? 4. Advance at feed rate f to depth I$ 5. Repeat steps 3 and 4 until zn is reached 6. Rapid retract to clearance ?

����� ������������ ������������ ������������ �������&E���&!���&!��$&!���&���& �����������������������������&�!����

Figure 74: CYCLE/THRU Example

��������������������

���� ����� ����� ����� �.�A���D�A���D�A���D�A���D((((�����B�����B�����B�����B����

This statement produces a dwell block. The value of . is in seconds if �������������������� is programmed or in revolutions if ��D��D��D��D is programmed. If neither �������������������� nor ��D��D��D��D is programmed, . is assumed to be in revolutions if in ������������ mode and in seconds if in ������������ mode.

If in ������������ mode, the dwell time is output in revolutions. If in ������������ mode the dwell time is output in seconds. When ��� ������ ������ ������ ��� switchable option is not available in the control, the dwell time will be converted to the available units.

������������������������

����� �������� �������� �������� ���((((����������������

This statement allows the operator comments to be displayed at the machine/control unit.

�������� enables the [4*G4B� which is in column 7 through 72 of the subsequent ������������������������ commands to be punched. Trailing blanks in�A4*G4B are ignored. The A4*G4B will be enclosed between () and punched with a sequence number and the current �������������������� condition.

Page 140: Personal APT, Reference guide, NC/CNC programming software

128 Postprocessor Vocabulary

PERSONAL APT - Reference Guide

������������

������������

Generates a Miscellaneous Function (M02) code to end the program

����������������������������

����������������������������

Sends the axes to home point at rapid rate.

����������������������������

������������������������A4*G4B����

This statement allows the part programmer to directly output control information to the Tape File.

The [4*G4B from column 7 through 72 of the input statement is punched. Blanks in the A4*G4B will be ignored. The A4*G4B is punched with sequence number and the current �������������������� condition.

This command should be used only when a postprocessor command is not available for the control information. When used, the postprocessor does not verify the validity of the block.

������������������������

����� ������ ������ ������ �.����

This statement causes . units of leader codes to be punched.

����������������������������

������ ������� ������� ������� �AAAA.BBBB����

This statement causes the postprocessor print output to start on a new page when option � is not specified. If option � is specified, the number of lines per page is set to �.

������������������������

����� �������� �������� �������� ���((((����������������

�������� ............... Generates block delete codes for all subsequent tape blocks. ������������ ............. Terminates the above.

����������������������������

����������������������������

Produces the Miscellaneous Function code for optional stop (M01).

����������������������������

����������������������������A4*G4B����

A4*G4B is column 7 through 72 of the ������������������������ statement, which is punched in man-readable form.

This is the only postprocessor statement that is processed prior to the ������������������������ statement in a part program.

Page 141: Personal APT, Reference guide, NC/CNC programming software

Postprocessor Vocabulary 129

PERSONAL APT - Reference Guide

����������������������������The PLABEL statement is used to specify certain options that may be controlled by part program statements.

������ ��������������� ��������������� ��������������� ���������.������������������������+����������������������������������������.�������������������������+�&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&����

������������������������ ......is the start of a four parameter statement segment that causes the option . to be set to +. Multiple options may be specified in one statement. ������������������������ may also be programmed as a part of ������������������������, and ������������ statements.

. ..................Option number to change. + ..................Value to assign to option.

Following is a list of valid options and their function;

Value Range Option Min Max Function

1 0 255 The character used to represent a rewind stop. See Appendix A for ASCII character equivalencies.

201 0 10 The number of spaces to insert between registers in the Tape file.

206 0 1 To specify non-modal circular G codes (G02-G03) 0 = Do not output redundant circular G codes (default). 1 = Output redundant circular G codes.

207 0, 1 To specify non-modal linear X and Y values. 0 = Do not output redundant X and Y values (default). 1 = Output redundant X and Y values.

208 0 1 To specify exclusion of source statements from List File. 0 = Do not output source statements in the List File. 1 = Output source statements in the List File (default).

209 0 2 To specify circular output blocks. 0 = Output chords to approximate arcs. 1 = Output quadrant breakup of arcs. 2 = Output only one block for the arc.

210 0 1 To specify non-modal Linear G code (G00-G01) output. 0 = Do not output redundant Linear G codes (default). 1 = Output redundant Linear G codes.

211 0 1 To specify using IPM mode for������������������������motion (MLP).

212 0 3 To specify if, and how, the offset registers are to be cleared by a ������������������������ command(MLP). 0 = Do not clear the offset registers (default) 1 = Clear the offset registers on the motion to the home position. 2 = Clear the offset registers before the motion to the home position 3 = Clear the offset registers after the motion to the home position.

Page 142: Personal APT, Reference guide, NC/CNC programming software

130 Postprocessor Vocabulary

PERSONAL APT - Reference Guide

����������������������������

��������� ������ ������ ������ �A4*G4B����

This statement allows the programmer comments to appear in the postprocessor List File. The slash character (/) is optional and, if not programmed, ������������������������ must begin in line column one.

A4*G4B is the characters from column 7 through 72 of the input statement, which is printed.

If ����� ������� ������� ������� �� is in effect, then A4*G4B is also punched in the Tape file.

����������������������������

������ ������� ������� ������� �F�A�����B�A�����B�A�����B�A�����B����

���������������� generates the G code with the next output block, replacing the normal G code that would have been output. If ���������������� is omitted, the G code will be output in a block by itself.

This command should only be used when a postprocessor command is not available for this G code. When used, the postprocessor does not verify the validity of the G code.

��������������������

��������������������

Initiates rapid traverse feed for the next motion only. Subsequent motion will be at the programmed feed rate.

���� ��������������������������������������������� ������ �������������� �������������� �������������� �������������� �������� �������� �������� �������� �� �� � �������� �������� �������� �������� �������� �� �� � �������� �$������ �$������ �$������ �$������ �$ �$ � �������� ((((((((((((((((((((((((�������� ����� ����� ����� ����� �� ������������������������ ((((((((((((((((((((�������� ������������������������ ���� ����� ����� ����� �����))���))���))���))���������D������������ ���� ����� ����� ����� �����))���))���))���))��������� ������������ ���� ����� ����� ����� ��$��))���))���))���))��������� ������������ ((((((((((((((((((((�������� ������������������������

������������������������

������������������������

This command generates a restart sequence, which contains the current speed, feed and coolant conditions, with a motion block to the current axis position in absolute mode.

��"����"����"����"������

��"�� ���"�� ���"�� ���"�� �.����

Generates a Miscellaneous Function (M30) code to rewind the tape. . is required by certain APT systems to satisfy the syntax. ��"����"����"����"�� is ignored by this postprocessor.

Page 143: Personal APT, Reference guide, NC/CNC programming software

Postprocessor Vocabulary 131

PERSONAL APT - Reference Guide

��H����H����H����H������

��H�� ���H�� ���H�� ���H�� �L�������A��������A��������A��������A�+B�A�B�A�B�A�B�A�.BBBB����

L is the starting sequence number, + is the incremental value and . causes sequence number output every .th block.

The default condition assumed is L=1, .=1 and +=5.

��H�� ���H�� ���H�� ���H�� �L����

Generates a sequence number L for the next block only.

��H�� ������H�� ������H�� ������H�� ��������

Terminates sequence number output.

��H�� �����H�� �����H�� �����H�� ��� Reinstates the sequence number output to its last condition after a ��H�� ������H�� ������H�� ������H�� ���� request.

��H�� �������H�� �������H�� �������H�� ���������

Generates the next block as an alignment block with the Alignment (Restart) Block (O/H) address for sequence number.

��������������������

��������������������

Generates a Miscellaneous Function code (M00) to stop all functions.

��������������������

���� ����� ����� ����� �A.B����

This command causes a rewind stop code to be output. n is required by certain APT systems to satisfy the syntax. ���������������� is ignored by this postprocessor.

Page 144: Personal APT, Reference guide, NC/CNC programming software

132 Postprocessor Vocabulary

PERSONAL APT - Reference Guide

Unique MMPOST Vocabulary The following postprocessor vocabulary is either unique to MASTER MILL POSTPROCESSOR or is processed differently than in MASTER LATHE POSTPROCESSOR.

����������������������������

������ ���A������ ���A������ ���A������ ���A����BBBB������������������������������������������������

This turns �������� or ������������ a modal condition that causes a -Z- value to be output with circular motion such that a helix will be cut.

����������������������������

������ �A�������B������� �A�������B������� �A�������B������� �A�������B�/����

This statement establishes a clearance plane parallel to the XY plane at a distance / from zero. Subsequent ������������������������ statements will retract the tool tip at rapid rate to this plane.

���� ������ ���������� ���������� ���������� ��������

This statement cancels a previously established clearance plane. Subsequent ������������������������ statements will retract the spindle to the Z axis home position, disregarding the tool length. This is the default condition assumed.

����������������������������

������ �A������ �A������ �A������ �A3=5,.*((((��"B��"B��"B��"B����

This statement defines a clearance surface plane which must be a symbolic or nested definition of the PERSONAL APT geometry for a ��������������������. Subsequent ������ ��"������ ��"������ ��"������ ��" commands will move the tool tip to this plane, at rapid traverse rate.

The distance of this move is calculated from the current position along the tool axis to the plane.

���� ��������� ��������� ��������� ��������� �� � ��!�������� ������ ������ ������ ������ ����������� ���� ���� ���� ���� ������������� ������ ��"������ ��"������ ��"������ ��"����

����������������������������

������ ���������� ���������� ���������� ����((((����������������((((�������/�A�������B�A�����B�������/�A�������B�A�����B�������/�A�������B�A�����B�������/�A�������B�A�����B����

This statement generates a Tool Radius Compensation (D) code. / is the radius compensation register number output as a D code.

������������ ............. Generates Cutter Radius Compensation Off (G40) code. ����������������........... Generates Cutter Radius Compensation Left (G41) code. �������������������� ........ Generates Cutter Radius Compensation Right (G42) code ����������������........... Causes output of the radius compensation codes to be output with the next

block of information.

������ ���������9�A�����B������ ���������9�A�����B������ ���������9�A�����B������ ���������9�A�����B����

This statement generates a Tool Length Compensation (H) code. 9 is the tool length offset register number output as an H code.

����������������........... Causes tool length compensation codes to be output with the next bock of information.

������������������������

����� ������ ������ ������ �2�A�����A�����A�����A����((((���B���B���B���B����

Page 145: Personal APT, Reference guide, NC/CNC programming software

Postprocessor Vocabulary 133

PERSONAL APT - Reference Guide

2 is the feed rate value to be used for subsequent non-rapid motion.

������������ specifies units per minute feed. ����������������specifies units per revolution feed. ������������ and ������������ are modal and initially ������������ is assumed. All feed rates are output as ������������. ������������ is used with the spindle speed to compute the correct ������������.

����� ������������� ������������� ������������� ��������((((����������������

This command generates the Miscellaneous Function (M) codes to control feed rate override options.

�������� ................generates M51 to enable feed rate override. ������������..............generates M50 to disable feed rate override.

��������������������

���� ���� ���� ���� G�;�I����

The initial axes position is given by this command

G�;�I are the coordinates of the axes position in the part coordinate system. Any effective translation will be applied to X, Y and Z to obtain the machine coordinates.

������������������������

����� ������ ������ ������ �4�A���������A���������A���������A��������5BA�������BA�������BA�������BA�������9BA�����BBA�����BBA�����BBA�����B����

This command generates Tool Change (M06) code.

4 ................is the tool number desired. If 4 is omitted, the T code will not be output. ����������������������������5 specifies the tool length, used to adjust the Z axis output. If ����������������������������5 is

omitted, zero tool length is assumed. ������������������������9..generates the number 9 as an Offset Register (H) code. ���������������� ...........does not generate an M06 code. This option may be used if the tool is

already resident in the spindle. For example, the first �������������������� statement to indicate tool length.

����� ������ ������ ������ �4����������������������������

This form of the LOADTL statement causes a T code to be output on the next block. This statement is particularly suited for Punch Press programming where the T code is programmed on a block with the X-Y position.

����������������������������

������ �������������� �������������� �������������� ��������..�A�������A�������A�������A�������(�B�A���������B�A���������B�A���������B�A���������.������������������������+BBBB����

������������������������ .....is the name of the postprocessor. .. ................is the required OPTION TABLE number. ���������������� ...........specifies inch or metric input/output data.

� specifies inch input and inch output.�� � specifies metric input and inch output.�� $ specifies metric input and metric output � specifies inch input and metric output.

������������������������ ......specifies that option . is to be set to the value +. See ������������������������ for information on available options.

������ ��������� ��������� ��������� ���((((����������������

�������� ................Causes the postprocessing to begin, which is the default. ������������..............Terminates postprocessing of all following CL records until �������� is

programmed.

������������������������((��J,-5,<5*�,3�=,04�12�49*��G4*./*/��*,4>0*��*4�1.5;&����

����� ����� ����� ����� 4�

Page 146: Personal APT, Reference guide, NC/CNC programming software

134 Postprocessor Vocabulary

PERSONAL APT - Reference Guide

4.................. Establishes a maximum departure for subsequent linear motion. 4 will be the maximum movement in a single tape block until ����� �������� �������� �������� ��� is programmed. The default value for 4 is 0.25. The default mode is����������������.

����� ������� ������� ������� ��((((����������������

�������� ............... Turns the maximum departure mode ��������. ������������ ............. Turns the maximum departure mode ������������.

����������������

��� ������A����B��� ������A����B��� ������A����B��� ������A����B����

����������������........... Generates the Preparatory Function (G91) code and initiates incremental output.

�������������������������������� Generates the Preparatory Function (G90) code an initializes absolute output, which is the default mode.

��� ���D��������� ���D��������� ���D��������� ���D������((((����������������

�������� ............... Generates Inverse Time feed rate codes for subsequent motion. ������������ ............. Generates ��� ������ ������ ������ ��� feed rate codes for subsequent motion (default).

��� ������������� ������������� ������������� ����������((((������������((((AAAA0��������4BBBB����

�������� ............... Reinstates output of circular data after it has been turned ������������. ������������ ............. Turned off the output of circular data to the CL File and initiates the output

of chords to simulate arcs. Chords are generated within the current �������������������� value

0.................. Specifies the maximum radius for which to generate circular data. 4.................. Specifies the chord height tolerance for generating chords.

����������������������������((��J,-5,<5*�,3�=,04�12�49*��G4*./*/��*,4>0*��*4�1.5;&����

������ ������ ������ ������ 4�

4.................. Establishes a maximum cusp, or scallop, height for nibbling operations with a round punch on a Punch Press. This form of the ������������������������ statement also establishes the nibbling mode as if ������ �������� �������� �������� �� had been programmed. The default value for 4 is 0.005.

������ �������� �������� �������� ��((((����������������

�������� ............... Turns the nibbling mode ��������. ������������ ............. Turns the nibbling mode ������������.

Page 147: Personal APT, Reference guide, NC/CNC programming software

Postprocessor Vocabulary 135

PERSONAL APT - Reference Guide

����������������������������

������ ������� ������� ������� �G��;��I����

This statement relates the PERSONAL APT coordinate system to the machine coordinate system, when the two are not coincidental.

All the CL coordinates after the ������������������������ statement are modified by the ������������������������ values.

G�; and I specify the distance and direction along the APT X,Y and Z axes measured from the part origin to the machine origin.

Initially ������ ������� ������� ������� � � � is assumed.

���� ����������������������������������������������� ������ �������������� �������������� �������������� ������������))��=4-1.��,<5*�O��������� ������ ������� ������� ������� �(� �(� � �������� ((((((((((((((((((((((((((((((((�������� ���� ����� ����� ����� ����������� ((((((((((((((((((((((((((((�������� ������ ������� ������� ������� � � � �������� ���� ����� ����� ����� ����������� ��������������������

������������������������

����� �#A����������� �#A����������� �#A����������� �#A������G9BA�������BA�������BA�������BA�������;9BA��BA��BA��BA����������������������I9B%B%B%B%����

This command modifies the home coordinates from the default values to be used by the ������������������������ statement.

G9 ................Specifies the home coordinate for the X axis. ;9 ................Specifies the home coordinate for the Y axis. I9 ................Specifies the home coordinate for the Z axis.

These values must be given in the machine coordinate system.

���� ����� ������������ ������������ ������������ ��������!����������������������������� �������� ���� ����� ����� ����� ����������� ����������������������������

����� �������� �������� �������� ���((((����������������,��J��,��J��,.��J.�A�����BA�����BA�����BA�����B����

This command provides a variable insert to output selected tape codes to the tape file.

,�(,. are the required letter addresses and must be in the range of 1-26 to indicate the alpha characters A thru Z. The registers designated by ,�(,. must appear in the Register Use-Format list (See Figure 79).

J�(J. are the required values to be output with ,�(,..

The ���������������� option will output these codes with the next block.

If some data already exists for output, the �������� option will combine the �������������������� codes with the existing block and the ������������ option will clear the current block and start a new block for ��������������������.

EXAMPLE: The following command generates a G40 block with the current X and Y coordinates.

���� �������������������������������� ������ �������������� �������������� �������������� ����������������� ((((((((((((((((((((�������� ���� ����� ����� ����� ����������� ������������ ������������� ������������� ������������� ��������������������� ����� ���������� ���������� ���������� �����E�� ����������!������������� ((((((((((((((((�������� ��������������������

Page 148: Personal APT, Reference guide, NC/CNC programming software

136 Postprocessor Vocabulary

PERSONAL APT - Reference Guide

����� ������������� ������������� ������������� ������������

This command will output all the registers in the tape format with their current values in one block. Since the codes are output in one block, validity of the combinations is not checked.

���� �������������������������������� ((((((((((((((((�������� ��H�� �������H�� �������H�� �������H�� ������������� ����� ������������� ������������� ������������� ���������������� ((((((((((((((((((((�������� ��������������������

����� ��������� ��������� ��������� ��������

This command will clear all registers in the tape format without generating any output. This command can be used to repeat any modal tape codes.

���� �������������������������������� ((((((((((((((((�������� ������ ����������� ����������� ����������� ������������� ����� ��������� ��������� ��������� ������������ ������ ������������ ������������ ������������ ������))�������(�������������������������"����������� ���� ����������������������������))��������������������������������������������������� ��������������������

����������������������������

����������������������������

This command retracts the tool tip at rapid rate to the last ������ ������������� ������������� ������������� �������/ value. Advancing moves are diagnosed and ignored.

If ������ ��������� ��������� ��������� ��� is in effect, the spindle is retracted to the home Z coordinate at rapid rate, disregarding the tool length.

����������������������������

������ �������� �������� �������� ����������������������((((��������������������,�A���"�A���"�A���"�A���"((((���"B�A�����B���"B�A�����B���"B�A�����B���"B�A�����B����

This statement generates the rotary table motion block.

������������������������...... specifies an absolute table location , in degrees from 0 to 360. ����������������........... specifies an incremental value of , in degrees from the current table

position and , may be from -360 to +360. ��"��"��"��"-���"���"���"���" .. specifies the direction of table rotation to be clockwise or counter

clockwise. This option is modal and initially ���"���"���"���" is assumed. ����������������........... Causes the table rotation position to be output with the next bock (4-axis

simultaneous motion).

����������������������������

������ ������� ������� ������� �4�A�����B�A�����B�A�����B�A�����B����

This command generates a Tool Number (T) code for tool number 4, to be preselected.

����������������........... Causes the tool number to be output with the next block.

Page 149: Personal APT, Reference guide, NC/CNC programming software

Postprocessor Vocabulary 137

PERSONAL APT - Reference Guide

����������������������������

������ ������� ������� ������� �9�A�����B�A�����B�A�����B�A�����B����

This command generates a Tool Length Offset (H) code to initiate the tool length compensation, with the offset register number 9.

���������������� ...........Causes the length compensation code to be output with the next bock.

����������������

��� ���������� ���������� ���������� �������G�;�I����

This command generates a Tool Preset (G92) block to preset the axes registers. G��; and I are the values output for the X, Y and Z axes in machine coordinates.

������������������������

����� ������ ������ ������ �3�A�����A�����A�����A����((((���B�A���"���B�A���"���B�A���"���B�A���"((((���"B�A����������"B�A����������"B�A����������"B�A�������.BBBB����

Causes an S code block to be output for spindle condition.

3 .................is the required units of speed ������������..............states the value of 3 in revolutions per minute. ������������..............states the value of 3 in surface units per minute. ��"��"��"��"..............generates for clockwise spindle rotation (M03). ���"���"���"���" ...........generates counter clockwise spindle rotation (M04). �������������������� .........selects spindle range number ..

Initially ������������, ������������������������� and ��"��"��"��" are assumed.

����� �������� �������� �������� ���((((����������������

�������� ................Reinstates the last spindle condition. ������������..............Generates the Spindle Off (M05) code.

����� ������������ ������������ ������������ �����������

Generates a Spindle Orient (M19) code for spindle key lock.

Page 150: Personal APT, Reference guide, NC/CNC programming software

138 Postprocessor Vocabulary

PERSONAL APT - Reference Guide

������������������������

������ ������ ������ ������ G�;�I����

This statement relates the machine coordinate system to the APT coordinate system, when the two are not coincidental.

All the CL coordinates after the �������������������� statement are modified by the G��; and�I trans values.

G�; and I specify the distance and direction along the machine X,Y and Z axes measured from the machine origin to the part origin. Initially ����� ����� ����� ����� � � is assumed.

���� ������������������������������������������������� ������ ������������� ������������� ������������� ���������������� ����� ������ ������ ������ �� �� �� �������� ((((((((((((((((((((�������� ���� ����� ����� ����� ����������� ((((((((((((((((((((�������� ����� ������ ������ ������ � � � �������� ���� ����� ����� ����� ����������� ��������������������

����� ����������� ����������� ����������� ������G+����������������������������;+����������������������������I+����������������������������<+����������������������������0+����

This form of the �������������������� statement provides for scaling or reversing the sign of the output values for any axis or the R-Plane.

�������������������� ........ Specifies multiplying the normal X output values by xm. Same for ������������������������������������������������ and ��������������������.

�������������������� ........ Specifies multiplying the normal rapid plane (R) value by 0+. ���� ����� ����������� ����������� ����������� ������(���������������������������������(�����))��9,.F*�3-F.�12���T���

Page 151: Personal APT, Reference guide, NC/CNC programming software

Postprocessor Vocabulary 139

PERSONAL APT - Reference Guide

Sample Mill Postprocessor List File ���������������������������������������D�& ������������������������������������������������O���� (�1J(7!����P��P������������������������������������������������������������������������� ������������� ������������� ������������� ������������������������ ������ ������ ������ ��!&�!� ������� �1-.4� �& � !&�! � �& �������������� �������������� �������������� �������������� ��������������������������������������&!������� �-0?5*� �& � !&�! � �&! ������������ ����� ����� ����� ����������������������������������$!������� �-.*� (&!E$�� �&C�7�� �& � �& �������������� #����� #����� #����� #�������� ������ ������ ������ ��$%�������������%�������������%�������������%���������������������� �1-.4� �& � $& � �& ���� �-.*� (&��77� �&7E$�� �& � �&�C7E������$����� #����� �������$����� #����� �������$����� #����� �������$����� #����� �����������%��������%��������%��������%���������������$� �-.*� �&7E$�� &��77� & � �&$$������������ ����� ����� ����� �C �������������������������������������������������� !���C ������ � �� $��������� ���� ���� ���� � �$������������������� ������ �& ���& ���$& ����������� ������ ������ ������ &!��������������������������� ������� ������� ������� ��������#����� �#����� �#����� �#����� � ��� %�%�%�%��$����� �!�� ��&$7!C��$& $�!��$&�� � �� &���������������� ����������� ����������� ����������� ��������������������������������������������������������������!����� �!�� ���!&�E!����&��C$���!&���������� ����� ����� ����� ������� $ �� ���!&E!��!&�!���&��!&�!�� $!���&� �$��$&!��7���&��!&�!��������" ���" ���" ���" ���������������������������$����� � �� ���&�7�����&��$������������������������� ������� ������� ������� $����� �!�� ��$&�������������� ��������� ��������� ��������� � �$����� ! �� &�� &������������������ !!�� ��������������������������

Page 152: Personal APT, Reference guide, NC/CNC programming software

140 Postprocessor Vocabulary

PERSONAL APT - Reference Guide

Unique MLPOST Vocabulary The following postprocessor vocabulary is either unique to MASTER LATHE POSTPROCESSOR or is processed differently than in MASTER MILL POSTPROCESSOR.

Software Cycles MASTER LATHE POSTPROCESSOR does not accommodate the G80 series cycle codes. However, MASTER LATHE POSTPROCESSOR will produce the same result as the G80 series cycle using a combination of rapid and feed motions along the Z axis, with other functions as required.

������������������������

����� ������ ������ ������ �2�A�����A�����A�����A����((((���B�A�����������B�A�����������B�A�����������B�A��������/BBBB����

2 is the feed rate value to be used for subsequent non-rapid motion.

������������ specifies units per minute feed. ������������ specifies units per revolution feed. ������������ and ������������ are modal and initially ������������ is assumed.

�������������������� specifies that deceleration to feed rate is to occur / units before the end point is reached, for all subsequent ���������������� motion.

����� ������������ ������������ ������������ �������((((����������������

This command generates the Miscellaneous Function (M) codes to control feed rate override options.

�������� .............. generates M51 to enable feed rate override. ������������ ............. generates M50 to disable feed rate override.

��������������������

���� ���� ���� ���� G�;�

The initial axes position is given by this command

G�; are the coordinates of the axes position in the part coordinate system. Any effective translation will be applied to X and Y to obtain the machine coordinates.

����������������������������

�������A ������A���"�������A ������A���"�������A ������A���"�������A ������A���"((((����BB����BB����BB����BB����

This statement causes a rapid motion to the home position. The optional parameters may be used to control if and how the tool offsets are cancelled, thus;

�������������������� ........ When �������������������� is programmed, a T code to clear the offset registers will be output with the motion block to the home position.

��"��"��"��" ............. When ��������"��������"��������"��������" is programmed, a T code block to clear the offset registers will be output before the motion block to the home position.

����������������........... When ���������������������������������������� is programmed, a T code block to clear the offset registers will be output in a block after the motion block to the home position.

Page 153: Personal APT, Reference guide, NC/CNC programming software

Postprocessor Vocabulary 141

PERSONAL APT - Reference Guide

����������������������������

������ �������������� �������������� �������������� ��������..�A�������A�������A�������A�������(�B�A���������B�A���������B�A���������B�A���������.������������������������+BBBB����

������������������������ .....is the name of the postprocessor. .. ................is the required OPTION TABLE number. ���������������� ...........specifies inch or metric input/output data.

� specifies inch input and inch output.�� � specifies metric input and inch output.�� $ specifies metric input and metric output � specifies inch input and metric output.

������������������������ ......specifies that option . is to be set to the value +. See ������������������������ for information on available options.

������ ��������� ��������� ��������� ���((((����������������

�������� ................Causes the postprocessing to begin, which is the default. ������������..............Terminates postprocessing of all following CL records until �������� is

programmed.

����������������

��� ������������ ������������ ������������ ���������((((����������������

���������������������������� ....Generates the Preparatory Function (G91) code and initiates incremental output

��������������������������������..Generates the Preparatory Function (G90) code and initializes absolute output, which is the default mode.

��� ���D���������� ���D���������� ���D���������� ���D�������((((����������������

�������� ................Generates Inverse Time feed rate codes for subsequent motion. ������������..............Generates ��� ������ ������ ������ ��� feed rate codes for subsequent motion (default).

��� ��������A����� ��������A����� ��������A����� ��������A��((((���B���B���B���B�������� ��A�������.�B��A�������.�B��A�������.�B��A�������.�B����

�������� ................Generates diameter values for -X- axis output for subsequent motion. ������������..............Generates radius values for -X- axis output for subsequent motion (Default). ���������������� ...........Specifies that �������������������� applies to -X- or -I- values only. . ..................=1, -X- values only. =2, -I- values only.

��� �������A����� �������A����� �������A����� �������A��((((���B���B���B���B�������� A�������A�������A�������A�������.�B�B�B�B����

�������� ................Generates inverse -X- axis output for subsequent motion. ������������..............Generates normal -X- axis output for subsequent motion. ���������������� ...........Specifies that ���������������� applies to -X- or -I- values only. . ..................=1, -X- values only. =2, -I- values only.

��� ������������� ������������� ������������� ����������((((����������������

�������� ................Has the effect of ���������������� and reversing G-codes for clockwise and counter-clockwise arcs. This will produce the same output as ������ #������ ������������� #������ ������������� #������ ������������� #������ ���������%%%% where �� is the spindle center line and gage lengths are zero.

������������..............Cancels the effect of ��� ������������ ������������ ������������ ���������.

Page 154: Personal APT, Reference guide, NC/CNC programming software

142 Postprocessor Vocabulary

PERSONAL APT - Reference Guide

����������������������������

������ ������ ������ ������ ����G��;����

This statement relates the PERSONALAPT coordinate system to the machine coordinate system, when the two are not coincidental.

All the CL coordinates after the ������������������������ statement are modified by the ������������������������ values.

G and ; specify the distance and direction along the APT X and Y axes measured from the part origin to the machine origin.

Initially ������ ������ ������ ������ � / is assumed.

Example:

���� ����������������������������������������������� ������ �������������� �������������� �������������� ������������))��=4-1.��,<5*�O��������� ������ ������� ������� ������� �(� �� ����� ((((((((((((((((((((((((((((((((�������� ���� ����� ����� ����� ����������� ((((((((((((((((((((((((((((�������� ������ ������� ������� ������� � � �������� ���� ����� ����� ����� ����������� ��������������������

������������������������

����� �A����B������ �A����B������ �A����B������ �A����B����A������A������A������A�����((((����������������������BBBB����

This command establishes the lead for subsequent �������������������� commands.

������������ ............. Specifies that the value of �� is the number of threads per unit. Without ������������, �� specifies the lead per revolution.

����������������((((������������ Specifies a variable lead thread. �� is the value for the secondary lead. �� is specified in the same units as ��

������������������������

����� �#A����������� �#A����������� �#A����������� �#A������G9B�A�������B�A�������B�A�������B�A�������I9B%B%B%B%����

This command modifies the home coordinates from the default values to be used by the ������������������������ statement.

G9 ............... Specifies the home coordinate for the X axis. I9 ............... Specifies the home coordinate for the Z axis.

These values must be given in the machine coordinate system.

Example:

���� ����� ������������ ������������ ������������ ��������!����������������������������� �������� ���� ����� ����� ����� ����������� ����������������������������

����� �������� �������� �������� ���((((����������������,��J��,��J��,.��J.A�����BA�����BA�����BA�����B����

This command provides a variable insert to output selected tape codes to the tape file.

,�(,. are the required letter addresses and must be in the range of 1-26 to indicate the alpha characters A thru Z. The registers designated by ,�(,. must appear in the Register Use-Format list (See Figure 6).

J�(J. are the required values to be output with ,�(,..

The ���������������� option will output these codes with the next block.

If some data already exists for output, the �������� option will combine the �������������������� codes with the existing block and the ������������ option will clear the current block and start a new block for ��������������������.

Page 155: Personal APT, Reference guide, NC/CNC programming software

Postprocessor Vocabulary 143

PERSONAL APT - Reference Guide

EXAMPLE: The following command generates a G40 block with the current X and Y coordinates.

Example:

���� �������������������������������� ������ �������������� �������������� �������������� ����������������� ((((((((((((((((((((�������� ���� ����� ����� ����� ����������� ������������ ������������� ������������� ������������� ��������������������� ����� ��������� ��������� ��������� ��������E�� ������������������������ ((((((((((((((((�������� ��������������������

����� ������������� ������������� ������������� ������������

This command will output all the registers in the tape format with their current values in one block. Since the codes are output in one block, validity of the combinations is not checked.

Example:

���� �������������������������������� ((((((((((((((((�������� ��H�� �������H�� �������H�� �������H�� ������������� ����� ������������� ������������� ������������� ���������������� ((((((((((((((((((((�������� ��������������������

����� ��������� ��������� ��������� ��������

This command will clear all registers in the tape format without generating any output. This command can be used to repeat any modal tape codes.

Example:

���� �������������������������������� ((((((((((((((((�������� ������ ����������� ����������� ����������� ������������� ����� ��������� ��������� ��������� ������������ ������������ ���������� ���������� ���������� ������))�������(�������������"����������� ���� ))�))�))�))������������������������������������ ��������������������

������������������������

������A������A������A������A �A�����B��A�����B��A�����B��A�����B�.BBBB����

This command generates a program restart sequence of tape codes specified by the value of .. The value for . is selected by adding all the option for the tape codes you want generated. The values for . and the resulting output follows;

. = 1 Restate the current position with the linear motion G-code

. = 2 Restates Tool Code and Offset registers

. = 4, Restates Spindle speed direction and range.

. = 8, Restates the feed rate and feed mode

. = 16, Restates the coolant condition

. = 64, outputs an alignment block

Thus, if .=6, the Tool codes, Offsets, Spindle direction and Spindle range will be output (4+2).

Page 156: Personal APT, Reference guide, NC/CNC programming software

144 Postprocessor Vocabulary

PERSONAL APT - Reference Guide

����������������������������

������ ������� ������� ������� �4�A�����B�A�����B�A�����B�A�����B����

This command generates a T code to change the offset number t, without indexing the turret. If ���������������� is programmed, the T code is output with the next block.

����������������

��� ���������� ���������� ���������� �������G����;����

This command generates a Tool Preset (G92) block to preset the axes registers. x and y are the values output for the Z and X axes in machine coordinates.

������������������������

����� ������ ������ ������ �3�A�����A�����A�����A����((((���B�A���"���B�A���"���B�A���"���B�A���"((((���"B�A�����������"B�A�����������"B�A�����������"B�A��������.B�)B�)B�)B�)�������� A��������A��������A��������A��������+B�A�������B�A�������B�A�������B�A�������0B�A������B�A������B�A������B�A������-BBBB����

This statement causes an S code block to be output for spindle condition.

3.................. is the required units of speed. ������������ ............. states the value of s in revolutions per minute. ������������ ............. states the value of s in surface units per minute. ��"��"��"��" ............. generates clockwise spindle rotation (M03) ���"���"���"���"........... generates counter clockwise spindle rotation (M04) �������������������� ........ selects spindle range number n. ������������������������...... specifies the maximum ������������ to allow, regardless of the maximum speed in

the range. ��������������������...... specifies the radius to use in computing spindle speed when ������������ is

programmed. ����������������........... specifies the increment of spindle speed change allow before a new S code

is output. When the value of i is less that 1.0, i is considered to be a percentage of the last S code output. Values of i greater or equal to 1.0 are considered as actual ������������ increments.

Initially ������������, ��������������������,1, ��"��"��"��" and ����������������,.15 are assumed.

����� �������� �������� �������� ���((((����������������

�������� ............... Reinstates the last spindle condition. ������������ &&&&&&&&&&&&&&&&&&&&Generates the Spindle Off (M05) code.

����� ��������� ��������� ��������� ��������

Generates a Spindle Orient (M19) code for spindle key lock.

������������������������

����� �������� �������� �������� ���((((��������������������

This statement causes the next motion block to be output as a thread block.

NOTE: A �������������������� statement must have been programmed prior to the �������������������� statement to establish the required lead. Also, the spindle should be in ������������ mode or locked at one speed.

Page 157: Personal APT, Reference guide, NC/CNC programming software

Postprocessor Vocabulary 145

PERSONAL APT - Reference Guide

������������������������

������ ������ ������ ������ G��;����

This statement relates the machine coordinate system to the APT coordinate system, when the two are not coincidental.

All the CL coordinates after the �������������������� statement are modified by the trans values.

x and y specify the distance and direction along the machine Z and X axes measured from the machine origin to the part origin. Initially ��������������������/ � is assumed.

Example:

���� ������������������������������������������������� ������ ������������� ������������� ������������� ���������������� ����� ������ ������ ������ �� �� �������� ((((((((((((((((((((�������� ���� ����� ����� ����� ����������� ((((((((((((((((((((�������� ����� ������ ������ ������ � � �������� ���� ����� ����� ����� ����������� ��������������������

����������������������������

������ ������� ������� ������� �=����2����G����;�A���"�A���"�A���"�A���"((((���"B�A�����������"B�A�����������"B�A�����������"B�A��������N>,/�B�B�B�B����

This statement generates a T code for turret indexing and assumes that the subsequent CL coordinates refer to the tool tip.

= ..................is the turret face number. 2 ..................is the offset register number. G�;..............are the gage lengths measured from the turret reference point along the APT

XY axes. ��"��"��"��"..............generates M23 for clockwise indexing. ���"���"���"���" ...........generates M24 for counter clockwise indexing. �������������������� ......specifies output of the tool point instead of tool nose radius center. The

adjustment is the programmed cutter radius. Therefore, ������������������������/. must be programmed before the ������������������������ statement. The FROM statement must follow the ������������������������ statement for correct output when in incremental mode or when using axis preset values.

N>,/ ...........Specifies the quadrant selection for the tool point. Normal turning operations will be quadrant 3 and quadrant 2 will be used for normal boring operations.

If you change the cutter radius, you must program a new ������������������������ statement to change the output adjustment.

������ �������A����B������ �������A����B������ �������A����B������ �������A����B����

This statement specifies that the subsequent CL coordinates refer to the turret reference point instead of the tool tip.

������������..............specifies that CL coordinates refer to the tool tip, which is the initial default condition.

������ ������ ������ ������ ����

This statement generates a T00 code and assumes that subsequent CL coordinates refer to the turret reference point.

Page 158: Personal APT, Reference guide, NC/CNC programming software

146 Postprocessor Vocabulary

PERSONAL APT - Reference Guide

(This page is for your notes)

Page 159: Personal APT, Reference guide, NC/CNC programming software

Configuring Postprocessors 147

PERSONAL APT - Reference Guide

Configuring Postprocessors MASTER MILL POSTPROCESSOR (MMP) and MASTER LATHE POSTPROCESSOR (MLP) are discrete software modules that are distributed as part of PERSONAL APT. MMP and MLP are distributed as independently executable programs that will process on any IBM PC, or compatible computer, that will run PERSONAL APT. MMP is used to generate machine control data to control mills, punches, etc., where the work piece does not rotate. MLP is used to generate machine control data to control lathes and other machines where the work piece rotates.

These postprocessors accept a PERSONAL APT Cutter Location (CL) file which specifies machine movement and functions. The output from MMP and MLP is a List File and a Tape File. The List File is a listing of all the input statements processed, followed by any computed data and G-Code data generated by that statement. The Tape File contains the G-Code data that is either punched into a control tape or transmitted directly to the machine control unit.

The information generated by MMP and MLP may be customized to a large extent through the use of Postprocessor Words ������������������������, ������������������������, ������������, ������������������������, ��������������������,���H�����H�����H�����H�� and the “��������������������������������.������������������������+U code snippit optionally programmed on the ������������������������, ������������ or ������������������������ statements.

Also, an OPTION TABLE file may be generated, by the respective configuration programs MMCONFIG and MLCONFIG, which specifies various user controlled parameters

The List file contains each part program statement followed by the tape image and other computed data generated from that input statement. The Tape file contains the tape image data that will be punched into a machine control tape or transferred directly to a CNC control..

If a valid OPTION TABLE is not found, the default parameters are used.

WARNING: MMP and MLP output is of a general nature and because of this you must assume that the tape image data produced will not be 100% complete/compatible with any particular machine and/or control. Manual editing of the tape image data will probably be required to produce a production tape. Such editing may be done with any ASCII text editor.

The OPTION TABLE data and the procedure for generating the OPTION TABLE file are discussed later in this document.

Program Philosophy MMP and MLP certainly will not be all things to all people. We didn't even strive for that in designing and developing the programs. We want MMP and MLP to represent an exceptional value for our customers. We believe we have achieved that objective.

There are many configuration options that are under the users control via the configuration programs MMCONFIG and MLCONFIG. Setting these options and use of the inherent flexibility of the APT postprocessor words like ������������������������, ������������������������, ��������������������, ������������������������ and ��H����H����H����H�� give you a very high degree of control over your tape image output.

You must save each OPTION TABLE in its unique file for later use by MMP and MLP. This allows you to develop an OPTION TABLE for each or your unique machines/controls. Thus, you may achieve many variations of output data with a single postprocessor.

Don't forget to tell us about any problems you experience in using MMP and MLP. Also, we welcome your suggestions for enhancements. Look in the back of this guide for our problem reporting procedure.

Option Tables OPTION TABLES are created and edited with the MMCONFIG (MMP) and MLCONFIG (MLP) programs that are distributed with PERSONAL APT. When the MMCONFIG or MLCONFIG program is executed, you are asked for a one or two digit option table number (Figure ). This number is used to create a unique file name in which to store the OPTION TABLE. MMPOSTnn.OPT or MLPOST.........OPT is the

Page 160: Personal APT, Reference guide, NC/CNC programming software

148 Configuring Postprocessors

PERSONAL APT - Reference Guide

file name that is created, where nn is the number you enter. Also, the same number is used in the ������������������������ statement of the part program to select that OPTION TABLE

The two postprocessors distributed with PERSONAL APT are named ������������������������ and ������������������������. The postprocessor name following ������������������������ in the part program determines which postprocessor program is executed. For example;

������ �������������� �������������� �������������� ��������..����� or ������ ������������� ������������� ������������� �������..����

PERSONAL APT creates a CL file to be used as input to a Postprocessor program. The Postprocessor program may interpret the CL file in its own way and generate whatever output is desired. However, it is normal practice for postprocessors to generate a TAPE (or G-Code) file. The TAPE file will contain the tape image data necessary to control a particular machine tool that will be used to perform machining operations on the part. The postprocessor should also generate a new LIST file that shows some relationship between the tape image data and the part program statement that generated it.

The MMP and MLP postprocessors write a new list file that shows each part program input statement processed, followed by the tape codes generated. This is the recommended practice for any PERSONAL APT postprocessors developed by our users. Following is the output listing from the PERSONAL APT Sample Part Program.

Page 161: Personal APT, Reference guide, NC/CNC programming software

Configuring Master Mill Postprocessor 149

PERSONAL APT - Reference Guide

Configuring MMPOST Option Tables OPTION TABLES for MMPOST are created and edited with the MMCONFIG.EXE program. When the MMCONFIG program is executed, you are asked for a one or two digit option table number (Figure 75). This number is used to create a unique file name on which to store the OPTION TABLE. MMPOSTnn.OPT is the file name that is created, where nn is the number you enter. Also, the same number is used in the MACHIN statement of the part program to select that OPTION TABLE.

Example: ������ ��������������� ��������������� ��������������� ���������..�

Figure 75: The MMP Option Table Number

If there is an existing OPTION TABLE file with the generated name, that data will be read for editing. If there is no OPTION TABLE with that number, the default options, as subsequently defined in this document, will be read.

Following the input of the OPTION TABLE number, menus are displayed that show what options may be controlled by the user. In most cases a help line is displayed on the bottom line of the screen to aid new users in their selections, etc..

MMP Edit Menu The Edit Menu (Figure 76) shows a list of option categories. A particular category or command may be highlighted by using the up/down cursor keys. As each category is highlighted in the Edit Menu, the corresponding detail items in that category are displayed in an edit box to the right of the Edit Menu.

Figure 76: The MMP Edit Menu

Page 162: Personal APT, Reference guide, NC/CNC programming software

150 Configuring Master Mill Postprocessor

PERSONAL APT - Reference Guide

To edit the default options, simply press the Enter key. This causes the edit box to be highlighted and places you in the edit mode. You may move the highlighted cursor from item to item by use of the up/down/right/left arrow keys. Editing of the option is done by simply over-typing the desired data. When you are finished editing the items, pressing Enter will return control to the Edit Menu.

Some categories have multiple groups of detail items that are displayed in individual edit boxes. Pressing the Enter key when finished editing in the first edit box will cause the additional option items to be displayed for editing. Only by pressing Enter when the last edit box of the category is active will you be returned to the Edit Menu.

Updated information is permanently saved by selecting the SAVE option from the main menu. If you attempt to exit without saving your changes, you will be given an opportunity to save the changes at that time. The program assumes that changes have been made if you enter the edit mode, whether any changes were made or not.

MMP Edit Menu Selections Following is some discussion of the Edit Menu selections and the functions controlled by each.

MMP Identification This is a text line (60 chars max) that is printed with the page header information to identify the uniqueness of this postprocessor output data. Figure 77 shows the default identification line.

Figure 77: MMP Identification Line

Figure 78 shows the display when Identification is highlighted on the Edit Menu and you press the Enter key. Notice that the double line box has shifted to the edit box and the identification line being edited. When editing is finished, simply press the Enter key again to return control to the Edit Menu..

Figure 78: MMP-Editing Identification Line

Page 163: Personal APT, Reference guide, NC/CNC programming software

Configuring Master Mill Postprocessor 151

PERSONAL APT - Reference Guide

MMP Register Sequence This is a text line that specifies all the allowable register identifiers for this OPTION TABLE (Figure 79). The sequence of the register identifiers control the sequence they will be punched in the tape. No register identifier may appear more than once in this text line. Register identifiers may be any printing character and must appear in this list to be available for editing in subsequent Edit Boxes.

Figure 79: MMP-Register Sequence

MMP Register Use-Format This Edit Box allows you to specify the register identifier for each tape function and the format of the data for that register.

Register The character that will identify that function. LD Leading Digits (before the decimal point) in the number. TD Trailing Digits (after the decimal point) in the number LZ Leading Zeros, Y for leading zeros; N if not. TZ Trailing Zeros, Y for trailing zeros; N if not. Dec Decimal Point, Y for decimal point; N if not.

Figure 80: MMP-Register Use & Formats

After you have elected to edit these specifications by highlighting the Reg Use-Format option in the Edit Menu, and pressing the Enter key, you may use the cursor keys to highlight the particular option you wish to change. You edit the options by over-typing the options shown with the new information. Blank out anything that is not applicable to your machine/control.

Validity of the information you type is checked when you attempt to move to another option. You will hear a beep to indicate invalid information and the option will remain highlighted until you enter valid information.

Page 164: Personal APT, Reference guide, NC/CNC programming software

152 Configuring Master Mill Postprocessor

PERSONAL APT - Reference Guide

Remember any characters used for register identification must appear in the Register Sequence text line.

MMP G-Codes This Edit Box allows you to specify the numeric codes to be used for the various Preparatory Functions (G-Codes). Blank out any codes that are not applicable to your machine/control.

Figure 81: MMP-G-Code Options

MMP M-Codes This Edit Box allows you to specify the numeric codes to be used for the various Miscellaneous Functions (M-Codes). Blank out any codes that are not applicable to your machine/control.

Figure 82: MMP-M-Code Options

MMP �������������������� G-Codes Selecting this option from the Edit Menu (Figure 83) allows you to specify the G80 series “canned cycle” codes that are correct for your machine/control. Blank out any codes that are not applicable.

Page 165: Personal APT, Reference guide, NC/CNC programming software

Configuring Master Mill Postprocessor 153

PERSONAL APT - Reference Guide

Figure 83: MMP-Cycle G-Code Options

Even though your machine control may not have a G80 series cycle code available for all the functions, MASTER MILL POSTPROCESSOR will still process those �������������������� statements. When there is no G80 series code assigned to a function, the same result is achieved by outputting a series of rapid and feed controlled motions along the Z axis, together with any other functions required. Note that ����� ��������� ��������� ��������� ���� is not listed. It is a software cycle only.

Figure 84: MMP-Cycle Z Output Control

MMP Z Output for Cycles Figure 84 shows three choices for specifying the Z register output for “canned cycles”. This Edit Box is presented when you exit the Cycle G-Codes Edit Box.

There is more discussion on this subject in the CYCLE portion of this guide.

MMP Linear Motion This selection allows you to specify the minimum and maximum axes travel rates in both rapid traverse and feed controlled modes.

Page 166: Personal APT, Reference guide, NC/CNC programming software

154 Configuring Master Mill Postprocessor

PERSONAL APT - Reference Guide

Figure 85: MMP-Linear Motion Options

Feed rate codes will be computed so that the travel rate limits are not violated regardless of the feed rate mode. Usually a feed rate code is not output for rapid traverse motion, however the Rapid Rates will be used in computing tape cycle time.

MMP Circular Motion This Edit Box allows you to specify the content of the X-Y axes (I-J) for circular blocks in both absolute and incremental modes.

There are five options in absolute mode and five options in incremental mode.

Figure 86: MMP-Absolute Mode Circular Motion

These options are explained in more detail on the following page. Figure 88 shows a circular motion tool path with dimensional data relating to arc center and tool locations. A sample tape block is shown to represent the arc motion output data for each option in both absolute and incremental modes.

Page 167: Personal APT, Reference guide, NC/CNC programming software

Configuring Master Mill Postprocessor 155

PERSONAL APT - Reference Guide

Figure 87: MMP-Incremental Mode Circular Motion

Figure 88: MMP-Circle Interpolation Drawing

MMP Circular Motion Tape Data The following sample tape blocks are shown using decimal point programming, with leading and trailing zeros suppressed, for easier reading. The sample tape blocks represent the output generated by programming the counter-clockwise circular motion shown in Figure 88. Spaces have been added between register address letters to improve readability.

Absolute Mode Option 1. N235 G03 X6.263 Y4.91 I1.449 J.388 Option 2. N235 G03 X6.263 Y4.91 I1.449 J.388 Option 3. N235 G03 X6.263 Y4.91 I-1.449 J-.388 Option 4. N235 G03 X6.263 Y4.91 I5.75 J3.5 Option 5. N235 G03 X6.263 Y4.91 R1.5 Incremental Mode Option 1. N235 G03 X-.927 Y1.022 I1.449 J.388 Option 2. N235 G03 X-.927 Y1.022 I1.449 J.388 Option 3. N235 G03 X-.927 Y1.022 I-1.449 J-.388 Option 4. N235 G03 X-.927 Y1.0221 I15.75 J3.5 Option 5. N235 G03 X-.927 Y1.0221 R1.5

Page 168: Personal APT, Reference guide, NC/CNC programming software

156 Configuring Master Mill Postprocessor

PERSONAL APT - Reference Guide

MMP Spindle Speeds This selection allows you to control the type of spindle speed output that is generated. Direct ������������ coding allows you to specify the Minimum and maximum speeds in each of three speed ranges. Non-Direct ������������ coding allows you to specify sixty (60) codes and corresponding speeds in each of three ranges. The speeds must be entered in ascending order and the first and last entry in each range will be assumed as the minimum and maximum ������������ in that range.

Figure 89: MMP-Spindle Speed Control

Figure 90: MMP-Direct RPM Spindle Coding

Figure 91: MMP-Selecting Coded Spindle Speeds

Page 169: Personal APT, Reference guide, NC/CNC programming software

Configuring Master Mill Postprocessor 157

PERSONAL APT - Reference Guide

Figure 92: MMP-Specifying Coded Spindle Speeds

MMP Miscellaneous This selection allows you to control some miscellaneous options that don't fit well into other categories.

Figure 93: MMP-Miscellaneous Options

MMP Save This selection causes the data, in its present form, to be written to disk. The OPTION TABLE, if it existed before, is updated and the old configuration is destroyed.

MMP New Option Number This selection allows you to assign a new OPTION TABLE number to the present data. This is intended to allow you to load existing OPTION TABLES, modify them and then save them as different OPTION TABLES. The old OPTION TABLE is not deleted.

MMP Exit to PERAPT This selection ends the OPTION TABLE editing session and returns to the PERAPT window. You will be asked if you want to save the changes if you entered an Edit Box since the last SAVE command.

Page 170: Personal APT, Reference guide, NC/CNC programming software

158 Configuring Master Mill Postprocessor

PERSONAL APT - Reference Guide

MMP Default Options The following options are initialized as shown when creating a new OPTION TABLE.

Tape Format: N4 G2 X+2.4 Y+2.4 R+2.4 Z+2.4 B3.3 I+2.4 J+2.4 K+2.4 F3.3 S4 T5 D2 H2 M2

Machine Statement:������� ��������������� ��������������� ��������������� ��������

Default Output Codes and relative APT commands:

N ��H�� ��H�� ��H�� ��H�� (((((((( G00 Linear motion (Rapid Traverse) G01 Linear motion (Feed Controlled) G02 Circular motion commands���"���"���"���" G03 Circular motion commands ���"���"���"���" G04 ���� ���� ���� ���� (((((((( G40 ������ ��������� ��������� ��������� ��� G41 ������ ���������� ���������� ���������� ���� G42 ������ ����������� ����������� ����������� ����� G80 ����� �������� �������� �������� ��� G81 ����� ��������� ��������� ��������� ����,----- G82 ����� ��������� ��������� ��������� ����,------- G83 ����� �������� �������� �������� ���,----- G84 ����� �������� �������� �������� ���,---- G85 ����� ��������� ��������� ��������� ����,---- G86 ����� ��������� ��������� ��������� ����,---- G88 ����� ��������� ��������� ��������� ����,---- XYZ Motion commands IJ Circular motion F ����� ����� ����� ����� (((((((((((( S ����� ����� ����� ����� (((((((((((((((((((((((( T ����� ����� ����� ����� (((((((((((((((( B ������ ������ ������ ������ (((((((((((( D ������ ������ ������ ������ (((((((((((( H ����� ����� ����� ����� ((((((((((((������������������������,--- or ������ ������������� ������������� ������������� �������(((((((((((( M00 ���������������� M01 ������������������������ M02 �������� M03 ����� ����� ����� ����� ((((((((((((���"���"���"���" M04 ����� ����� ����� ����� ((((((((((((����"����"����"����" M05 ����� �������� �������� �������� ��� M06 ����� ����� ����� ����� (((((((((((( M07 ������ ������ ������ ������ ���������������� M08 ������ ���������� ���������� ���������� ���� M09 ������ ��������� ��������� ��������� ��� M19 ����� �������� �������� �������� ��� M30 ��"�� ��"�� ��"�� ��"�� (((((((( M41 ����� ����� ����� ����� ((((((((((((���������������������������������M42 ����� ����� ����� ����� ((((((((((((����������������������������� M43 ����� ����� ����� ����� ((((((((((((����������������������������$ M50 ����� ������������ ������������ ������������ �����������M51 ����� ����������� ����������� ����������� ������ Block delete ����� ����� ����� ����� ((((((((((((

Default Machine/Control Parameters:

Page 171: Personal APT, Reference guide, NC/CNC programming software

Configuring Master Mill Postprocessor 159

PERSONAL APT - Reference Guide

Number of axes .............................. : 3 xyz Axes limit minimum....................... : -30.0, -20.0, 0.0 Axes limit maximum ...................... : 30.0, 20.0, 30.0 Home point ..................................... : 30.0, 20.0, 30.0 Rapid feed rate................................ : 200.0, 200.0, 200.0 Feed rate minimum......................... : 0.001, 0.001, 0.001 Feed rate maximum ........................ : 200.0, 200.0, 200.0 Machine resolution ......................... : 0.0001 Maximum linear departure ............ : 99.9999 Maximum circle radius................... : 99.9999 Spindle type.................................... : direct RPM Spindle speed minimum ................. : 10.0, 400.0, 1000.0 Spindle speed maximum................. : 1200.0, 2400.0, 3600.0 Dwell minimum in seconds ............ : 0.1 Dwell maximum in seconds ........... : 99.99 Maximum sequence number........... : 9999 Rotary table type ............................ : contouring table Rotary table rapid rate .................... : 1440.0 Rotary table feed rate minimum ..... : 0.1 Rotary table feed rate maximum .... : 200.0

DISCUSSION: Under rapid traverse mode, this postprocessor splits a given XYZ move into two blocks (if that option is selected) as follows: When the spindle is advancing, output XY block then Z. When the spindle is retracting, output Z block then XY.

UNITS: This postprocessor accepts inch or metric CL data and generates inch output.

When the input and output units are the same, the postprocessor performs no conversion. When they are different, it performs the conversion between inch and metric.

This postprocessor assumes that CL coordinates and the unit related values in postprocessor commands are expressed in inches for inch input and in millimeters for metric input. The unit related minor words are assumed to be:

Word Inch Input Metric Input ������������ Inches per minute Millimeters per minute ������������ Inches per revolution Millimeters per revolution

NOTE: The default values and examples in this manual denote inch units unless otherwise specified.

Page 172: Personal APT, Reference guide, NC/CNC programming software

160 Configuring Master Lathe Postprocessor

PERSONAL APT - Reference Guide

Configuring MLPOST Option Tables OPTION TABLES for MLPOST are created and edited with the MLCONFIG.EXE program that is distributed with the MASTER LATHE POSTPROCESSOR software. When the MLCONFIG program is executed, you are asked for a one or two digit option table number (Figure 94). This number is used to create a unique file name on which to store the OPTION TABLE. MLPOSTnn.OPT is the file name that is created, where nn is the number you enter. Also, the same number is used in the��������������������������statement of the part program to select that OPTION TABLE.

Figure 94: The MLP Option Table Number

Example: ������ ��������������� ��������������� ��������������� ���������..�����

If there is an existing OPTION TABLE file with the generated name, that data will be read for editing. If there is no OPTION TABLE with that number, the default options, as subsequently defined in this document, will be read.

Following the input of the OPTION TABLE number, menus are displayed that show what options may be controlled by the user. In most cases a help line is displayed on the bottom line of the screen to aid new users in their selections, etc..

MLP Edit Menu The Edit Menu (Figure 95) shows a list of option categories. A particular category or command may be highlighted by using the up/down cursor keys. As each category is highlighted in the Edit Menu, the corresponding detail items in that category are displayed in an edit box to the right of the Edit Menu.

Page 173: Personal APT, Reference guide, NC/CNC programming software

Configuring Master Lathe Postprocessor 161

PERSONAL APT - Reference Guide

Figure 95: The MLP Edit Menu

To edit the default options, simply press the Enter key. This causes the edit box to be highlighted and places you in the edit mode. You may move the highlighted cursor from item to item by use of the arrow keys. Editing of the option is done by simply over-typing the desired data. When you are finished editing the items, pressing Enter will return control to the Edit Menu.

Some categories have multiple groups of items that are displayed in individual edit boxes. Pressing the Enter key when you are finished editing in the first edit box will display additional option items for editing. Only by pressing Enter when the last edit box of the category is active will you be returned to the Edit Menu.

Updated information is permanently saved by selecting the SAVE option from the main menu. If you attempt to exit without saving your changes, you will have an opportunity to save the changes at that time. The program assumes that changes have been made if you enter the edit mode, whether any changes were made or not.

MLP edit Menu Selections Following is some discussion of each of the Edit Menu selections and the functions controlled by each.

Figure 96: MLP-Identification Line

MLP IDENTIFICATION This is a text line (60 chars max) that is printed with the page header information to identify the uniqueness of this postprocessor output data. Figure 96 shows the default identification line. Figure 97 shows the Identification highlighted on the Edit Menu and you press the Enter key. Notice that the double line box has shifted to the edit box and the identification line being edited. Simply press the Enter key to return control to the Edit Menu.

Page 174: Personal APT, Reference guide, NC/CNC programming software

162 Configuring Master Lathe Postprocessor

PERSONAL APT - Reference Guide

Figure 97: MLP-Editing the Identification Line

MLP Register Sequence This is a text line that specifies all the allowable register identifiers for this OPTION TABLE (Figure 98). The sequence of the register identifiers control the sequence they will be punched in the tape. No register identifier may appear more than once in this text line. Register identifiers may be any printing character and must appear in this list to be available for editing in subsequent Edit Boxes.

Figure 98: MLP-Register Sequence

MLP Special Codes

Figure 99: MLP-Special Characters

Page 175: Personal APT, Reference guide, NC/CNC programming software

Configuring Master Lathe Postprocessor 163

PERSONAL APT - Reference Guide

MLP Register Use-Format This Edit Box allows you to specify the register identifier for each tape function and the format of the data for that register.

Register The character that will identify that function. LD Leading Digits (before the decimal point) in the number. TD Trailing Digits (after the decimal point) in the number LZ Leading Zeros, Y for leading zeros; N if not TZ Trailing Zeros, Y for trailing zeros; N if not Dec Decimal Point, Y for decimal point; N if not.

Figure 100: MLP-Register Use & Formats

After you have elected to edit these specifications by highlighting the Reg Use-Format option in the Edit Menu, and pressing the Enter key, you may use the cursor keys to highlight the particular option you wish to change. You edit the options by over-typing the options shown with the new information. Blank out anything that is not applicable to your machine/control.

Validity of the information you type is checked when you attempt to move to another option. You will hear a beep to indicate invalid information and the option will remain highlighted until you enter valid information.

Remember any characters used for register identification must appear in the Register Sequence text line.

MLP G-Codes This Edit Box allows you to specify the numeric codes to be used for the various Preparatory Functions (G-Codes). Blank out any codes that are not applicable to your machine/control.

Figure 101: MLP-G-Code Options

Page 176: Personal APT, Reference guide, NC/CNC programming software

164 Configuring Master Lathe Postprocessor

PERSONAL APT - Reference Guide

MLP M-Codes This Edit Box allows you to specify the numeric codes to be used for the various Miscellaneous Functions (M-Codes). Blank out any codes that are not applicable to your machine/control.

Figure 102: MLP-M-Code Options

MLP Linear Motion This selection allows you to specify the minimum and maximum axes travel rates in both rapid traverse and feed controlled modes.

Feed rate codes will be computed so that the travel rate limits are not violated regardless of the feed rate mode. Usually a feed rate code is not output for rapid traverse motion, however the Rapid Rates will be used in computing tape cycle time.

Figure 103: MLP-Linear Motion Options

MLP Circular Motion This Edit Box allows you to specify the content of the X-Z axes (I-K) for circular blocks in both absolute and incremental modes.

There are five options available in each mode although option #4 in incremental mode is very unusual.

Page 177: Personal APT, Reference guide, NC/CNC programming software

Configuring Master Lathe Postprocessor 165

PERSONAL APT - Reference Guide

Figure 104: MLP-Absolute Mode Circular Motion

These options are explained in more detail on the following page. Figure 106 shows a circular motion tool path with dimensional data relating to arc center and tool locations. A sample tape block is shown to represent the arc motion output data for each option in both absolute and incremental modes.

Figure 105: MLP-Incremental Mode Circular Motion

MLP Circular Motion Tape Data The following sample tape blocks are shown using decimal point programming, with leading and trailing zeros suppressed, for easier reading. The sample tape blocks represent the output generated by programming the counter-clockwise circular motion shown in Figure 106.

Page 178: Personal APT, Reference guide, NC/CNC programming software

166 Configuring Master Lathe Postprocessor

PERSONAL APT - Reference Guide

Figure 106: MLP-Circle Interpolation Drawing

Absolute Mode Option 1. N235 G03 X4.9095 Z6.263 I.3882 K1.4489 Option 2. N235 G03 X4.9095 Z6.263 I.3882 K1.4489 Option 3. N235 G03 X4.9095 Z6.263 I-.3882 K-1.4489 Option 4. N235 G03 X4.9095 Z6.263 I3.5 K5.75 Option 5. N235 G03 X4.9095 Z6.263 R1.5

Incremental Mode Option 1. N235 G03 X1.0213 Z-.9359 I.3882 K1.4489 Option 2. N235 G03 X1.0213 Z-.9359 I.3882 K1.4489 Option 3. N235 G03 X1.0213 Z-.9359 I-.3882 K-1.4489 Option 4. N235 G03 X1.0231 Z-.9359 I3.5 K5.75 Option 5. N235 G03 X1.0231 Z-.9359 R1.5

MLP Spindle Speeds This selection allows you to control the type of spindle speed output that is generated. Direct RPM coding allows you to specify the Minimum and maximum speeds in each of three speed ranges. Non-Direct RPM coding allows you to specify sixty (60) codes and corresponding speeds in each of three ranges. The speeds must be entered in ascending order and the first and last entry in each range will be assumed as the minimum and maximum RPM in that range.

Page 179: Personal APT, Reference guide, NC/CNC programming software

Configuring Master Lathe Postprocessor 167

PERSONAL APT - Reference Guide

Figure 107: MLP-Spindle Speed Control

Figure 108: MLP-Direct RPM Spindle Coding

Figure 109: MLP-Selecting Coded Spindle Speeds

Page 180: Personal APT, Reference guide, NC/CNC programming software

168 Configuring Master Lathe Postprocessor

PERSONAL APT - Reference Guide

Figure 110: MLP-Specifying Coded Spindle Speeds

MLP Miscellaneous This selection allows you to control some miscellaneous options that don't fit well into other categories.

Figure 111: MLP-Miscellaneous Options

MLP Save This selection causes the data, in its present form, to be written to disk. The OPTION TABLE, if it existed before, is updated and the old configuration is destroyed.

MLP New Option Number This selection allows you to assign a new OPTION TABLE number to the present data. This is intended to allow you to load existing OPTION TABLES, modify them and then save them as different OPTION TABLES. The old OPTION TABLE is not deleted.

MLP Exit to PERAPT This selection ends the OPTION TABLE editing session and returns to the PERAPT window. You will be asked if you want to save the changes if you entered an Edit Box since the last SAVE command.

Page 181: Personal APT, Reference guide, NC/CNC programming software

Configuring Master Lathe Postprocessor 169

PERSONAL APT - Reference Guide

MLP Default Options The following options are initialized as shown when creating a new OPTION TABLE.

Tape Format: N4 G2 X+2.4 Z+2.4 I+2.4 K+2.4 F3.3 S4 T5 M2

Machine Statement: ������ ������������� ������������� ������������� ��������

Default Output Codes and relative APT commands.

N ��H�� ��H�� ��H�� ��H�� (((((((( G00 Linear motion (Rapid Traverse) G01 Linear motion (Feed Controlled) G02 Circular motion commands���"���"���"���" G03 Circular motion commands����"����"����"����" G04 ���� ���� ���� ���� (((((((( XZ Motion commands IK Circular motion F ����� ����� ����� ����� (((((((((((( S ����� ����� ����� ����� (((((((((((((((((((((((( T ������ ������ ������ ������ ((((((((((((((((����M00 ��������������������M01 ������������������������ M02 ������������M03 ����� ����� ����� ����� ((((((((((((���"���"���"���" M04 ����� ����� ����� ����� ((((((((((((����"����"����"����"����M05 ����� �������� �������� �������� ��� M07 ������ ���������� ���������� ���������� ���� M08 ������ ���������� ���������� ���������� ���� M09 ������ ��������� ��������� ��������� ��� M19 ����� �������� �������� �������� ��� M30 ��"�� ��"�� ��"�� ��"�� ((((((((����M41 ����� ����� ����� ����� ((((((((((((������������������������������M42 ����� ����� ����� ����� ((((((((((((���������������������������������M43 ����� ����� ����� ����� ((((((((((((����������������������������$�M50 ����� ������������ ������������ ������������ �����������M51 ����� ����������� ����������� ����������� ���������� Block delete ����� ����� ����� ����� (((((((((((( Space ����� ����� ����� ����� ((((((((((((����

Page 182: Personal APT, Reference guide, NC/CNC programming software

170 Configuring Master Lathe Postprocessor

PERSONAL APT - Reference Guide

Default Machine/Control Parameters: Number of axes ............................................. : 2 xz Axes limit minimum ..................................... : -30.0, -20.0 Axes limit maximum..................................... : 30.0, 20.0 Home point.................................................... : 30.0, 20.0 Rapid feed rate .............................................. : 300.0, 300.0 Feed rate minimum ....................................... : 0.001, 0.001 Feed rate maximum....................................... : 200.0, 200.0 Machine resolution........................................ : 0.0001 Threading Axis Resolution ........................... : 0.00001 Maximum linear departure ........................... : 99.9999 Maximum circle radius ................................. : 99.9999 Spindle type .................................................. : direct RPM Spindle Speed Ranges................................... : 3 Spindle speed minimum................................ : 10.0, 400.0, 1000.0 Spindle speed maximum ............................... : 1200.0, 2400.0, 3600.0 Dwell minimum in seconds........................... : 0.1 Dwell maximum in seconds .......................... : 99.99 Dwell minimum in revolutions ..................... : 1.0 Dwell maximum in revolutions..................... : 99.99 Maximum sequence number ......................... : 9999

DISCUSSION: This postprocessor converts APT-X to Lathe-Z and converts APT-Y to Lathe-X.

The Turret is positioned in the first quadrant and the part must be defined in the same quadrant.

Under rapid traverse mode, this postprocessor splits a given XZ move into two blocks (if that option is selected) as follows: When the spindle is advancing, output the X block then Z. When the spindle is retracting, output the Z block then X.

UNITS: This postprocessor accepts inch or metric CL data and generates inch output.

When the input and output units are the same, the postprocessor performs no conversion. When they are different, it performs the conversion between inch and metric.

This postprocessor assumes that CL coordinates and the unit related values in postprocessor commands are expressed in inches for inch input and in millimeters for metric input. The unit related minor words are assumed to be:

Word Inch Input Metric Input ������������ Inches per minute Millimeters per minute ������������ Inches per revolution Millimeters per revolution

NOTE: The default values and examples in this manual denote inch units unless otherwise specified.

Page 183: Personal APT, Reference guide, NC/CNC programming software

Tape Punching 171

PERSONAL APT - Reference Guide

PERSONAL APT Tape File Following is the Tape file produced by the PERSONAL APT MASTER MILL POSTPROCESSOR from the Sample part program. The PARTNO text, with the date and time created, will be punched in man-readable characters in the leader of the tape. The = sign represents the Rewind Stop code.

��������������������O���� ��������������������O���� ��������������������O���� ��������������������O���� ((((�1J�1J�1J�1J((((7E����P��P��7E����P��P��7E����P��P��7E����P��P��������������� !��C ���� !��C ���� !��C ���� !��C �������� � � $� � � $� � � $� � � $����� �!� � $7!C� $ $�!� $� �!� � $7!C� $ $�!� $� �!� � $7!C� $ $�!� $� �!� � $7!C� $ $�!� $����� � � � � � � � � � � � ����� �!� �� !�E!�� ���C$� �!� �!� �� !�E!�� ���C$� �!� �!� �� !�E!�� ���C$� �!� �!� �� !�E!�� ���C$� �!����� $ � �� !E!� !�!� � $ � �� !E!� !�!� � $ � �� !E!� !�!� � $ � �� !E!� !�!� �� !�!�� !�!�� !�!�� !�!����� $!� �� �$� $!��7� �� !�!� $!� �� �$� $!��7� �� !�!� $!� �� �$� $!��7� �� !�!� $!� �� �$� $!��7� �� !�!����� � � �� �7��� ���$�� � � �� �7��� ���$�� � � �� �7��� ���$�� � � �� �7��� ���$������ �!� � $� �!� � $� �!� � $� �!� � $����� ! � � � ! � � � ! � � � ! � � ����� !!� �� !!� �� !!� �� !!� �����

PERSONAL APT Tape Punching You may punch machine control tapes from any disk file with PERSONAL APT. Machine control tapes may be punched in either ASCII or EIA format. The text of the PARTNO statement will be punched in man-readable characters in the tape leader. The amount of leader and trailer punched, and the character pattern for each, may be set by the user.

Selecting the Menu Run-Tape choice causes the display of a list of files with the TAP extension to be displayed. You may select a file from this list or type another file name in the File Name: box (Figure 112).

To select a file name from the list;

1. Press the Tab key to move the highlight into the file list area 2. Use the arrow keys to highlight the file name that you choose 3. Press the Enter key to select the file.

Next, you are presented with a configuration menu, which allows you to set the COM port, Baud Rate, either ASCII or EIA format and the amount of Leader and Trailer to punch (Figure 113). Use the Tab key to move between option fields and press the Enter key when your configuration is complete. This

Figure 112: Tape File List

Page 184: Personal APT, Reference guide, NC/CNC programming software

172 Tape Punching

PERSONAL APT - Reference Guide

configuration will be saved and the next time you punch tape, you only need to press the Enter key to use the same configuration.

Figure 113: Configuring for Tape Punch

When the configuration is complete, a window is displayed with the instruction to "Turn the Tape Punch on" (Figure 114). When you are ready to continue, just press a key.

Figure 114: Waiting to Punch Tape

The tape data will be scrolled in the window as it is punched (Figure 115). An internal buffer is used to hold the data that is sent to the tape punch unit. Usually, data is sent to this buffer faster than it can be sent on to the punch unit. Therefore, the data will stop scrolling before the tape is completely punched. When the buffer is empty, control will be returned to the Main Window.

Page 185: Personal APT, Reference guide, NC/CNC programming software

Tape Punching 173

PERSONAL APT - Reference Guide

Figure 115: Punching Tape

Leader and Trailer When specifying the leader and trailer punch pattern, any of the 256 possible patterns may be chosen with a single numeric value. That numeric value is established by adding all the numbers that correspond to a punch channel in the tape.

Tape Channel Value

1------------------- 1 2------------------- 2 3------------------- 4 4------------------- 8 5------------------ 16 6------------------ 32 7------------------ 64 8------------------128

Thus, to specify tape channels 3 and 4 are to be punched, add the values 4 & 8 (12).

The tape punch unit may be connected to either the COM1 or COM2 serial port. COM1 is the default but may be changed in the Configuration Window (Figure 113). The following RS-232-C interface cable configuration is used to connect the tape punch unit used in the DMS office.

Computer Output Tape Punch Pin # Pin # 1------------------------------ 1 2------------------------------ 3 3------------------------------ 2 5--------------X ------------ 20 6-------------- | 7------------------------------ 7

Page 186: Personal APT, Reference guide, NC/CNC programming software

174 Tape Punching

PERSONAL APT - Reference Guide

Page 187: Personal APT, Reference guide, NC/CNC programming software

Appendix A 175

PERSONAL APT - Reference Guide

Problem Reporting PERSONAL APT has been exhaustively tested prior to its release. However, we recognize that no software is ever bug-free. Should you discover a bug or have a problem using PERSONAL APT, please report it to us so that we may resolve the problem.

In order to fix a software problem, we must be able to duplicate the problem. This is sometimes very difficult since problems are often a result of unperceived combinations of program statements. Also, the program statement which generates the diagnostic or problem may not be the actual cause of the problem.

Because of the above, we require that all problems be submitted in writing, via post mail or e-mail ([email protected]) with a disk (or file) which contains the program(s) that demonstrate the problem. If your problem relates to postprocessing, we require the *.OPT file that the program specifies.

Providing specific information about the problem means that we can resolve the problem much faster.

Submit all problem reports to:

CNC Focus 16807 Pinewoods Dr Rogers, AR 72756

http://www.cncfocus.com

[email protected]

Page 188: Personal APT, Reference guide, NC/CNC programming software

176 Index

PERSONAL APT - Reference Guide

(This page is for your notes)

Page 189: Personal APT, Reference guide, NC/CNC programming software

Appendix A 177

PERSONAL APT - Reference Guide

Appendix A - Character Equivalents The following table specifies the numeric equivalent values for ASCII characters user in PERSONAL APT.

Upper Case Numeric Value Lower Case Numeric Value

A 65 a 97 B 66 b 98 C 67 c 99 D 68 d 100 E 69 e 101 F 70 f 102 G 71 g 103 H 72 h 104 I 73 i 105 J 74 j 106 K 75 k 107 L 76 l 108 M 77 m 109 N 78 n 110 O 79 o 111 P 80 p 112 Q 81 q 113 R 82 r 114 S 83 s 115 T 84 t 116 U 85 u 117 V 86 v 118 W 87 w 119 X 88 x 120 Y 89 y 121 Z 90 z 122

Page 190: Personal APT, Reference guide, NC/CNC programming software

178 Index

PERSONAL APT - Reference Guide

(This page is for your notes)

Page 191: Personal APT, Reference guide, NC/CNC programming software

Index 179

PERSONAL APT - Reference Guide

Index 3 3-D ������������������������, 87

A ABSF, 16 ACOSF, 76 APT Program Statements

Cutter Specification, 59 Part Description, 58 Program Termination, 59 Speeds, Feeds and Coolant, 59 Tolerance Specification, 58 Tool Motion Statements, 59

APT Statement Identifier, 15

APT Statements, 14 JUMPTO, 51 Looping, 50 Major Section, 14 Minor Section, 14 Nested Statement, 15 Pocketing, 55 Program Identification, 58 Single Word, 15

Apt Words Minor Words, 12 Modal Words, 12 Postprocessor Words, 12 �����D�����D�����D�����D, 14

APT Words Major Words, 12

ASCII, 171 ASINF, 76 ATAN2F, 16 ATANF, 77 AUTOPS, 40

B ��������������������, 99

C CALL, 51 Canonical Form, 34 Cartesian coordinate system, 9 check_surface, 37 Circle Definitions, 24 CL Data, 61 CL File, 120, 148 COM Ports, 173 Computing

Arithmetic Operators, 15 Functions, 16

Computing Phrases, 15 COSF, 16 CUTTER, 43

D Diagnostics, 109 DISTF, 77

Distribution Files, 1 DOTF, 77 drive_surface, 37

E EIA, 171

F FROM, 40, 43, 44

G Geometry

Canonical Form, 34 Definition Capability, 17 Redefinition, 75

Geometry Definition Circle Examples, 25 Circle Formats, 24 Line Examples, 23 Line Formats, 22 Matrix Examples, 33 Matrix Formats, 32 Pattern Examples, 27 Pattern Formats, 26 Plane Examples, 29 Plane Formats, 28 Point Examples, 21 Point Formats, 20 Vector Examples, 31 Vector Formats, 30

GO, 39, 40, 43, 44 GOBACK, 41, 43 ��������������������, 36, 43, 44 GOFWD, 41, 43 GOLFT, 41, 43 GORGT, 41, 43 ��������������������, 79 ����������������, 36, 43, 44 Graphic program verification, 5

H Help Window, 4

I IMPLIED CHECK_SURFACE, 42 INDIRP, 40, 43 INDIRV, 40, 43 ��������������������, 81 Installation

Hard Disk, 1 INTOF, 17, 43

J JUMPTO, 51

L LARGE, 17 ����� ���������� ���������� ���������� �����, 94 LEFT, 17

Page 192: Personal APT, Reference guide, NC/CNC programming software

180 Index

PERSONAL APT - Reference Guide

Line Definitions, 22 List File, 120, 148 List File Content, 116 looping, 47

M MACHIN, 119, 148 MACRO, 51, 52 MACRO VARIABLES, 52 Macros

Nesting, 52 Special Words, 51 Statement Labels, 52 Symbols, 51 Variables, 51

Major Words, 12 Matrix Definitions, 32 menu bar, 3 Microsoft Windows, 1 Minor Words, 12 Modal Words, 12 Motion Commands

Check Surface Intersection, 43 Continuous Path, 41 Directed Motion, 40 FROM, 40 Implied Check Surface, 42 Part, Drive & Check_Surfaces, 37 Part_Surface, 40 Positioning, 36 Startup (GO) Statement, 39

N NESTED MACROS, 52 nested statements, 11 NUMF, 77

O ON, 43 on-line help, 4 Opening Menus, 3 Output

CL File, 115 List File, 115 Tape File, 171

P PARLEL, 17 Part Program Preparation, 7 part_surface, 37 PARTNO, 58, 171 PAST, 44 Pattern Definitions, 26 PERPTO, 17 Plane Definitions, 28 Point Definitions, 20 Postprocessor words

������������������������, 13 Postprocessor program, 120, 148 Postprocessor words, 12

��������, 13 ��������������������, 13

������������������������, 12 ����������������, 13 ��������������������, 13 ����������������, 13

Processing the part program, 5 Program Considerations

Maximum Size, 63 Number of ��������������������s, 63

Program Limitations Number of Labels, 63 Number of Macros, 63

Program Statements, 14 PSIS, 40 punch patterns, 173 Punctuation Characters, 11

R REDEF, 75 reference bar, 3 RETURN, 79 RIGHT, 17 RS232C, 173

S Sample Part Program, 60 ��������������������, 83 SINF, 16 SMALL, 17 SPLINE, 83, 84 SQRTF, 16 Statement Identification, 15 Subscript Expression, 14 Subscripted Symbol, 14 Symbolic names, 13 Symbols

Subscripted Symbols, 14 SYN, 107 Synonyms

Maximum Allowed, 107 Names, 107 Standard, 107

System Requirements, 1

T TANF, 16 TANTO, 17, 44 Tape

Leader, 171 Leader & Trailer Punch Patterns, 173 Man-Readable Leader, 171 Punch Connection, 173 Punching, 171 Trailer, 171

Tape File, 120, 148 TERMAC, 51 ����� ��������� ��������� ��������� ����, 96 TLLFT, 42, 43 TLOFPS, 43 TLON, 42, 43 TLONPS, 43 TLRGT, 42, 43 TO, 43 TRACUT, 52

Page 193: Personal APT, Reference guide, NC/CNC programming software

Index 181

PERSONAL APT - Reference Guide

U User assigned symbols, 13

V Vector Definitions, 30 Vocabulary

Major Words, 105

X ������������������������, 17 ������������������������, 17

Y ������������������������, 17 ������������������������, 17

Z ������������������������, 17 ZSMALL, 17 ZSURF, 34