|
Processing in GPP2
The following information relates to how GPP2 processes Transformations.
DF2 Additions
In the DF2 file and editor, the following definitions relate to Transformations:
-
Transformations. This multi-choice parameter has the following options:
-
-
Exploded: all transformations are exploded into regular motions.
-
Subroutines: whenever possible, machine subroutines are used for transformed procedures. Arrays are broken into multiple individual transformations (using subroutines).
-
-
Transformation Subroutine Number. A numeric value, telling GPP2 the number of the first machine subroutine to be used for transformations. Only active and relevant if transformations are not exploded. This number is also controllable by the EX2 program.
-
Output transformation subroutines as separate files (Yes / No). Only active and relevant if transformations are not exploded. If true, transformation subroutines are output to separate files with the extension .t01, .t02, etc. (like 2.5X subroutines in .s01 files).
Processing Transformations
Transformation procedures are processed in a "recursive" way, starting from the last transformation and working backwards to the original procedures.
- Simple Transformations
- Exploding Transformations
- Multi-Cutter Procedures
- When a Subroutine cannot be used
Simple Transformations
Whenever a simple transformation is processed, GPP2 first decides if all the referred procedures can be executed as subroutines. Otherwise, the transformation is exploded to individual motions.
If a subroutine can be used, a simple (non-array) transformation is processed as follows:
-
HOME SHIFT shift home position (incremental)
-
Execute the referred procedures (recursion)
-
HOME SHIFT restore the original home position (incremental)
If the reference tree contains two simple transformations one pointing to the other, the two transformations may be combined to one home shift.
Original -> Transform1 -> Transform2 is actually equivalent to:
Original -> (Transform1* Transform2)
Exploding Transformations
A transformed procedure may need to be exploded in two cases:
-
The DF2 parameter requires that all transformations are exploded.
-
A specific transformation UCS includes such orientation changes that a subroutine cannot be used.
If a given transformation must be exploded, GPP2 performs the following logic:
-
Execute the original procedure as is, except that the ORIGIN of the procedure is modified to reflect the transformed position.
-
-
New origin = Transformation UCS * Old Origin.
-
-
Everything else stays the same - connections, tool change, etc.
Multi-Cutter Procedures
In GPP2, multi-cutter procedures are broken into multiple single-cutter procedures in the execution list.
Consequently, when a multi-cutter procedure is referred to in a transformation procedure, GPP2 must process all the individual single-cutter procedures.
When a Subroutine cannot be used
A transformation procedure can use subroutines only if every one of the transformed procedures can use a subroutine in the final orientation.
In 5X processing, the transformed position may be rotated vs. the original position. In such a case, the machine needs to be rotated for the transformed orientation. With 5X machines, it is usually possible to align the procedure Z axis with the tool (unless machine limits are reached). However, it is not always possible to control the orientation of the X and Y axes.
In order to use the same subroutine in the original and transformed positions, the transformed Origin UCS must be perfectly aligned with the original Origin UCS. The original and transformed origin UCS must be the same when measured in the REF UCS.
This cannot always be guaranteed in 5X machines. It depends on the nature of the rotation.
If the rotated origin UCS cannot be perfectly aligned with the original origin UCS, then this specific position must be exploded into individual motions. The subroutine saved in the original orientation cannot be used.
It may happen that for the same procedure, some transformation instances can use a subroutine while others cannot. It all depends on the individual transformation UCS and the machine structure. GPP2 will use the subroutine whenever possible, and explode other instances where necessary (while giving a warning message).
Note: In some cases, the GPP2 generates a don't care solution for a given Z axis orientation. This means that one of the axes can be positioned in any angle. In such cases, it is likely that one unique solution allows the use of subroutines (aligning also the X and Y axes) while all others do not. GPP2 will attempt to find that unique solution and apply it for the transformed position.
|