FreeDesign Inc., Longmont, Colo.
Edited by Leslie Gordon
A main goal of CAD pioneers Bezier, de Casteljau, and Coons was to give engineers ways of easily generating shapes from curves with a computer. This made sense because design often involves conceptualizing shape in terms of curves, and shapes are but well-behaved surfaces that fill the voids between curves. The mathematicians invented widely used methods such as Bezier and B-spline curves and surface patches.
Today, Bezier curves are familiar to users of any vector drawing program. The most common such curves are fully defined by four points -- two end points and two control points. The latter are attached to the end points by tangent vectors. Dragging the control points thus defines the shape of the curve. B-splines, in turn, are a more generalized form of Bezier curves. Basically, line segments are pieced together to make curves, and patches are pieced together to make surfaces. Four decades of research and development then led to current modeling technology based on non-uniform rational B-spline (Nurbs) curves and surfaces. A detailed description of Nurbs technology is helpful here.
Also, trimmed boundaries are almost impossible to join with tangency to other surfaces. For example, trimmed boundaries are typically used along kinks and sharp edges created by Boolean operations. Such boundaries are likely to have gaps and require special healing operations. Most engineers would probably be happy to dump trimming if there were an alternative to designing with Booleans
Another issue: the so-called tartan plaid requirement. Nurbs surfaces need opposing boundary curves to have the same number of control points, even when one side is simple and the other complex. Thus, parameter lines running across surfaces create tartan-plaid structures. A surface can behave unexpectedly when these lines diverge too much. And a junction requirement makes yet another problem. Every corner must have four surfaces meeting at it. When this doesn't happen, it is difficult to maintain higher-order continuity there. Some modelers include a melding technique that allows these so-called T-junctions by approximately cleaning up the problem with a post-fix operation.
Attempts at Nurbs fixes
Several modelers have tried to address the various problems associated with Nurbs. For example, early piece-part modelers like Romulus from Shape Data used canonical surfaces such as spheres, cylinders, cones, and planes with Booleans and then blended them together. However, the program was far from a good shape modeler. Another program from Shape Data, Remus, worked by successively "chamfering" a polyhedral mesh until it became smooth. It generated B-spline surfaces except at what were called extraordinary points, which have a large number of patches converging around them. However, the large number of patches and lack of higher-order continuity at the extraordinary points doomed this approach for precision CAD applications. Perhaps the closest early attempt to a true curve-based modeler came from Designbase software. It used multisided Gregory patches and, therefore, allowed a freeform curve network. But the N-sided patches consisted of small rectangular Bezier patches that were blended at the boundaries and a center point. Patch distortions easily cropped up. However, fewer patches were required than with Nurbs.
Currently, shape modeling involves four basic approaches. Boolean, recursive, and patch-based methods are often used in combination with specific operations such as blending and filleting to enhance them. Until recently, the feature-curve method has seen only limited acceptance because of the difficulty in implementing it. As mentioned above, many designs involve conceptualizing shapes in terms of curves. The proverbial sketch on a napkin makes a good example. Probably the biggest problem to Nurbs modeling, then, is most designers don't think of just any set of curves. Rather, what's important are the feature curves of objects. These curves represent salient features such as boundaries, creases, and highlights. Nurbs models contain curves that have no design purpose -- they exist only to support patches.
Fortunately, recent research has produced a patent-pending N-Sided Surfaces (NSS) technology that supports the feature-curve method. FreeDimension (FD) software based on NSS targets conceptual and industrial design and is what's called technically a transfinite interpolation modeler. This means that surfaces interpolate to given curves rather than to points. NSS surface patches pass through any number of user-specified curves from 2 to N. A single curve may form a boundary with many patches. Curves are defined with points and so-called curve-handles, or tangent vectors in space. This is similar to Adobe Illustrator's method except curves are in 3D. Any number of curve handles may be used to define curves. Once users lay out curve networks, the software generates the surfaces, without the tedious process that Nurbs modelers use to divide the curves into four-sided patches. The software attempts to give the natural surfaces that curves define. But because this is always a subjective goal, some modification may be necessary. Tools are available to adjust surfaces without changing curves. One, called the surface ribbon, is a lofted surface that is ruled in one direction parameter and dictates the slope of the surface for greater or lesser fullness. The other tool, called the surface handle, is like a curve handle in that it is a tangent vector. However, a surface handle crosses the curve to determine the slope of the surface at the point of intersection. It influences the slope of the ribbon. The tool can be used, for instance, to design a crease that dissipates to a smooth transition along the hood and over the wheel well of a car object.