VectorWorks' NURBS30 Apr, 2003 By: John E. Wilson
VectorWorks is both a 2D drafting and 3D modeling program from Nemetschek North America that sells for $895 and works on computers using either Macintosh or Microsoft operating systems. We have been concentrating on the program's 3D features in this column, so this month we will explore its tools and commands that create and manage NURBS surfaces and curves.
NURBS, which is an acronym for Non-Uniform Rational B-Spline, is a computer method for creating surfaces and curves that is used by virtually all of today's 3D modeling programs. While NURBS can create simple objects, such as straight lines and flat surfaces, it is especially good at creating complex, sculpted objects, including those that incorporate curves having radii that constantly change along the length of the curve.
NURBS was developed to simulate the metal or plastic flexible strips, which are often referred to as splines, used to draw the ribs of boat and aircraft hulls. Analogous to the metal weights that are attached to those splines to maintain a particular shape, NURBS curves and surfaces use control points to maintain a shape. Except for the ends and edges, these control points are generally away from the curve or surface. You can display control points with VectorWorks' 3D Reshape Tool. Once they are displayed, you can move them to reshape the curve or surface. This same tool allows you to increase the number of control points by increasing the degree of the equation that the curve or surface is based on. You can also use this tool to change the weight of a control point, which causes the curve or surface to draw closer to that control point or allows it to drift away from it.
VectorWorks uses NURBS curves as the edges and profiles of NURBS surfaces. You can create these curves directly with the NURBS Curve, Circle, and Arc tools, and you can create them indirectly by converting any 2D objects--such as lines, rectangles, or ellipses--to a NURBS curve with the Model>Convert to NURBS command. This conversion does not change the shapes of the 2D objects. You can also create NURBS curve from the edges of solid objects with the Extract Curve tool.
The Loft Surface Tool
The Loft Surface tool, which is in the 3D Power Pack palette, creates a surface from a set of profile objects that are NURBS curves, as shown in Figure 1. The profiles may be open or closed, but you cannot have a mix of the two. Also, the profiles do not have to be planar, but each profile must be a single object. These profiles act as cross sections of the surface; therefore, you will space them along the length of the surface. You can also place them at angles to one another to create bends and turns in the surface.
Figure 1. VectorWorks' Loft Surface tool creates a NURBS surface from a set of open or closed profile objects that are NURBS curves. These profile curves act as cross sections of the surface.
When you invoke the Loft Surface tool, VectorWorks prompts you to select the profile curves. You must select them in their order along the surface. As you select the profiles, VectorWorks draws a seam between them that passes through the vertex nearest the profile selection point. When you are finished selecting the profiles, click the check mark in the Mode bar, or press Enter (on Windows' computers) or Return (on Macintosh computers). VectorWorks then displays the Loft Creation dialog box for you to set the parameters of the loft surface.
Options in the Loft Creation dialog box allow you to adjust the loft's seam by specifying a profile and moving the attachment point of the seam. Should the seam be twisted between the profiles, the surface will also be twisted, and it may even self-intersect. Other options in the dialog box include the following:
- Ruled, which creates a linear surface between the profiles. When you have just two profiles, the surface is linear regardless of this option.
- Closed, which connects the first and last profiles with a surface. You will generally use this option when the profiles are arranged in a circular pattern, but it also works when they are in a row.
- Create Solid, which creates a 3D object completely enclosed within a unified surface. It has no effect if the profiles are open.
The dialog box also has options for retaining the profile objects after the surface is created and for previewing the results of the options you have selected.
Creating Surfaces from Curves
VectorWorks' Model>Create Surface from Curves command creates a surface from a single closed curve or two or more open curves. Use the 2D or 3D Selection tools to pick the curves prior to invoking the command. When a closed curve is used, it can be either a NURBS curve or a 2D object--such as an ellipse or a rectangle. If a closed NURBS curve is used, it can be either planar or non-planar. The closed curve acts as the boundary of the curve.
Open curves, on the other hand, can only be planar or non-planar NURBS curves, and each must touch another curve to form the boundary of a closed region. Each curve may touch an adjacent curve at an endpoint, or it may intersect the adjacent curve. Figure 2 shows a surface made from four open curves that touch end-to-end. In addition to the curves that define the boundary of the surface, you can also have interior curves to further define the profile of the surface. These interior curves must either touch or intersect two boundary curves that are not adjacent to each other. The effect of these interior curves can be similar to a two-rail sweep with multiple profiles.
Figure 2. VectorWorks' Model>Create Surface from Curves command creates a NURBS surface from a single closed curve or two or more open curves. Open curves must be NURBS curves, and each must touch its adjacent curve to form the boundary of a closed region.
Working with NURBS Surfaces
The Model>Create Fillet Surface command creates a new surface that is tangent to two existing NURBS surfaces. As with all VectorWorks commands, you must preselect the two surfaces before you invoke the command. A dialog box is displayed for you to enter the fillet radius, and the new surface is created with no additional input. The original two surfaces are not changed by this command. The operation fails if the size of the fillet does not fit the spacing and orientation of the selected surfaces or if more than one pair of surface edges fit the fillet size. If the edges of the two selected surfaces are not equal in length, the fillet surface adjusts its shape to fit the existing edges.
The Project and Trim tool of the 3D Power Pack palette enables you to cut through a NURBS surface with a 2D object or a NURBS curve. The tool prompts you to select, in order, the curve that is to do the cutting, the surface that is to be trimmed, and the region of the surface that is to be removed. The cutting curve is projected in the viewing direction, and it makes no difference whether it is in front of or behind the surface. If the cutting curve is open, its ends must extend beyond the surface.
The Model>Stitch and Trim Surfaces command creates a group of surfaces from a set of surfaces that intersect to form an enclosed space. The surfaces are trimmed back to boundaries of the enclosed space, and united into a VectorWorks group. You can then use the Organize>Ungroup command to separate them into individual surface objects, and you can use Model>Add to transform them into a solid that you can further modify with the Boolean operations.