When programming arcs and radii, the programmer needs to describe the plane of the arc (G17, G18 or G19), the destination point (X, Y, Z axis coordinates), the direction of the arc (G02 or G03) and the location of the center of the arc. After choosing the plane, destination point, and direction of the arc, describe the center of the arc using an I, J, and/or K code(s).
NOTE: excerpted from 7 Easy Steps to CNC Programming . . . A Beginner’s Guide
There are a number ways that machine tool builders have chosen to program arc centers for their machines. Some require that the Is, Js and Ks are the location of the center of arc based on the absolute coordinates of the program.
Others require that the Is, Js and Ks describe the arc center location as an incremental distance and direction from the center of the arc to the start point of the arc.
The most common NC arc center method
The most common method of the more modern machines is to program the Is, Js and Ks using the following method:
- I = An incremental distance and direction from the start point of the arc to the arc center along the X axis.
- K = An incremental distance and direction from the start point of the arc to the arc center along the Z axis.
- J = An incremental distance and direction from the start point of the arc to the arc center along the Y axis.
Drawing #16 from 7 Easy Steps to CNC Programming . . . A Beginner’s Guide is a diagram showing the application of Is and Js. The large arc is the desired arc to be cut. The small circles represent the tool radius.
On a lathe this would be the tool nose radius and for a mill the circles would represent and end mill.
One difference between lathes and mills is that a lathe would use a combination of Is and Ks because arc on a lathe are typically on the X, Z (G18) plane.
The most common arcs on a mill are on the X, Y plane (G17) and use Is and Js.
Most mills are capable of generating arcs on any of the planes; X, Y; X, Z; or the Y, Z (G19) plane which would use Js and Ks. The method used to calculate the arc vectors I, J, or K is the same as illustrated in Drawing #16. . . distance and direction from the start point of the arc to the center of the arc.
You will notice that the circles that have their centers on the X and Y axis have an I and J value of 0. The two arcs that fall between the X and Y axis have both an I and J value equal to n which represents the distance from the center of the arc to the corresponding axis.
The minus (-) sign indicates the direction from the start point. The circles at the top and right side have negative values because the direction from the circle to the arc center is negative.
I, J, K, equal the displacement of the center of the tool
Another way of stating it is that I, J, K, equal the displacement of the center of the tool from the center of the arc along a given axis. Often, arcs do not start exactly on an axis and must be programmed with the appropriate combination of I’s, J’s, and K’s that correctly describe the arc center.
Arriving at the correct I, J, and K values will involve some simple right angle trigonometry. There are some diagrams starting on page 60 of 7 Easy Steps to CNC Programming . . . A Beginner’s Guide
More on NC Programming of Arcs
Some controls use an optional “R” code to describe the arc center. When this option is available, the programmer is only required to program the arc plane, arc direction, the end point, and the R code which equals the radius value of the arc
The machine does its own calculation of the arc center.
I, J, and K codes cannot be mixed with R codes. In the event these codes are mixed, the R code will take precedence over the other codes.
R codes are good for arcs up to 180 degrees. On some controls, placing a (-) sign in front of the R code will allow programming of arcs up to 359+ degrees, not quite 360 degrees.
When programming arcs, end points and arc centers must be calculated correctly. Errors in calculations will result in errors in the arcs generated. See Drawing #17.
Example A shows what happens when the programmed end point does not fall on the true arc. The tool will first follow the arc to the coordinate value of the end point for one axis then it moves in a straight line to the programmed coordinate value of the other axis.
Example B shows what happens when the end point is beyond the radius of the arc. The tool first completes the arc then moves in a straight line at 45º until the shortest axis distance is completed. Finally the tool moves to the programmed end point in another straight line.
Easily Programming 360° Arcs
360 degree arcs are most easily programmed by omitting a destination point and specifying only a plane, direction, and the appropriate I, J, and/or K codes.
G03 G17 I1.5, J0
Once again, the plane of the arc does not need to be programmed if the machine is already set to the correct plane. It is important, as with all arcs, that the end point of the arc and/or the radius of the arc are calculated correctly to prevent machining errors