# What is interpolation in programming

## Interpolation: Path control with the interpolator

So that a workpiece can be manufactured, the axes on CNC machines must be guided in the correct direction in the case of path controls (regardless of whether they are 2D or 3D). A software program, also known as an interpolator, takes over this task on CNC machines.

For each block of a CNC program, the interpolator calculates the traverse paths for the mathematically definable routes as well as the necessary shifts of the axes so that the tool is guided along these routes and the workpiece is manufactured. The positions between the start and target position are calculated for each record.

CNC machines have various types of interpolation so that the workpieces can be manufactured with the simplest possible commands and high accuracy. These are:

For each type of interpolation there are CNC commands to carry out the corresponding interpolation. These are:

• G00: Linear interpolation in rapid traverse
• G01: Linear interpolation in processing speed
• G02: Clockwise circular interpolation
• G03: Counter-clockwise circular interpolation

There are no special G commands for parabola, spline, nano and pico interpolation. These traverse paths are achieved, for example, via textual programming, the commands of which are machine-specific, e.g. #SPLINE ON, #SPLINE OFF, #ASPLINE MODE, #ASPLINE STARTTANG, #ASPLINE ENDTANG for spline interpolation on an Akima machine. Some manufacturers use G06 for parabolic or spline interpolation. The most convenient way to implement the program is via a CAM system. The workpiece is drawn on the computer and the implementation in a CNC program is done by the CAM system. These interpolations are not even possible on many controls. Therefore, if you need them, you should make sure that these types of interpolation are possible when buying a machine.

For circular movements, interpolation parameters are necessary for the individual axes. These are used to indicate the center of the circle and, unless otherwise specified, are defined as follows:

• I: X axis
• J: Y axis
• K: Z axis