Software Simulation of 5-Axis CNC Milling using Multidirectional Heightmaps
MetadataShow full item record
Machinists often simulate a part program to verify its correctness, since mistakes can cause damage to the part, machine, oneself, or others. A popular approach for part program simulation involves representing the stock (the material the part is being carved from) as a heightmap. Although this approach is computationally fast and memory efficient, only objects that are representable as functional surfaces (e.g., z = f(x, y)) can be machined. This thesis presents a new heightmap-based data structure, called a multidirectional heightmap, that does not have this limitation. A multidirectional heightmap, in response to an overhang, recursively subdivides itself until each piece can be represented by an axis-aligned heightmap. More precisely, a multidirectional heightmap is a kD-tree with the property that all cells are functional: each cell contains a heightmap that represents a functional portion of the stock. To improve accuracy, each regular heightmap can be replaced by a 3-Way Heightmap, a new type of heightmap that samples the tool along all three stock axis directions (three ways) rather than just one. The experimental results herein suggest that the multidirectional heightmap data structure achieves a good level of performance with respect to memory usage, CPU usage, and approximation error.