3D tool paths are much about tradeoffs between quality and cost. As cut tolerances shrink, calculation time, file size, and run times balloon. Excessively fine tolerances may result in hundreds or thousands of blocks of code to move a short distance. This not only takes longer to calculate, it causes problems at the machine. It is therefore important to understand all tolerances involved with 3D tool paths, choose values appropriate to the task, and take actions to reduce CNC program file size while maintaining design intent.

CNC programs with unnecessarily fine tolerances should be avoided. CNC controls can only process a finite number of blocks of code per second. This processing speed, called the block execution time, varies between machines. Modern machines may be capable of processing several thousand blocks of code each second while older controls may be limited to less than a hundred.

If the number of blocks per second exceeds the machine capacity to process, a phenomenon known as data starving can occur: the control is overwhelmed with data and must pause after each move to wait for the next. This abrupt stopping and starting may happen hundreds of times per second.

Due to the mass of the machine components, the result is an effect similar to alternately pushing the accelerator then brake in a car. The machine may physically shake and shudder, a phenomenon called "bumping". The actual feed rate of the machine may be a fraction of the programmed feed rate.

Data starving causes excessive CNC machine wear, poor surface finish, and excessive program run times. One solution at the machine is to use the machine manual feed rate override to feed rate until the shuddering stops. Some machines allow the control acceleration/deceleration function to be disabled or modified.

Much can be done at the CNC programming stage to avoid or correct this problem. Choose machining tolerances wisely. Use the CAD/CAM software tool path filtering function. Filtering works by analyzing the cut path and fitting long lines or tangent arcs where possible to replace short line moves. This may significantly reduce program size (by as much as 90%) while increasing the span of each move.

One consideration when choosing a tool path strategy is how well it will filter. Paths parallel to a CNC work plane (G17/G18/G19) filter far better than paths that are not.

Cut tolerance, illustrated in Figure 9.3, controls how closely the tool path follows a theoretically perfect path along the surface. Cut tolerance is a plus or minus value, so the total cut tolerance band is twice the tolerance value.

Figure 9.3: Cut Tolerance

Cut tolerance and filter tolerances are additive. For instance, a cut tolerance of .0005 and filter tolerance of .001 means the tool path can vary from the theoretically perfect path by as much as .0015 inches to either side of the planned path.