With so much buzz surrounding solid modeling, why should anyone bother with surface modeling? Because even with the best of today's capable solid modelers, there are times only surface-modeling functions can properly shape a part. A little history, a little math, and a little comparison between surface and solid modeling can help explain the role of modern surface modelers.
A little history
Surface modeling was developed in the automotive and aerospace industries in the late 1970s to design and manufacture complex shapes. Nurbs -- nonuniform rational B-splines -- and cubic-surface formats appeared early and remain the primary spline and surface formats used throughout the CAD industry. Nurbs and cubics are supported by IGES (Initial Graphics Exchange Specification), a neutral file format for exchanging data between CAD systems.
Nurbs and cubic formats are represented in a computer by polynomial equations generated by a CAD system, and onscreen through the location and shape of curves and surfaces. For example, the equation of a line, a first-degree polynomial, has this form
Y = ax + b
The equation for a parabola, a second-degree polynomial, has the form
Y = ax2 + bx + c
And the equation of a cubic spline, a third-degree polynomial, looks like
Y = ax3 + bx2 + cx + d
The more terms in the polynomial equation, the more "shape" the curve or surface has.
The data structure of a Nurbs curve or surface is comprised of points, weights, and parameter values that define a control net which is tangent to the curve or surface. The control net on a Nurbs surface is a rectangular grid of connected straight-line elements which define the tangency of the surface at positions along the control net. The points in the database which describe the control net are not actually on the surface, they are at the vertices of the control net. Weights in the Nurbs data structure determine the amount of surface deflection toward or away from its control point.
Cubic data structures use third-degree polynomials that describe points actually on the curve or surface. Therefore, the Nurbs control net is an abstraction of the underlying surface, whereas the cubic equation is the surface.
Nurbs and cubic formats each have advantages and disadvantages. Nurbs equations model more complex shapes by increasing the degree of the exponents in the polynomial, thus increasing the memory required to store and evaluate the equation. Cubic equations, on the other hand, require less storage and can capture complex shapes by adding more cubic segments to the spline or surface. Nurbs and cubic equations are said to be "piecewise" and "parametric," which means the curve or surface is a sequence of connected segments that use parametric u and v values ranging from 0 to 1 or 0 to n (number of segments) to calculate points along the curve or surface.
Ultimately, a good CAD system shields users from having to know too much about the mathematics that represent the underlying surfaces. In addition, surface modelers should:
Two useful surface-modeling functions are the controlled sweep and the draft surface. A controlled sweep forces a profile curve to remain perpendicular to the sweep path by using a control surface. Without a control surface in the construction of a swept surface, the profile curve typically wants to lay down or spin around the sweep path. A properly defined control surface solves the problem.
A draft surface is similar to a controlled sweep in that it uses curves lying on one surface to create another. The resultant draft surface passes through the input curve and is composed of straight-line elements radiating from the reference surface at an angle to the surface normal vectors taken at points along the input curve. A draft-surface function can build one surface perpendicular to another, along a curve.
While surface modelers excel at defining complex shapes, solid modeling is good at quickly building primitive geometry. Primitive geometry consists of basic surfaces such as planes, cylinders, cones, spheres, and tori. Surface modeling is not as fast at creating simple part geometry, but if your solid modeler can't easily model a feature, such as a fillet, surface modeling can almost always finish the part.
And for every solid-modeling function there is a counterpart in surface modeling. Nurbs surfaces can be incorporated into an existing solid model by "stitching" the Nurbs surface to the solid model.Some parts can be completely defined by a solid modeler as a collection of primitive surfaces, while other parts require Nurbs surfaces to fully define the geometry. Most parts manufactured with tooling require some kind of Nurbs surface to support production. Reverse engineering is heavily dependent on Nurbs surfaces to capture digitized points into surfaces.
In addition, Nurbs-surface files generated over the last 20 years are circulating in IGES format between vendors and subcontractors. These files support the design of parts in one system and manufacturing in another. Solid modeling will not replace Nurbs-surface modeling because the two work hand in hand to complete part geometry.
How to model a mouse and other complex parts
Defining surfaces is as easy as defining setup geometry. It helps to envision the surfaces on a part as being processes applied to the underlying curve geometry. The mouse, for example, is defined by processes applied to just two curve profiles.
To begin, the side walls and floor or bottom of the mouse are defined as a planar profile. This profile is composed of several lines, arcs, and fillets, made tangent and trimmed to define a closed sequence of curves. The sidewalls of the mouse are defined simply by extruding the closed profile an appropriate distance with outward draft. The mouse top is a surface made by revolving a line-arc sequence. It's part spherical and part cylindrical.
After defining the foundation surfaces, they can be trimmed and filleted. Trimming is performed after defining the initial surfaces and can be as important to modeling the finished part as defining the initial surfaces. Trimming alters the shape of the part. In this example, more surfaces were discarded than were kept as a result of trimming.
Edge fillets around the part are more than esthetic considerations because they add to the ergonomic design of the part.
How to model threads
There are times when it's useful to model a complete thread surface. Before a stress analysis, for instance, both surface and solid modeling are required to define the thread. Modeling a tapered thread with different angles on the front and back side faces requires starting with a controlled swept surface.
The strategy is to model a continuous spiraling thread groove as one Nurbs surface and then subtract that surface from the thread blank to produce the standing thread. The thread blank is modeled, with taper, to the maximum diameter of the crest of the tapered thread.
The planar cross-section of one or two thread revolutions is modeled on location -- on the mid-plane of the thread blank. The path of the thread groove is modeled as a tapered helix. This helix is located at the center of the root fillet of the groove and serves as both the sweep path and to construct a temporary surface to control the sweep.
A control surface is a narrow ribbon constructed at 90° to the axis of the thread blank and through the tapered helix. The control surface looks like a spring with a flat cross section.The thread groove is then modeled by sweeping one instance of the thread-groove profile down the tapered helix, while keeping it perpendicular to the control surface. The groove surface is then subtracted from the thread blank to produce the standing thread.
Catching the right design in Nurbs nets
In one sense, the Nurbs net is a graphical representation of the first derivative (calculus for slope or tangency) of the surface equation. A Nurbs Net graphs the tangent vectors of the surface. While most users have little experience with the first derivative of a polynomial equation, graphically or mathematically, there is a more practical application for the net.
A Nurbs net is an effective editing tool for smoothing and refining the interior region of a Nurbs surface. By moving the vertices of the net, users can move underlying surfaces using a mechanism that forces surface smoothness during the edit. Users do not modify points on the Nurbs surface directly. Instead, they modify the net which, in turn, forces surface smoothness during the edit.
Some users have become adept at defining surfaces using a Nurbs net. But there is a downside. Points on the net are not "on" the underlying surface, so the net will not create a surface that goes through discrete point, which is sometimes necessary. Nurbs nets work well for designing organic features and other shapes where style and smoothness are more important than discrete location or precise cross-sections. This is not to say that Nurbs surfaces cannot be forced to obey precise constraint, it's just that the Nurbs net modeling technique is not constrained to do so.