FANUC three-dimensional arcs G02.4/G03.4: what sets direction, and must the intermediate point be halfway?
An original semicircle in an inclined plane explains three-point orientation for 30i-B three-dimensional arcs. The intermediate point need not be at half the arc length, and the second incremental block is measured from that point.
Contents
G02.4 and G03.4 can tempt programmers to reuse ordinary G02/G03 clockwise/counterclockwise rules, while “intermediate point” can suggest the arc-length midpoint. Both intuitions can be wrong for three-dimensional circular interpolation.
Three points define the arc
The FANUC 30i/31i/32i-B common operator's manual B-64484EN/03, §4.24, pages 122–123 (public mirror of the original manual) specifies that the current position supplies the start point, and two blocks specify the intermediate point and endpoint. G02.4 and G03.4 produce the same motion; the code cannot select rotation direction. The section describes systems configured with the three-dimensional circular interpolation function.
An intermediate point that is not halfway
An original geometric example has radius 10 mm, center at the origin and arc plane z=y. Let start S=(10,0,0), intermediate point M=(5√2,5,5) and endpoint E=(−10,0,0). All three satisfy x²+y²+z²=100 and z=y.
Within the circle's plane, write x=10cosφ and y=z=5√2sinφ. S, M and E then correspond to φ=0°, 45° and 180°. Arc length from S to M is 10π/4≈7.854 mm, and from M to E is 30π/4≈23.562 mm. M lies only one quarter of the way along the whole arc but still defines this semicircle.
Changing the intermediate point to (5√2,−5,−5) keeps the endpoints but selects the circle's other half. It changes the three-point geometry; changing only G02.4 to G03.4 does not achieve this.
Where the second incremental block starts
The same manual requires M−S in the first incremental block and E−M in the second. Converting the example gives:
| Increment | X | Y | Z |
|---|---|---|---|
| First block M−S | 5√2−10≈−2.929 | 5 | 5 |
| Second block E−M | −10−5√2≈−17.071 | −5 | −5 |
If the second block is incorrectly written as E−S=(−20,0,0), accumulation from M ends at (5√2−20,5,5), about (−12.929,5,5), rather than E. Two blocks jointly defining one arc does not make both increments relative to the same start.
Two lines do not mean two single-block stopping points
This edition explicitly states that single-block operation moves from the start to the endpoint without stopping at the intermediate point between the two blocks. M is a geometric definition point, not an automatically generated inspection stop.
For offline path review, check that all three points lie on the target circle and plane, which side of the required arc contains M, and whether adding the two increments reaches the target endpoint. This example verifies geometry only, without cutter compensation, additional axes or a solid-body collision model; it cannot establish the spatial safety of an entire machine. Related resources are in the OPTION section.