Normally, programmer decides on the setup of a part in the fixture and selects the appropriate location of XYZ program zero (part reference point or part zero). When using work offsets, XY axes are always measured from the machine reference point to the program zero position. By a strict definition, the same rule applies to the Z-axis as well. The major difference is that both measured XY values will remain unchanged for all tools, whether there is one tool used or one hundred tools. That is not the case with Z-axis.
The reason? Each tool has a different length.
Length of each cutting tool has to be accounted for in every program for a CNC machining center. Since the earliest applications of numerical control, various techniques of programming tool length have emerged. They all belong into one of two basic groups:
- Actual tool length is known
- Actual tool length is unknown
Needless to say, each group requires its own unique programming technique. To understand the concept of tool length in CNC programming, it is important to understand meaning of the phrase actual tool length. This length is sometimes known as the physical tool length or just tool length and has a very specific meaning in CNC programming and setup.
Actual Tool Length
Let’s evaluate a simple tool first. By holding a typical drill, we can determine its physical length with a measuring device. In human terms, a six inch long drill has a length of six inches, measured from one end to the other. In CNC programming that is still true, but not quite as relevant. A drill – or any other cutting tool – is normally mounted in a tool holder and only a portion of the actual tool projects out, the rest is hidden in the holder. Tool holder is mounted in the spindle by means of a standardized tooling system. Tool designations, such as the common sizes HSK63, HSK100, BT40 and CAT50, are examples of established European and American standards. Any tool holder within its category will fit any machine tool designed for that category. This is just one more precision feature built into the CNC machine.
Length of a tool for the purposes of CNC programming must always be associated with the tool holder and in relation to the machine design. For that purpose,manufacturers build a precision reference position into the spindle, called the gauge line (or gage line).
When a tool holder with cutting tool is mounted in the spindle of CNC machine, its own taper is mounted against an opposite taper inside the spindle and held in tightly by a pullbar. Precision of manufacturing allows for a constant location of the tool holder (any tool holder) in the spindle. This position is used for reference and is commonly called the gauge line.As the name suggests, it is an imaginary reference line used for gauging – or measuring – along the Z-axis – Figure 19-1.
Gauge line is used for accurate measuring of tool length and any tool motion along the Z- axis. Gauge line is determined by the machine manufacturer and is closely related to another precision face, called the machine table, actually, the table top face.Gauge line is one side of a plane that is parallel with another plane – the table top face.
Table Top Face
Every CNC machining center has a built-in machine table on which the fixture and part are mounted. Top of the machine table is precision ground to guarantee flatness and squareness for the located part.
In addition, machine table is located a certain fixed distance from the gauge line. Just like the position of tool holder in the spindle cannot be changed, the position of table (even for a removable table using a palette system) cannot be changed either. Surface of the table creates another reference plane that is related to the gauge line and parallel to it as well. This arrangement allows to accurately program a tool motion along the Z-axis.
Tool length offset (compensation) can be defined:
Tool length offset is a procedure that corrects the difference between programmed tool length and its actual length.
The most significant benefit of tool length offset in CNC programming is that it enables the programmer to design a complete program, using as many tools as necessary, without actually knowing the actual length of any tool.