GPP2 Blocks

The following table shows the full list of GPP2 blocks and their qualifiers.

Block and Qualifier

Use and comments

BEGINNING OF CONNECT:

This block is invoked at the beginning of each connection process. See detailed discussion about GPP2 connections below.

BEGINNING OF IPM:

Invoked at the beginning of each IPM cycle procedure.

BEGINNING OF LCANNED:

Invoked at the beginning of a Turning canned cycle.

BEGINNING OF PROC:

Invoked at the beginning of each procedure. There are several other blocks invoked at the beginning of each procedure, see details later.

stockbegin:

This qualifier indicates the beginning of a Stock procedure.

Partbegin:

This qualifier indicates the beginning of a Part procedure.

Utilitybegin:

This qualifier indicates the beginning of a Utility procedure.

Stockend:

This qualifier indicates the end of a Stock procedure.

Partend:

This qualifier indicates the end of a Part procedure.

Utilityend:

This qualifier indicates the end of a Utility procedure.

BEGINNING OF SUB:

Invoked at the beginning of the definition of each subroutine. Works in conjunction with other blocks (e,g, subroutine call). See details later.

BEGINNING OF TAPE:

Invoked when a new output tape (file) is created.

--- (none)

No qualifier indicates the beginning of the first tape, before any toolpath block is read and processed. The block is always called once with no qualifier.

aftercut:

This qualifier indicates the beginning of a new output tape that occurred after a previous tape has been cut due to excessive length.

BEGINNING OF TLPATH:

Invoked at the beginning of each toolpath, with some basic information regarding the toolpath (name, type, etc.)

ncsetupbegin:

This qualifier indicates that a Stock or Part procedures from NC Setup are posted.

CIRCULAR MOTION:

Invoked whenever the toolpath contains an arc. See details on circular motions in a separate section.

Circcanned:

This qualifier indicates a circular motion which is output from a Turning canned cycle.

Circthread:

This qualifier indicates a circular motion which is output from a Turning thread procedure.

ctangappr:

This qualifier indicates a circular tangential approach to a contour.

ctangretr:

This qualifier indicates a circular tangential retract from a contour. Note that name change from old GPP.

--- (none)

No qualifier is used in all other cases.

CONNECT IN PLACE:

Invoked by GPP2 whenever a regular connection scenario is not invoked because the machine is already positioned on the target point. The start and end point of the connection are in the exact same place.

CUTTER COMPENSATION:

Invoked when the Cutter Compensation is turned on or off.

--- (none)

No qualifier indicates that the cutter compensation is turned on (left or right).

coff:

This qualifier indicates that the cutter compensation is turned off.

CYCLE:

Invoked for each drill cycle.

on:

This qualifier is used for the first cycle block in a series (cycle turned on) where retract is to clearance height.

toinit:

This qualifier is used for the first cycle block in a series (cycle turned on) where retract is to initial height.

--- (none)

No qualifier is used for all the cycle blocks in a series, except the first one (where cycle was turned on).

off:

This qualifier is used for an extra cycle block, after all real cycle blocks in a series were invoked and processed. It is used to turn the cycle off.

specialon:

This qualifier is used for the first special cycle block in a series of special cycle blocks (same as "on"qualifier for the regular cycle).

special:

This qualifier is used for the each special cycle block (for example, thread cycle) (same as no qualifier for the regular cycle).

specialoff:

This qualifier is used for an extra cycle block, after all real special cycle blocks in a series were invoked and processed (same as "off").

CYCLE SPECIAL HELICAL:

Invoked for each drill cycle when a helix is being  cut. This block is only invoked for helical within Automated Drill, not for the general helical profile procedure.

END OF CONNECT:

This block is invoked at the end of each connection process. See detailed discussion about GPP2 connections below.

END OF IPM:

Invoked at the end of each IPM cycle procedure.

END OF FILE:

Invoked one time at the end of all processing of the toolpath (after the END OF TAPE block). This is a good time to wrap up the whole execution.

END OF LCANNED:

Invoked at the end of a Turning canned cycle.

END OF PROC:

Invoked at the end of each procedure.

END OF SUB:

Invoked at the end of the definition of each subroutine.

END OF TAPE:

Invoked when an output tape (file) is closed.

--- (none)

No qualifier indicates the end of the last (or only) tape. The block is always called once with no qualifier.

beforecut:

This qualifier indicates the end of an output tape that is cut due to excessive length.

END OF TOOLPATH:

Invoked at the end of each toolpath.

ncsetupend:

This qualifier indicates that a Stock or Part procedures from NC Setup are posted.

GUNDRILL SEGMENT:

Invoked when encountering a gun drill process.

HOME SHIFT

Invoked by GPP2 during the execution of a transformation procedure. The machine's home position should be redefined so that the subroutine would be executed at the right place.

INSERT WITH:

Invoked when encountering an inserted string (with sequencing) in the toolpath

INSERT WITHOUT:

Invoked when encountering an inserted string  (with sequencing) in the toolpath

LINEAR MOTION:

Invoked for each linear tool motion.

Note: The first four qualifiers (approach / retract) take precedence over the other qualifiers.

normappr:

This qualifier indicates a normal approach to a contour.

normretr:

This qualifier indicates a normal retract from a contour.

ltangappr:

This qualifier indicates that the block comes before a tangential approach to a contour. Note the name change from old GPP.

ltangretr:

This qualifier indicates that the block comes after a tangential retract from a contour.

fastlencomp:

This qualifier indicates a rapid linear motion used for tool length compensation. It is created as part of a connection from the safe position - the last rapid motion going down (typically in the -Z direction).

lencomp:

