Computing Solid Geometry from Surfaces - CAD I'm an engineer and I recently took a course at my local university about CAD curves and surfaces. I understand how NURBS surfaces work and how to generate the complex surfaces that models consist of.
What I don't understand, however, is how they determine that the surfaces are properly joined together to make a solid. I've searched in textbooks and in journals and all I've been able to come up with is something about the Euler characteristic.
Can anyone shed some light on this?
 A: The first step is to determine whether or not the surfaces form a 2-manifold. In CAD terms, this means that each edge is shared by exactly two faces. This is necessary, but is not enough, by itself, because the faces of a 2-manifold might be self-intersecting, which would mean that (arguably) they do not define a valid solid. Imagine a cube-like shape, with six faces, each of which is a NURBS surface. This is certainly a 2-manifold, and it defines a solid body. Now take the top face and deform it's middle portion downwards. Keep pulling downwards until the top face passes through the bottom face. You still have a 2-manifold, but it no longer defines a solid body.
The Euler characteristic is (originally) a property of polyhedra (solid bodies wih planar faces). It can be extended to curved surfaces, but it's not much value in telling you whether or not you have a solid body. Again, think about the cube-like model described above. As you deform its surfaces, its ability to represent a valid solid body will change, but its Euler characteristic will not.
