to show a simulation or real-time action in the CNC
machine workshop.
However, 3D kernels are expensive and only
accessible through a very closed interface which in
many cases is not powerful enough to show the
machine’s potential.
In the scope of the SIMUMEK research project
(Moreno, 2004), we have worked together with a
CNC producer and a NC simulation software
company to test different simulation approaches in a
general framework. The main result of the project is
a low cost NC simulation kernel capable to deal with
different types of machine operations like multi axis
milling, classical lathe (2 ½ DOF) and C-axis lathe.
The obtained simulation kernel is generic and has
been tested with several simultaneous cutters.
In this paper we will address directly the results
obtained from this research project where the most
critical restrictions are:
• There is no previous knowledge of the CNC
machine code.
• The NC machine gives the tool movements as
tool positions, sampled every few milliseconds.
• The graphical system must run in real-time
while the real machine is performing the piece
cut.
This paper will be presented ad follows:
In chapter 2 a brief state of the art is reviewed
not intending to be an extensive study of the actual
techniques but to introduce the non familiar reader
to some of the technical terms used along the paper.
In chapter 3, the internal algorithms of the
simulator are described, focusing in the geometrical
representation and its usage.
In chapter 4, the efficiency results from the
geometrical representation and the simulation test
are shown.
Finally, the conclusions and the future work are
exposed.
2 STATE OF THE ART
The NC machining simulation using computer
graphics techniques is a widely extended research
topic.
Some traditional approaches do not store the
geometrical information during the simulation, but
they simply modify the drawing screen using an
image-based approach.
There are solutions that store in the computers
memory the intermediate result, having an internal
3D geometric representation of the object that is
changed dynamically during the simulation. This
allows a permanent representation and point of view
independency of the object, better geometric
accuracy control, collision detection, etc.
Van Hook (Van Hook, 1989) used an extended
Z-buffer data structure (called a Dexel structure) for
the graphical verification. In his paper he presented a
scan method to convert surface data into his Dexel
(depth element) structure, and to store Z values for
the nearest and the farthest surface at each Dexel.
This technique has been extended by several authors
(Zhu, 2004).
Another traditional CG techniques for the
geometric representation include i) B-Rep ii) CSG,
and iii) Hierarchical Space Decomposition.
Although B-Rep is the most used method for the
solid modeling in modern CAD systems, its
straightforward use for machining simulation is
mainly impaired by the long time required for
simulation (Spence, 2001). A similar problem occurs
with CSG representation, with computational costs
of order O(n
2
), where n is the number of primitives
(Stewart, 2003) being computationally expensive.
To cope with the complexity of the problem and
the long time required in these approaches, the
approximation of the exact geometry, and especially
the partitioning of the object in suitable regions has
been proposed by several authors (Stewart, 2003).
The most classic technique for volume
partitioning is the voxel representation (classical
octree, extended octree (Brunet, 1990), SP-Octree
(Cano, 2002)) that combines the space partitioning,
solid representation and boolean operation support
in a single definition.
Maeng et al (Maeng, 2003) have used the Z-map
scheme, where the work piece is approximated as a
set of z-axis aligned vectors, that restricts the
application to the 3-axis NC machining.
The level (or slice) based representation is
widely used in the computer assisted telemedicine to
generate 3D models from 2D layers (scanners,
CATs) (Fujimori, 2004). However, the support for
true real time visualization is not easily
accomplished.
In this paper, we present a level-based solid
representation. Although some similarities can be
found with the level approximation of the
telemedicine area, the main difference of this work
is the orientation towards boolean operations.
3 PROPOSED REPRESENTATION
In this chapter, we will introduce the simulator
components. For a deeper explanation about the
GRAPP 2006 - COMPUTER GRAPHICS THEORY AND APPLICATIONS
358