This qualifier is a feed-rate equivalent of the fastlencomp qualifier. Recall that if the DF2 parameter for "rapid to feed" is set, then every rapid motion, including the tool length compensation is converted to a feed-rate motion.

lincanned:

This qualifier indicates a linear motion which is output from a Turning canned cycle.

linthread:

This qualifier indicates a linear motion which is output from a Turning thread procedure.

fast:

This qualifier indicates a rapid motion (maximum speed)

fastipm:

This qualifier indicates a rapid motion and will default to execute Linear Motion: ipm: block.

ipm:

This qualifier is a feed-rate equivalent of the fastipm qualifier.

--- (none)

No qualifier indicates a regular motion at feed-rate.

MACHINE CONTROL:

This block is invoked in response to a "MACHINE_CONTROL" action processed as part of a connection scenario. See discussion on connections below.

MESSAGE:

Invoked when a message is encountered in the toolpath.

Newdir:

This qualifier indicates an orientation change within a 5X Guided cleanup procedure.

sequence:

In the MESSAGE : sequence block, the MESS_STR contains the sequence name.

group:

In the MESSAGE : group block, the MESS_STR contains the group name.

 

If the block MESSAGE : sequence or MESSAGE : group is not implemented in the post, no block will be executed (it will not default to the regular MESSAGE block).

MILLDWELL

Executed when dwell command is found (in Gun Drill or Volumill, when there is a change in Spin speed or direction).

MOVE TO SAFE:

This block is invoked in response to a "MOVE_SAFE" action processed as part of a connection scenario. See discussion on connections below.

ORIGIN CHANGE:

Invoked each time the procedure origin changes.

POST SCRIPT:

This block is invoked at the end of the run, even after END OF FILE and after all the output files have been closed. The block is intended to replace the execution of the post-run batch file.

It is the only block where the new SYSTEM_CALL command can be used to copy, move and rename files after the run.

stopped:

This qualifier indicates that the block is invoked after a runtime error or after the execution of the GPP_STOP command, which aborts the run.

PROC FIRST POINT:

This block is invoked before the first tool point of the procedure, after the connection. See a detailed description later about all "procedure blocks".

Machine Simulator for a Turning Procedure: To correctly simulate the rotation of the Turning axis, and properly check for collisions with the rotating axis while rotating, the variable SIM_TURNING_SPINDLE_ON should be set to TRUE_ when the Spindle ON command is output for the machine, and set to FALSE_ when the Spindle OFF command is output.
If not set in the post, GPP2 will set this value at the PROC FIRST POINT block in case this is a turning procedure.

PROC REF:

This block is used for referring inside a procedure to a different procedure. Its original use was inside the transformation procedure to refer to the original procedure(s).

ipmref:

This qualifier distinguishes between a transformation reference and an IPM reference. In the latter case, the reference is given to show the procedure(s) to jump/call after the IPM procedure is executed.

RECONFIG MACHINE

This block is invoked as part of the machine reconfiguration process, mostly used for 6X machines. See a detailed description later about machine reconfiguration.

RESET AXIS:

This block is used in 4/5 axes machines, where an axis has a soft angle limit and it needs to be "reset" in order to continue. See 5X manual for more details.

alpha:

Reset the "alpha" axis.

beta:

Reset the "beta" axis.

SET UCS:

This block is invoked in response to a "SET_UCS" action processed as part of a connection scenario. See discussion on connections below.

START PROC:

This block is invoked after the procedure "header" blocks (beginning of proc, origin change, tool change), and before any motions of this procedure (before the connection). See a detailed description later about all "procedure blocks".

STARTUP:

This block is invoked once before any other program block. This is the right time to initialize user variables and prepare for the run.

SUBROUTINE CALL:

Invoked each time a subroutine is called in the toolpath. This block should be handled in conjunction with other subroutine-related blocks, notably BEGINNING OF SUB. See detailed discussion later regarding the order of invocation (different than in old GPP!).

SUBROUTINE RETURN:

Invoked immediately after each SUBROUTINE CALL block. Can be used for post-subroutine processing and output.

TOOL CHANGE:

Invoked with each tool change. The block is invoked at least one time per procedure, as part of the procedure start process.

first:

This qualifier indicates the first (or the only) tool change in the posting process.

last:

This qualifier indicates the last tool change in the posting process. It is not used if there is only one tool change throughout the execution.

--- (none)

No qualifier is used for all other tool changes (neither first not last).

multitool:

This qualifier is invoked for tool changes that take place inside multi-tool procedures. Recall that GPP2 breaks each multi-tool procedure into separate procedures. This qualifier is used in all the separate procedures except the first (original) one.

TURNDWELL:

Invoked when turning dwell is activated.

UTILITY:

Invoked when a utility needs to be output.

The name of the utility profile, as given by the utility developer, is used as the Utility block qualifier. For example, if the name of the utility name is gAddMessage, then the Utility block should be UTILITY: gAddMessage:

If the specific qualifier does not exist, functionality fallback the UTILITY block.

It is recommended to have a specific UTILITY block for each Utility Profile, because this enforces the user to use a post that supports this specific utility profile.

The Utilities: Message, Insert with and Insert without do not go to the Utility block, but to the corresponding standard blocks: MESSAGE, INSERT WITH and INSERT WITHOUT.

Specific qualifiers exist in the BEGINNING and END OF PROC blocks, to help identify a utility procedure.

BEGINNING OF PROC: utilitybegin

END OF PROC: utilityend

The functionality does not fallback into the regular block, if these qualifiers do not exit.

Some functionality may be dependent on the product package. Contact your Reseller if you require a license.