Syntax of Generated APT Instructions

Syntax of APT Instructions generated by Machine Programming is described below.

This page discusses:

Formats

Blank characters used for presentation comfort on file are not mentioned here.

Example

Example of syntax:

'AUTOPS' 
'INDIRV/',F11.5,',',F11.5,',',F11.5' 
'TLON,GOFWD/ (CIRCLE/',F13.5,',',F13.5,',',F13.5,',$' 
F13.5,'),ON,2,INTOF,$' 
'(LINE/',F13.5,',',F13.5,',',F13.5,',$' 
F13.5,',',F13.5,',',F13.5,')'

Example of generated APT source:

AUTOPS 
INDIRV/ 0.00000, -1.00000, 0.00000 
TLON,GOFWD/ (CIRCLE/ 0.00000, 0.00000, 0.00000,$  
50.00000),ON,2,INTOF,$ 
(LINE/ 0.00000, 0.00000, 0.00000,$ 
50.00000, 0.00000, 0.00000)

Syntax

Syntax Functionality
'$$',6X,'GENERATED ON ',A28,' AT ',A8
Start of execution (date, time)
'PPRINT OPERATION NUMBER: ',I4
'$$ OPERATION NUMBER: ',I4
Operation numbers
Order number of the Machining Operation in the Part Operation
A80
PP or APT Word Instruction
PP instruction string
'$$*CATIA0' 
'$$ ',A70 
'$$ ',4(F11.5,2X) 
'$$ ',4(F11.5,2X) 
'$$ ',4(F11.5,2X)
NC Axis Components
NC axis identifier (may be blank for a table rotation operation) and NC axis matrix definition in absolute axis (*axis1).
'TLAXIS/'F9.6,2(',',F9.6)
Tool Axis Definition
Tool axis components expressed in the machining axis system.
'MULTAX/ON'
'MULTAX/OFF'
Multi-Axis Management
Manages the output format of GOTO statements in a 5-axis Manufacturing Program that mixes pure 5-axis Machining Operations and locked axis Machining Operations. (GOTO / X, Y, Z, I, J, K for pure 5-axis motions, and GOTO / X, Y, Z for locked axis motions). See MULTAX Influence on APT Output.
'GOTO/',F11.5,2(',',F11.5)
'FROM/',F11.5,2(',',F11.5)
Starting Point Operation
Tool tip coordinates, point number.
'CUTTER/',4(F10.6,','),F10.6,',$' 
F10.6,',',F10.6
Tool Information - Mill
Cutter diameter, corner radius, distance from center of corner to tool axis, corner radius, 0.0, beta angle, and height.
'INTOL /',F11.5
'OUTTOL/',F11.5
Tolerances
Machining tolerance
'FEDRAT/',F10.4
'RAPID'
Feedrate Values
'GOTO/',F11.5,2(',',F11.5)
Linear Tool Motion
Tool tip coordinates, point number
'GODLTA/',F11.5,2(',',F11.5)
Linear Tool Motion
Tool tip incremental move, point number
'AUTOPS'
'INDIRV/',F11.5,',',F11.5,',',F11.5'
'TLON,GOFWD/ (CIRCLE/',F13.5,',',F13.5,',',F13.5,',$'
Circular Tool Motion - CIRCLE/
Components of circle tangent at arc start point, circle center coordinates, circle number
F13.5,'),ON,(LINE/',F13.5,',',F13.5,',',F13.5,',$'  
F13.5,',',F13.5,',',F13.5,')'
F13.5,'),ON,2,INTOF,$' 
'(LINE/',F13.5,',',F13.5,',',F13.5,',$' 
F13.5,',',F13.5,',',F13.5,')'
Circular Tool Motion - CIRCLE/
Either: radius, circle center coordinates, arc end point coordinates

Or: radius, circle center coordinates, arc end point coordinates

'PSIS/(PLANE/(POINT/',F11.5,2(',',F11.5),'),PERPTO,$' 
'(VECTOR/',2(F9.6,','),F9.6,'))'
'INDIRV/',F11.5,',',F11.5,',',F11.5
'TLON,GOFWD/(CYLNDR/',2(F11.5,','),F11.5,',$'
Circular Tool Motion - CYLNDR/
Tool tip coordinates, circle axis components, components of tangent at arc start point, circle center coordinates, circle number
3(F11.5,','),F11.5,'),ON,$' 
'(PLANE/PERPTO,$' 
'(PLANE/(POINT/',F11.5,2(',',F11.5),'),PERPTO,$' 
'(VECTOR/',2(F9.6,','),F9.6,')),$' '(POINT/',2(F11.5,','),F11.5,'),$' 
'(POINT/',2(F11.5,','),F11.5,'))'
Either: circle axis components, radius, circle center coordinates, circle axis components, circle center coordinates, arc end point coordinates
3(F11.5,','),F11.5,'),ON,2,INTOF,$' 
'(PLANE/PERPTO,$' 
'(PLANE/(POINT/',F11.5,2(',',F11.5),'),PERPTO,$' 
'(VECTOR/',2(F9.6,','),F9.6,')),$' 
'(POINT/',2(F11.5,','),F11.5,'),$' 
'(POINT/',2(F11.5,','),F11.5,'))'
Or: circle axis components, radius, circle center coordinates, circle axis components, circle center coordinates, arc end point coordinates

