trueSpace NURBS1 Oct, 2003 By: John E. Wilson
Like virtually all of today's 3D modelers, trueSpace supports NURBS curves and surfaces. NURBS, which is an acronym for Non-Uniform Rational B-Spline, is a versatile computer-based system for creating everything from a straight line to surfaces having curvatures that are slightly different at each point. The trueSpace tools for creating NURBS curves were described in last month's column. This month we will concentrate on NURBS surfaces. Unlike those of trueSpace polyhedra objects, NURBS surfaces are not faceted and always perfectly smooth.
You can create NURBS surfaces in basic geometric shapes using the tools for making primitives. These tools, whose icons are blue in color, can be found on the left end of the Object toolbar and in the Primitives Library. Right-click an icon to bring up the tool's Property panel for setting the parameters of the tool. In addition to the usual sphere-, box-, and cylinder-shaped primitives, trueSpace also has a rectangular planar primitive and a saddle primitive, which is a rectangular surface that is curved in opposite directions, as shown in Figure 1.
As soon as you create a NURBS primitive, it is enclosed within the Selector Box, and you can use the box to change its size, orientation, and location. See the July 2003 Third Dimension column for more on the Selector Box. The Selector Box also encloses any existing primitive you have chosen with the Selector tool. For lower level editing, you can right-click a selected NURBS primitive to display its surface grid along with the context-sensitive toolbar (shown in Figure 1) for working with the grid. trueSpace refers to the elements of this grid as Isocurves. Through the toolbar you can select individual control points as well as Isocurves, and, once they are selected, trueSpace displays a special form of the Selector Box, which is called the Isocurve Controller, for you to use in moving and twisting them. You can also create and delete isocurves, create curves from isocurves, and split a surface in two at an isocurve.
Figure 1. trueSpace's saddle primitive is a rectangular surface that is curved in two directions. When you right-click a selected primitive, trueSpace displays its surface grid and a set of tools for working with the grid.
NURBS From Curves
trueSpace has three tools in the Object Tools toolbar for transforming existing NURBS curves into NURBS surfaces--the Loft Surface tool, the Birail Surface tool, and the Skin Surface tool. The Loft Surface tool creates a surface by sweeping a profile curve along a rail curve, while the Birail Surface tool sweeps a profile curve along a pair of rail curves. The profile and rail curves can be open or closed. The Loft Surface tool moves and orients the profile so that it is perpendicular and centered with the rail. The Birail Surface tool moves, orients, and resizes the profile so that it is perpendicular with and its edge touches the two rails.
The Skin Surface tool connects the space between two or more existing profile curves with a NURBS surface. trueSpace allows you to mix open and closed profiles, but the resulting surface is not likely to be what you intended. Nor will the resulting surface be what you intended if the profiles have not all been drawn in the same direction. After initiating the Skin Surface tool, you select the first profile and then select a second one. trueSpace creates a surface between the two profiles, and you can select, in order, any number of additional curves to extend the surface. If you have just two profiles, the surface between them is linear. Between three or more profiles, though, the surface becomes smoothly curved.
NURBS Interactive Surfaces
Whenever you finish drawing a curve, trueSpace displays a toolbar that has four tools for transforming the curve into a NURBS surface. The most straightforward of these is the Extrude tool. When you select it, a yellow extrusion direction indicator appears in the center of the curve and points perpendicularly from it. You can click and drag the indicator to establish the extrusion distance or simply click it to extrude the curve by the distance in the tool's Options panel.
The other three tools in this toolbar extrude the curve into a surface and then enter an editing mode. In this mode, two additional panels are added to the edges of the draw panel and are perpendicular to it, to create the TriPanel, as shown in Figure 2. Simultaneously, one or more (depending on the tool you selected) rails are created and projected as curves onto the two new panels. You then edit these rail projections to change the straight extruded surface into something more elaborate. You use the same curve editing tools described last month to edit it. In most cases, your first editing step will be to create additional control points for the rails with the Add New Curve Point tool. As you edit the projected curves, the surface's shape reflects your changes.
The toolbar's interactive Rail Surface tool projects the centerline of the surface onto each of the two vertical draw panels. The interactive Birail Surface tool, on the other hand, projects two pairs of curves onto the vertical draw panels. For open profiles, each pair represents the two projected ends of the surface. And, for closed profiles, each pair represents the projected opposite outside points. One of the two pairs is brown in color, and inactive. Click either brown curve to activate the pair (their color will become blue) and deactivate the other pair. The interactive Cross-Section Surface tool projects four curves representing the silhouette edges of the surface onto the two vertical panels. Changes you make to one curve affect the corresponding quarter of the surface.
You can restore the rails and profiles of a NURBS interactive surface object, along with the TriPanel, by first selecting it with the Selector tool and then right-clicking it. This same technique edits Loft Surface and Birail Surface objects, even though initially they did not have a TriPanel. You can remove an object's history with the Convert NURBS Object to Patch, and then edit it as if it were a primitive NURBS object.
Figure 2. The trueSpace NURBS interactive surface tools transform a curve into a 3D surface, display the TriPanel, and project one or more (depending on the tool you have used) rail curves onto the TriPanel. Then, you edit the projected curve, or curves, to adjust the shape of the surface. The object in this figure was created by the Cross-Section Surface tool from a circle.
Modifying NURBS Surfaces
trueSpace has a number of tools in the Object Tools toolbar for managing and modifying NURBS surfaces. Of these, the Blend Surface tool creates a surface in the space between two surface objects. Right-click the tool to display the Blend Options panel, then invoke the tool and select an edge from each surface. The two surfaces are joined by a surface, and you can change the Smoothness settings in the Blend Options panel to adjust the shape of the surface and its transition with the existing surfaces.
Use the Cap tool to close an open end of a NURBS surface. You may select just a single edge, and that edge must be planar. The Trimming Curve Project tool cuts a hole in a surface by projecting an existing curve onto the surface. Options of the tool permit you to delete the surface portion that is within the curve's boundary or the portion outside the curve's boundary. The Draw Trimming Curve works in a similar manner, except that you draw a curve directly on the surface you want to trim.
Operating system: Windows 95, 98, ME, XP, NT 4, 2000, or XP Pro. The program's facial animation tools, though, do not work in Windows 95.
Minimum hardware: Pentium, or equivalent, microprocessor, 64MB of RAM, 50MB hard disk space, 16MB video, CD-ROM drive.
In her easy-to-follow, friendly style, long-time Cadalyst contributing editor Lynn Allen guides you through a new feature or time-saving trick in every episode of her popular AutoCAD Video Tips. Subscribe to the free Cadalyst Video Picks newsletter, and we'll notify you every time a new video tip is published. All exclusively from Cadalyst!