Journal of Advanced Mechanical Design, Systems, and Manufacturing (Sep 2017)

Boolean operations between two colliding shells: a robust, exact, and simple method

  • Jerome CHARTON,
  • Laehyun KIM,
  • Youngjun KIM

DOI
https://doi.org/10.1299/jamdsm.2017jamdsm0041
Journal volume & issue
Vol. 11, no. 4
pp. JAMDSM0041 – JAMDSM0041

Abstract

Read online

Boolean operations are classic procedures in computer-aided design, and allow the creation of complex objects by combining simple objects. Although Boolean operations are trivial in implicit surface representations, they are problematic in polygonal meshes. Methods that directly use meshes to compute Boolean operations consistently consider the intersections between two faces without taking into account coplanar collisions. Thus, they either perturb the input meshes when colliding faces are coplanar or simply ignore this kind of collision. Most existing approaches for Boolean operations convert input meshes to volumetric representations such as binary space partitioning (BSP) and voxel grids. The output mesh is obtained by remeshing the resulting volumetric model. We propose a robust, exact, and simple method to manage Boolean operations between colliding shells without conversion and use a pure surface approach. The proposed method consists of three steps: (1) Calculating the intersections of input shells for both non-coplanar and coplanar collisions, (2) Decomposing the whole new mesh into its manifold components, and (3) Preserving only the components related to the requested operation (union or intersection). Subtraction operations are considered by reversing the surface orientation of the subtracted shell using the intersection operation. The output preserves the exact geometry of the input mesh while adding vertices for the remeshed colliding faces. In comparison with existing methods that use the mesh directly, the main advantage of the proposed method is that it processes coplanar collisions without geometrical modification, which avoids creating many small shells when two objects share the same part of the surface. Compared with methods using volumetric representation, the proposed method is faster and does not require input meshes without a boundary. We demonstrated the effectiveness of our method using synthetic models and real-world objects.

Keywords