An ultimate goal, of course, is to automatically produce NC programs that are error-free and perform the machining quickly. The generation of error-free NC programs directly from computer-based geometric models would significantly shorten the product development cycle. While some limited attempts at automatic NC program generation have been reported in the literature [7], a practical system has yet to be achieved. Producing such a system would be a very valuable step, and is quite likely to use a mix of computational geometry and classical optimization.
The special case of pocket machining has received recent attention and has had some success both in the algorithmic understanding of the problem, and in the automatic generation of NC programs. Held's thesis [69] brought to the forefront some of the issues of interest to computational geometers. Offshoots from Held's thesis, including software for offsetting polygonal boundaries, have made it into commercial products, such as LARK (available from MTA SZTAKI, a subdivision of the Hungarian Academy of Sciences, and the spin-off company, CADMUS). Provably good approximation algorithms for specific (simplified) classes of problems have been devised by CG'ers for minimizing the total tool motion [5] and the number of retractions necessary in ``zigzag'' pocket machining [6]. But many more problems must be addressed, particularly those that deal with realistic models of machining.
So far, the discussion has been limited to ``nominal spatial effects.'' It has been assumed that the tool moves exactly as specified and removes all material within its swept volume. In real systems, other considerations for verification or generation must be taken into account. One concern is variations from nominal geometry in terms of allowed tolerances and positioning uncertainties. Other considerations are dynamic effects, such as dealing with deformation of the part and tool due to pressure in cutting, tool breakage if the pressure is too great, and tool chatter and wear.