MULTAX

A MULTAX statement (MULTAX, MULTAX/ON, MULTAX/OFF) is defined anywhere in the Manufacturing Program (for example, in a PP word statement or a macro path).

MULTAX Influence on APT Output

MULTAX statements found during APT generation can influence the output format:

  • MULTAX statements are searched and identified in any PP word statement:
    • If a MULTAX or MULTAX/ON statement is found, the following linear motions is written with the format: GOTO/ X, Y, Z, I, J, K.
    • If a MULTAX/OFF statement is found, the following linear motions is written GOTO/ X, Y, Z and the tool axis is considered as locked. The components of the locked tool axis are the components defined on the last 5-axis position preceding the MULTAX/OFF statement. Therefore, no TLAXIS statement is generated after a MULTAX/OFF statement.
  • In a sequence of motions following a MULTAX/OFF statement, the tool axis orientation is checked, and as soon as it is not constant, a MULTAX/ON statement is added, possibly with a warning message in the NC data output log file.

Example of APT source:

... 
PPRINT OPERATION NAME : Tool Change 
PPRINT Start generation of : Tool Change 
MULTAX/ON 
GOTO / 0.00000, 27.16535, 20.47244, 0.000000, 0.000000, 1.000000 
$$ TOOLCHANGEBEGINNING 
CUTTER/ 1.259843, 0.000000, 0.629921, 0.000000, 0.000000,$ 
0.000000, 0.984250 
$$ TOOLCHANGEEND 
PPRINT End of generation of : Tool Change 
... 
MULTAX/OFF 
... 
RAPID 
GOTO / 7.29167, 15.48687, 16.10080 
RAPID 
GOTO / 7.29167, 15.48687, 15.13780 
... 
MULTAX/ON 
... 
RAPID 
GOTO / 2.74137, 14.56693, 16.10080, 0.000000, 0.000000, 1.000000 
RAPID 
GOTO / 2.74137, 14.56693, 15.13780, 0.000000, 0.000000, 1.000000 
...

Tool Change Operations and TLAXIS/ Statements in APT Output

The tool change point is specified on the Part Operation and the tool axis at this point is determined by the spindle orientation (I, J, K) on the machine.

Tool Change Position Defined on the Setup

In the particular case where no machine is defined on the Part Operation, this tool axis is determined by the z-axis of the Part Operation machining axis system.

TLAXIS Output

The following applies:

  • A tool axis statement (TLAXIS) is always output for the first tool change.
  • For the following tool changes, the tool axis of the previous Machining Operation is taken into account.
  • If it is different from the Tool Change Point position defined in the setup, a TLAXIS statement is output for that Tool Change.

Example 1



If the tool axis at the Tool Change Point position is (0,0,1), a TLAXIS/ 0.000000, 0.000000, 1.000000 statement is output for the first and fifth tool changes.

$$ OPERATION NAME : Tool Change.1
TLAXIS/ 0.000000, 0.000000, 1.000000
etc
$$ Start generation of : Profile Contouring.1
etc
$$ Start generation of : Tool Change.2
etc
$$ Start generation of : Profile Contouring.2
etc
$$ OPERATION NAME : Tool Change.3
etc
$$ Start generation of : Tool Change.3
etc
$$ Start generation of : Profile Contouring.3
etc
$$ Start generation of : Tool Change.4
etc
$$ Start generation of : Profile Contouring.4
TLAXIS/ 0.000000, 1.000000, 0.000000
etc
$$ Start generation of : Tool Change.5
TLAXIS/ 0.000000, 0.000000, 1.000000
etc
$$ Start generation of : Profile Contouring.5
TLAXIS/ 1.000000, 0.000000, 0.000000

Example 2



If the tool axis at the Tool Change Point position is (0,0,1) and the tool axes of all the Machining Operations are different (variation of more 0.05deg) from the Tool Change Point position axis, then a TLAXIS/ 0.000000, 0.000000, 1.000000 statement is output for all the Tool Changes.

