G68 Rotation (Group 16)
(This G-code is optional and requires Rotation and Scaling.)
G17, G18, G19 optional plane of rotation, default is current A optional center of rotation for the first axis of the selected plane B optional center of rotation for the second axis of the selected plane R optional angle of rotation specified in degrees Three-place decimal -360.000 to 360.000.
A G17, 18 or 19 must be used before G68 to establish the axis plane being rotated. For example: G17 G68 Annn Bnnn Rnnn;
A and B correspond to the axes of the current plane; for the G17 example A is the X-axis and B is the Y-axis.
A center of rotation is always used by the control to determine the positional values passed to the control after rotation. If any axis center of rotation is not specified, the current location is used as the center of rotation. When rotation (G68) is commanded, all X, Y, Z, I, J, and K values are rotated through a specified angle R using a center of rotation.
G68 will affect all appropriate positional values in the blocks following the G68 command. Values in the line containing G68 are not rotated. Only the values in the plane of rotation are rotated, therefore, if G17 is the current plane of rotation, only X and Y values are affected. Entering a positive number (angle) for the R address will rotate the feature counterclockwise.
If the angle of rotation (R) is not entered, then the angle of rotation is taken from Setting 72. In G91 mode (incremental) with Setting 73 ON, the rotation angle is changed by the value in R. In other words, each G68 command will change the rotation angle by the value specified in R. The rotational angle is set to zero at the beginning of the program, or it can be set to a specific angle using a G68 in G90 mode.
The following examples illustrate rotation using G68.
0001 (GOTHIC WINDOW) ; F20, S500 ; G00 X1. Y1. ; G01 X2. ; Y2. ; G03 X1. R0.5 G01 Y1. ; M99 ; 0 = Work coordinate origin No Rotation
The first example illustrates how the control uses the current work coordinate location as a rotation center (X0 Y0 Z0).
00002 ; G59 ; G00 G90 X0 Y0 Z0 ; M98 P1 ; G90 G00 X0 Y0 ; (Last Commanded Position) G68 R60. ; M98 P1 ; G69 G90 G00 X0 Y0 ; M30 ; 0 = Work coordinate origin + = Center of rotation
The next example specifies the center of the window as the rotation center.
00003 ; G59 ; G00 G90 X0 Y0 Z0 ; M98 P1 ; G00 G90 X0 Y0 Z0 ; G68 X1.5 Y1.5 R60. ; M98 P1 ; G69 G90 G00 X0 Y0 ; M30 ; 0 = Work coordinate origin + = Center of rotation
This example shows how the G91 mode can be used to rotate patterns about a center. This is often useful for making parts that are symmetric about a given point.
00004 ; G59 ; G00 G90 X0 Y0 Z0 ; M98 P10 L8 (SUBROUTINE 00010) ; M30 ; 00010 ; G91 G68 R45. ; G90 M98 P1 ; G90 G00 X0 Y0 ; M99 ; Z X Y 0 = Work coordinate origin + = Center of rotation
Do not change the plane of rotation while G68 is in effect.
Rotation with Scaling
If scaling and rotation are used simultaneously, it is recommended that scaling be turned on prior to rotation, and that separate blocks be used. Use the following template when doing this.
G51 ..... (SCALING) ; ... G68 ..... (ROTATION) ; . . program . G69 ..... (ROTATION OFF) ; ... G50 ..... (SCALING OFF) ;
Rotation with Cutter Compensation
Cutter compensation should be turned on after the rotation command is issued. Compensation should also be turned off prior to turning rotation off.