Alyn Rockwood
CTO FreeDesign Inc.
Longmont, Colo.
Edited by Leslie Gordon
|
A car
object is being
designed with
Nurbs. Such models
contain curves that have
no design purpose.
|
|
A proverbial napkin sketch shows
how designs are often
conceptualized.
|
|
The napkin sketch is built
into a 3D model in
modeling software.
|
|
|
The blue surface ribbon is defining the
slope of the coffee
pot (top). The small
blue cylinders on the
handles determine
the magnitude of the
ribbons. Sliding the
cylinders along the
curve handles gives
the surface greater or
lesser fullness. A
larger ribbon and a
fuller surface came
from using this
method (bottom). No
curves or slope directions were changed.
|
|
A coffee-pot handle is
being designed in FreeDimension software,
based on N-Sided Surfaces
technology. The green
points and curve handles
are defining the shape of
the blue curve. Any
number of curve handles
may be used to define
curves, which allows for
generating complex
feature lines.
|
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
nonuniform rational B-spline
(Nurbs) curves and surfaces. A
detailed description of Nurbs
technology is helpful here.
NURBS TECHNOLOGY
Nurbs curves can represent
anything from straight lines, to
parabolas, to almost any complex
organic curve, depending on the
number of terms the polynomial
equation has that represents the
curve. Recall from high-school algebra that the equation of a line is
a first-degree polynomial that
looks like y = ax + b. The equation
of a parabola, on the other hand,
has the form y = ax2+ bx + c, while the equation of what's called a cubic spline is y = ax3 + bx2 + cx + d.
The greater the number of terms
in an equation, the more complex
the curve.
Information stored in the data
structure of a Nurbs curve or surface comprises points, weights,
and parameters that make up a
Nurbs control net, a grid of
straight lines that define the
shape of a curve but doesn't
touch it. Points are vertices of the
control net, and weights determine the amount of surface deflection toward a control point.
Bezier and Nurbs surfaces can
be thought of as sweeps of
curves. A good way to understand
this is to hold a flexible wire between your hands and imagine
the surface generated as you
twist and turn the cable through
space.
Nurbs is widely used because
B-splines are a polynomial form
for which continuity between surface patches is simple to ensure.
Continuity is basically the degree
of smoothness between patches.
Nurbs technology lets control
points exert variable influence on
surfaces. What are called rational
B-splines are defined by a ratio of
polynomials. The main purpose
of this form is to define conics
and quadrics exactly. Spheres
and cylinders are examples.
A FEW PROBLEMS WITH NURBS
Nurbs became the standard for
surface modeling in the 1980s. Today, most surface modelers have
some form of Nurbs input and
output. Also, Nurbs is widely used
in analysis, rendering, milling,
and mold-flow simulation software, typically with files in the
IGES format.
However, the drive to make
Nurbs the standard, although
probably unavoidable, may have
been premature. Nurbs can actually impose burdens on designers.
For example, trimming surface
patches is often necessary. Most
modeler developers tout trimming
as a positive attribute because it
works with the Boolean operations of unite and intersect. Yet
trimming should be regarded as a
band-aid fix that creates a more
complex data structure and
thereby results in considerably
more expensive computations.
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
free-form 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.
AN ALTERNATIVE
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.
MAKE CONTACT
FreeDesign Inc.,
To download trial
software, visit freedesign-inc.com.
How to model shapes
Shape modeling has four basic approaches. Accomplished designers often use
several in combination depending on what best fits a particular need. The
feature-curve method came out of recent research.
Boolean operations, also called Constructive Solid Geometry (CSG)
modeling. Users position primitive solids and unite, intersect, and subtract
them. This method generates a wide range of "engineering" objects.
Recursive subdivision — Users manipulate polyhedra by extruding,
splitting, or combining faces. The software smoothes the resulting faceted
objects. This approach provides a quick way to generate organic shapes, such
as for animations.
Patch-based modeling is the classic approach to free-form surfacing. It
ultimately entails tiling surfaces of objects with four-sided patches. This method
is widely used in industries including aerospace, automotive, and shipbuilding.
Feature-curve — Users first generate feature curves of objects. The software
fills intervening surfaces regardless of the number of sides. |