$$ Start generation of : Tool Change.1
TLAXIS/ 0.000000, 0.000000, 1.000000
etc
$$ Start generation of : Profile Contouring.1
TLAXIS/ 0.000000, 1.000000, 0.000000
etc
$$ Start generation of : Tool Change.2
TLAXIS/ 0.000000, 0.000000, 1.000000
etc
$$ Start generation of : Profile Contouring.2
TLAXIS/ 0.000000, 1.000000, 0.000000
etc
$$ Start generation of : Tool Change.3
TLAXIS/ 0.000000, 0.000000, 1.000000
etc
$$ Start generation of : Profile Contouring.3
TLAXIS/ 0.000000, 1.000000, 0.000000
etc
$$ Start generation of : Tool Change.4
TLAXIS/ 0.000000, 0.000000, 1.000000
etc
$$ Start generation of : Profile Contouring.4
TLAXIS/ 0.000000, 0.000000,-1.000000
etc
$$ Start generation of : Tool Change.5
TLAXIS/ 0.000000, 0.000000, 1.000000
etc
$$ Start generation of : Profile Contouring.5
TLAXIS/ 1.000000, 0.000000, 0.000000

Non-Modal Behavior of RAPID Statements

According to APT standard formats, all feedrate statements (except RAPID) are modal. This means that they are applied to all the following points until the next the feedrate statement.

However:

  • the RAPID instruction is not modal: the RAPID statement is applied only to the next GOTO motion.

    For example, in a linking macro with rapid feedrate, a RAPID instruction is written before each of the three GOTO points of the macro.

  • Another APT standard format rule that is specific to the RAPID word is to not repeat the current machining feedrate after the last point in RAPID. The machining feedrate is applied.

In the example below:

  • the rapid feedrate only applies to the first GOTO point.
  • The machining feedrate that was current before the RAPID statement applies to the second GOTO point.

FEDRAT/ 300.0000,MMPM 
GOTO / -69.00000, 40.00000, 46.00000 
GOTO / -69.00000, 50.00000, 0.00000 
RAPID 
GOTO / -80.0000, -23.0000, 16.0000 
GOTO / -90.0000, -21.0000, 16.0000

Helical Interpolation

A helical interpolation instruction is generated in the output file (APT source or CLFile) for Machining Operations that support helical tool motions.

These Machining Operations include Thread Milling, Circular Milling in Helical mode, Sequential Groove with Helical motions, and Profile Contouring defined with a Helix tool path style.

It requires that:

  • The machine specified in the Part Operation supports helical interpolation.
  • The Helical interpolation check box is selected in the Numerical Control tab of the machine. See Working with Generic Machine Editor. Otherwise, GOTO instructions are generated for the helical motion.

Notes:

By default, the Generate NC Output Interactively dialog box inherits the machine parameters, so the Helical interpolation check box is also selected in that dialog box. Do not switch the Helical interpolation check box to local modifications mode. See Generating NC Code and Working with Generic Machine Editor.

Automatic Generation of ROtabL and TLAXIS for Mill-Lathe Changeover

Mill-Turn integration enables automatic generation of:

  • a ROtabL statement in output every time there is a change-over from a Turning operation to a Milling operation
  • a TLAXIS statement in output every time there is a change-over from a Milling operation to a Turning operation.

Example of Insertion of ROtabL/ Statement:

ROtabL/ 0.000000,CLW 
$$*CATIA0 
$$ UNKNOWN 
$$ 0.00000 1.00000 0.00000 0.00000 
$$ 0.00000 0.00000 1.00000 0.00000 
$$ 1.00000 0.00000 0.00000 0.00000

Example of Insertion of TLAXIS Statement:

FEDRAT/ 0.2500,IPR 
GOTO / 1.62000, 0.00000, 0.00000 
$$ End of generation of : Drilling .875 Dia. 
$$ OPERATION NAME : ROUGH FACE GROOVE * 
$$ Start generation of : ROUGH FACE GROOVE * 
			 
$$ TOOLCHANGEBEGINNING 
RAPID 
GOTO / 20.00000, 8.00000, 0.00000 
CUTTER/ 0.120000 
COUPLE/40,REAR 
CALL/TCHG,ST=05,CSS=180,RGE=1,DIR=CLW 
$$ TOOLCHANGEEND 
$$ End of generation of : ROUGH FACE GROOVE * 
$$ OPERATION NAME : Turning Axis 
$$ Start generation of : Turning Axis 
TLAXIS/ 0.000000, 0.000000, 1.000000 
$$*CATIA0 
$$ Turning Axis 
$$ -1.00000 0.00000 0.00000 1.63500 
$$ 0.00000 0.00000 1.00000 0.00000 
$$ 0.00000 1.00000 0.00000 0.00000 
$$ End of generation of : Turning Axis 
$$ OPERATION NAME : Rough Groove Front 1 
$$ Start generation of : Rough Groove Front 1 
FEDRAT/ 100.0000,IPM 
GOTO / 3.63500, 3.00000, 0.00000 
GOTO / 3.63500, 1.56762, 0.00000

Notes:
  • There is no activity created for the ROtabL statement. You cannot see an activity corresponding to this ROtabL statement. The tool path replay does not show this rotation. It can only be seen in the APT output.
  • After the APT Import, an activity is created for this ROtabL or TLAXIS statement.
  • If a Machine Rotation activity is already in place between a Turning and a Milling operation, no additional ROtabL/ is generated in the APT output.

See also Generating NC Code.