BOOLE: A System for Computing Boundary Representations of CSG Solids composed of Sculptured Models

Click to view example CSG solid.

We have developed algorithms and a system, BOOLE, for generating B-reps from CSG solids descriped using sculptured models. We provide efficient and accurate algorithms for Boolean combinations of solids. We represent the surface of these solids in terms of trimmed and un-trimmed spline surfaces and a connectivity graph . Based on algorithms for trapezoidation of polygons, partitioning of polygons, surface intersection and ray-shooting, we compute the boundaries of the resulting solids after the Boolean operation. The preliminary version of the system is complete and has been tested on a number of industrial models We also address a number of robustness issues and techniques to handle some degenerate cases.

Overview of the method

Every CSG object is built from a set of primitive objects which are of a simpler structure, and we assume that each of these primitives is an oriented solid representable as a collection of parametric surface patches. Apart from the primitive objects, each intermediate and final solid in the CSG hierarchy is represented as a collection of trimmed surface patches. Along with the surface definition, every trimmed patch contains a trimming curve on its domain which unambiguously determines which part of the surface is to be retained. We also create a graph that maintains the connectivity information between the various patches of the solid. The entire algorithm proceeds in two steps. Initially, the complete intersection curve between the two solids (at some level in the CSG tree) is determined. If the set operation on the two solids is well-defined, the intersection curve partitions each solid. The second step of the algorithm uses the graph structure of each solid, and depending on the set operation, computes the new solid and its associated graph structure .

Click to view graph structure.


Return to Geometric and Solid Modeling page.

Return to UNC Research Group on Modeling, Physically-Based Simulation and Applications page.