Circular Interpolation (G02, G03, IJK, U) - Beckhoff Information System
G02 clockwise circular interpolation
Command | G2 or G02 |
Cancellation | G00, G01 or G03 |
Set the interpolation mode to “circular/helical, clockwise”. The interpolation mode applies to this block and all succeeding blocks until it is reset by G00, G01 or G03. If G02 is active, programming of a point will result in a circular (or helical) arc that is machined with the current velocity. (See General Codes (F, N, Q, X, Y, Z, A, B, C).) In the following, a circular arc is regarded. The helical arc is covered later.
A circular arc starts at the current point and ends at the programmed point. It rotates around the working-plane normal (PCS, i.e. program coordinate system) in the center point. The center point can be defined using Centerpoint Programming or using Radius Programming.
Centerpoint Programming I, J, K
For Centerpoint Programming the center is standardly defined relative to the starting-point using the I,J,K parameters. The center point is the sum of the starting-point and the vector [I,J,K]. Alternatively, the center point can also be specified as absolute. For this the reference type must be set to absolute in advance with the ST command circleCenterReferenceSet. The I,J,K parameters are optional and have 0 value by default. If the starting-point and the endpoint are equal with respect to the workingplane, a full circle will be emitted.
![]() | CONSTRAINTS:
|
Radius Programming U
For Radius Programming the center point is derived from the radius that is given by the U parameter. Typically, there are two arcs of a given radius that lead from the starting-point to the endpoint. If the radius is positive, the shorter one is used, otherwise the longer one is chosen. Apart from that, the absolute value of the radius is regarded by the interpreter.
![]() | CONSTRAINTS:
|
Helical
If the starting-point and endpoint do not lie in a plane that is parallel to the workingplane, a helical movement is performed.
![]() | TIP: moveCircle3D The ST-function moveCircle3D is a more powerful way to define a circle or helix. It covers 3D-arcs and multiturn circles. |
Example:
The following example results in the path that is shown in Figure “ExampleG00G02”. The block N10 uses Radius Programming to define a clockwise arc from X0 Y0 to X10 Y10 with radius 10. Because the radius is positive, the center point c1 of the shorter arc is chosen. In block N30 the center point c2 of the longer arc is used because the radius is negative. The block N50 uses Centerpoint Programming, where the center c3=[60,0,0] is the sum of the starting-point [50,0,0] and [I,J,K]=[10,0,0]. The block N70 defines a full circle with center point C04 because the starting-point and endpoint are equal. The block N90 defines a helical arc with center point C05 and height 30 (in Z-direction).
N01 G00 X0 Y0N10 G02 X10 Y10 U10 F6000N20 G00 X30 Y0N30 G02 X40 Y10 U-10N40 G00 X50 Y0N50 G02 X60 Y10 I10N60 G00 X80 Y0N70 G02 J10N80 G00 X110 Y0N90 G02 J10 X120 Y10 Z30M30Figure “ExampleG00G02”.
G03 anticlockwise circular interpolation
Command | G3 or G03 |
Cancellation | G00, G01 or G02 |
Set the interpolation mode to “circular/ helical, counterclockwise”. This interpolation behaves similar to G02. The interpolation mode applies to this block and all succeeding blocks until it is reset by G00, G01 or G02.
Centerpoint Programming I<vx> J<vy> K<vz>
Defines the center point for circular movements. See G2, G3 for details. The center point is defined as currentPoint + [vx,vy,vz]. The current length unit is used for vx, vy, vz. The parameters I, J, K are optional and have a 0 default value.
Radius Programming U<v>
In the context of G2 or G3 the radius is set to |v|. The current length unit is used for v. If v is positive, the shorter arc is used to interpolate between the current and the next point. If v is negative, the longer one is used. See G2, G3 for details.
G303
With G303 an circular arc (a CIP circle) can be programmed, that can be freely located in space.
The CIP circle can also be used to program a circle anywhere in space. For this purpose, it is necessary to program not only an end point but also some other point on the path.
So that the circle can be described unambiguously, it is necessary, that the three points (the starting point is given implicitly) must not be collinear. It is thus not possible to program a full circle in this way.
I, J and K are available as path point parameters. By default, their values are relative to the starting point of a circular path.
G90N10 G01 F2000 X0 Y0 Z0 // P1 (start point): X, Y, Z, N20 G303 I30 J-15 K15 X60 Y0 Z30 // P2 (path point): I, J, K // P3 (end point): X, Y, Z N30 M02

Requirements G303
TwinCAT | GST |
|---|---|
TwinCAT V3.1.4024.40 | GST 3.1.8.62 |
Từ khóa » G02 Cnc
-
G02 CW / G03 CCW Circular Interpolation Motion (Group 01)
-
Quick G-Code Arc Tutorial: Make G02 & G03 Easy, Avoid Mistakes
-
GCODE G02/G03 (Circular Interpolation) - Machining Doctor
-
CNC G Code: G02 And G03
-
G02 G03 G Code Circular Interpolation Example Program
-
G02 G03 Example CNC Mill - Helman CNC
-
Quick Guide To The G02 CNC G Code [Tips And Tricks]
-
G02 And G03 Code Examples - CNCForum.Net
-
G02 G03 Circular Interpolation - CNC Training Centre
-
G02 G03 WITH I,J & K METHOD | CNC PROGRAMMING ... - YouTube
-
Circular Interpolation (G02/G03) - Beckhoff Information System
-
CNC G Codes
-
G02- Cắt đường (cung) Tròn Theo Chiều Kim đồng Hồ
