Application of CNC Milling Tool Radius Compensation


Modern CNC systems have tool radius compensation functions. The so-called tool radius compensation function is to preset the tool offset parameters. During programming, the program is written according to the contour size of the part to be processed. During the cutting process, this function enables the machine tool to automatically offset a value based on the preset tool offset parameters. The tool radius value makes the actual machining contour completely consistent with the programmed trajectory. This function can greatly simplify programming work, but if used improperly, it will cause problems such as undercutting and overcutting of the workpiece.

cnc milling tool

Create and Cancel Orders

G17, G18, and G19 are the milling tool radius compensation plane settings, that is, the XY plane, the ZX plane, and the YZ plane respectively; among them, G17 can be omitted. X_, Y_, Z_ are the tool end point coordinate values. G41, G42, and G40 are modal commands, which are left compensation, right compensation, and cancellation compensation respectively. D is the compensation number (D00~D99), which stores the radius compensation value of the tool.

Things to Note When Creating and Canceling

The following issues should be noted when establishing and canceling the tool radius compensation function:

  1. Note the cutter radius compensation plane. Milling tool radius compensation is performed in a certain processing plane, so attention should be paid to the corresponding processing plane settings. For example, when establishing and canceling in the XY plane (G17), the end point coordinates should be X_Y_, and Z_ should not appear. Also note that if you want to change the processing plane, you should first cancel the tool radius compensation and then change it.
  2. The establishment and cancellation of tool radius compensation should be performed on the straight line segment and not on the arc segment. In other words, G41/G42/G40 can only be followed by G00/G01, not G02/G03. Since the CNC machine tool program runs in the form of “run one section, analyze one section, and pre-read one section”, in the last two sections of G41/G42/G40, the tool must have statements that move linearly in the compensation plane, otherwise it will appear Error, such as the following code: …G41 G90; M03 S1000; G00 Z5; G00 X20 Y20; …In this code, in the G41 statement and the next two statements, there is no tool movement in the XY plane, and the machine tool will alarm.
  3. Pay attention to the problem of down and reverse milling. Down milling and up-cut milling are two methods of milling. Both milling methods have their own advantages and disadvantages. The surface quality of down-milled parts is good and the machining accuracy is high, but there are requirements for the stiffness of the machine tool. Generally speaking, rough milling is preferred. When the machine tool stiffness is good, climb milling can be used for finishing. According to the tool movement mode, left compensation (G41) is actually down milling, and right compensation (G42) is actually up milling, so the choice of left and right compensation is actually the choice of down or up milling.
  4. Leave a cut-in and cut-out distance. In CNC machining, in order to avoid tool marks, it is generally required to enter and exit the tool in the tangential direction. Therefore, when establishing and canceling tool radius compensation, attention should be paid to leaving a tangential entry and exit distance. The cutting distance P1A should be left when cutting the inner and outer contours. That is to say, when establishing tool radius compensation, the end point should be at point P1, not point A, otherwise a collision will occur. Similarly, when canceling tool radius compensation, you should start from point P2 and set the end point at P0. You cannot cancel the compensation after processing to point A. Of course, from P1 to A and from A to P2, you can use a straight line or an arc to cut in according to the structure. Cut out.
  5. It should be adapted to the direction of feed. When establishing tool radius compensation, the starting point should be coordinated with the selected entry point and feed method to ensure the effectiveness of tool radius compensation and avoid overcutting.
  6. Regarding the tool movement distance. Tool radius compensation is established and canceled during movement, so the moving distance of the tool should be greater than the radius of the tool, otherwise the machine tool may alarm.
  7. After using the CNC milling tool radius compensation, be sure to cancel it. The establishment of tool radius compensation is completed before the tool comes into contact with the workpiece. When tool radius compensation is not required or processing is completed, in order to return the tool to the starting position, the G40 command must be used to cancel tool radius compensation. When canceling tool radius compensation, This should also be done after the tool has cut away from the workpiece. That is, G41/G42 must be used in pairs with G40.


Simplify roughing and finishing procedures. Using different compensation values, one program can be used to complete roughing and finishing, thus simplifying programming. It should be noted that if the limit deviation of the size is inconsistent, the intermediate size should be programmed during programming.

Simplify convex and concave mold processing. In the processing of convex and concave molds, the tool compensation function can be used to process the convex and concave mold surfaces of the same nominal size using the same program.

Control processing accuracy. In the actual machining process, due to tool wear, tool stress deformation, etc., machining errors will still occur during finishing. If this error is relatively stable, we can easily measure its error value and use the tool radius compensation function to The compensation value can be corrected accordingly to ensure the dimensional accuracy of the part during finishing.


The tool radius compensation function of CNC milling allows programmers to program according to the known contour of the workpiece without having to calculate the trajectory of the tool center, thus simplifying the preparation of CNC machining programs, making programming more intuitive and improving work efficiency. However, improper use can easily cause problems such as over-cutting and under-cutting. It should be noted that this feature is not suitable for every occasion. According to the principle of tool radius compensation, tool radius compensation needs to be used only when programming is based on the workpiece contour. So generally speaking, this function can be used when processing inner and outer contours. However, if it is processing narrow groove parts, using this function will cause errors, so there is no need to use the tool radius compensation function.