An Introduction to Rhino

30 Nov, 2001 By: John E. Wilson

When this column was conceived, 3D modeling was generally restricted to expensive programs that ran only on costly UNIX workstations. AutoCAD, though, was an exception that offered a practical means for many of us to create 3D models. The original objective of this column was to explain how to use the 3D features that had been introduced in AutoCAD releases 10 and 11.

Today, though, you have an almost overwhelming number of choices for programs that construct 3D models, including some that cost less than AutoCAD while having more powerful 3D capabilities. Therefore, we will begin looking at the 3D modeling capabilities of a variety of programs in this column. We will focus on one particular program for as many articles as it takes to give you a good picture of the program's 3D capabilities and explain how you can use them.

The first program we will look at is Rhinoceros (a name that is almost always shortened to Rhino) from Robert McNeel and Associates. The price of Rhinoceros is $795, and it runs on virtually any computer that has a Pentium, or equivalent, processor and uses Windows 95, or higher, as the operating system. For more information on the program's hardware requirements, and to download a free evaluation version of Rhino, visit its Web site at

What Can You Do With Rhino?
Rhino is a 3D NURBS modeler (see Sidebar 1: There's Something about NURBS). Most of the time you will use it to create smooth free-form surfaces, such as those on many consumer products and automobile bodies, but you can also use Rhino to build solid models of parts typically manufactured on lathes and milling machines. Rhino has been used to design yachts, tour buses, toys, running shoes, and many other objects. Figure 1 shows the model of a toaster created in Rhino by Michael Graves Design for the Target Corp.

Figure 1. This toaster is one of the hundreds of consumer products created by Michael Graves Design from Rhino models.

Architects also can benefit from Rhino. Frank Gehry's design of the Guggenheim museum in Bilbao, Spain, proves that curved, organic building designs are not only practical but also preferable to the boxy shapes that have been the norm. Although CATIA was used in designing the Guggenheim, Rhino is suitable for modeling shapes similar to those of the building's surfaces.

Often, Rhino is used in conjunction with another program. For instance, you might use Rhino to design the curvy outside surfaces of a telephone, and a solid modeler to design its inside components. In anticipation of this partnership with other programs, Rhino supports a wide range of file formats, including ACIS and Parasolid files, Autodesk's DWG and DXF files, IGES in a variety of flavors, CATIA, Pro/ENGINEER, Inventor, Mechanical Desktop, and SolidWorks. Visit the Rhino3D Web site for more.

Working With Rhino
Rhino's tools for drawing and working in 3D, and the mechanics for using those tools, are similar to those in other 3D modelers and CAD programs. They include the following:

  • A movable 2D coordinate system, on which you can use your pointing device to specify points and draw objects. Rhino refers to this plane as the Construction Plane, and you can move and orient it in 3D space as you like.
  • A grid that you can display on the Construction Plane to help visualize its location and orientation, as well as to estimate distances and sizes.
  • Tools for precise drawing. You can restrict cursor movement to snap to discrete distances on the Construction Plane, and to points (such as a curve endpoint) on existing objects even if those points are not on the Construction Plane. You can also specify points and distances in many ways, including keyboard input.
  • Viewing options. You can zoom, pan, and rotate the line of sight dynamically, as well as in a variety of other ways.
  • Visibility options. You can view models in either shaded or wireframe modes. Every object can have any number of layers, each with a unique name, and you can use layers to set the color of objects and to control their visibility.

Unlike most programs based on MS Windows operating systems, Rhino is a command-based program. It has a Command Line, and you can initiate any operation by entering its name on the Command Line. You can also use pulldown menus, right-click menus, and toolbars to initiate most operations. This Command Line approach simplifies and streamlines many operations. For example, you can simply type in three numbers separated by commas when you need to specify coordinates, rather than having to open a dialog box and then entering values in three separate fields. You can also conveniently specify options on the Command Line during an operation. Furthermore, you can use command names to easily create customized keyboard shortcuts, and scripts for automating operations.

Figure 2. You will generally use multiple viewports as you work in Rhino. Each viewport can have its own viewing direction and zoom level, as well as its own construction plane. You can initiate Rhino operations from dropdown menus, right-click menus, toolbars, and the Rhino Command Line.

Typically, as shown in Figure 2, you will have multiple viewports open as you construct models in Rhino. Each viewport is a rectangular window that you can stretch and move. You can even overlap them, although you are not likely to ever need to do that. As you work, you can freely move from one viewport to another. Thus, you can begin drawing a curve in one viewport and switch to a second, and even to a third one, to finish the curve. Each viewport has a name that, by default, indicates both the viewing direction and the orientation of the Construction Plane. For example, the viewport named Top has a line of sight that looks straight toward the world xy plane and the Construction Plane coincides with the world xy plane. The viewport named Front, on the other hand, has a line of sight that looks toward the world xz plane (and thus toward what is usually considered to be the front of a model) while the Construction Plane is on the world xz plane.

Rhino Curves
Similar to other 3D modelers, Rhino uses wire objects in creating 3D models. A wire object is something that has neither thickness nor width-it has length only. Rhino refers to all wire objects, even points and straight lines, as curves. Because these curves are so important in creating models, Rhino has a vast assortment of tools for creating, analyzing, and editing them. You can, for example, project an existing curve onto a surface to create a new curve, you can transform the intersection of two surfaces into a curve, and you can draw 3D helix and spiral curves by specifying their radius, pitch, and other parameters.

You can draw spline curves, which will be the basis for many of your models, by either specifying control point locations or by specifying the points that the curve is to pass through. With either method, you can set the degree of the spline's basis functions. For editing splines, you can display their control points and move them, change their weight, add new ones, and so forth. Even circles, arcs, and lines are actually splines, and can be edited as such. For instance, you can increase the basis function degree of a straight line from one to two, or higher. This adds control points that you can move to make the line curvy.

Rhino Solids and Surfaces
While Rhino can create both solid and surface models, the only distinction between the two is that solids have surfaces, or faces, that completely enclose a space and the edges of the individual faces are joined to create a single object. Nevertheless, the methods for creating and working with solids are similar to those of other modelers. For example, Rhino has commands for creating solids (which are often called primitives) with a basic geometric shape, such as a box, a sphere, and even an ellipsoid. You can even transform text into a solid. For combining and shaping solids, Rhino supports the three Boolean operations: union, difference, and intersection.

You can freely change solids into surfaces, and vice versa. You can also use editing methods on solids that are usually reserved for editing surfaces. For example, you can display the control points of a solid sphere, and make bulges on the sphere by moving those control points.

Surfaces are the bread and butter of Rhino. With very little effort, you can create surfaces by picking three or four points to serve as surface corners, drawing a rectangle, picking two to four existing curves to serve as surface edges, selecting a single closed planar curve, pushing (extruding) a curve linearly through space, and revolving a curve about an axis. For more complex geometry, you can spread a set of three or more curves apart, similar to the structure of the ribs of an aircraft fuselage, and connect them with a surface. You can also sweep a curve through space in accordance with the shape of a second curve, which is referred to as the rail. To give you even more control over such sweeps, it is possible to place additional profile curves along the rail, and even use two rails.

Other surface modelers generally support the methods listed in the previous paragraph for creating surfaces, but often they are more restrictive. For example, Autodesk Mechanical Desktop cannot make the helix thread with tapered ends shown in Figure 1, either as a solid or as a surface. Rhino, though, allows you to taper one or both ends of a sweep along a single rail to a point.

Rhino has methods for creating surfaces that you would expect to find only in programs that are much more expensive. One of these methods involves creating a surface by revolving a profile curve around a rail, as shown in Figure 3.

Figure 2. You will generally use multiple viewports as you work in Rhino. Each viewport can have its own viewing direction and zoom level, as well as its own construction plane. You can initiate Rhino operations from dropdown menus, right-click menus, toolbars, and the Rhino Command Line.

You can also drape a surface over one or more existing 3D objects, similar to the blister packs often used in packaging small retail items. And you can transform a network of curves with a variety of shapes and locations into a surface.

Some of the editing operations you can perform on surfaces include trimming to another surface or to a curve that has been drawn on the surface; filleting; joining to another surface; extending; and scaling in one, two, or three dimensions. On a very basic level, you can change the degree of a surface's basic equations and change the surface shape by moving control points. You can also analyze the curvature of a surface, and match the curvature and tangency of a surface edge to that of another surface.

Most of Rhino's commands are intuitive to use, and you will have no trouble in quickly learning how to make useful 3D models. It is a powerful program, and it will take you a while to discover all of its tools and learn how to use them. This month we gave you just a broad overview of Rhino, but we will return to the program in the coming months to describe some of its operations in more detail.

There's Something about NURBS

NURBS, which is an acronym for Non-Uniform Rational B-Spline, is a computer method for constructing smooth, freeform curves and surfaces. Most of today's 3D modeling programs rely on NURBS for constructing surface models, and sometimes even for solid models. Here are the reasons for its widespread use.

  • NURBS can construct a wide range of geometric shapes, ranging from simple straight lines to complex, but perfectly smooth, sculpted surfaces.
  • NURBS efficiently creates complex shapes, with a minimum amount of data and relatively few calculations.
  • NURBS has a precise and almost universally recognized definition, which makes it easy to transfer geometry between CAD programs.
  • Objects based on NURBS can be edited at a basic level.

Although the mathematics behind NURBS is complex, and certainly beyond my comprehension, knowing something about its components and how it works will help you control the shapes of the NURBS objects you construct.

NURBS was developed to construct digital versions of the drafting splines once used to draw cross-sections of ship hulls and airplane fuselages. These splines were flexible strips of plastic, metal, or wood that could be bent to form smooth curves; weights were attached to them to maintain their shape. Curves made by splines are unique in that the curvature (and, hence, curve radius) continually changes along their length. Curves made up of arcs, on the other hand, have discrete points at which the curve radius changes-even if the arcs are tangent to one another and the curve has a smooth appearance.

NURBS objects not only emulate drafting splines but also create 3D splines that twist and turn through space, as well as surfaces having spline-like properties. We will concentrate on curves for now, but remember-everything we discuss applies equally as well to surfaces.

Control points, which are analogous to the weights used with drafting splines, establish the shape of a NURBS curve. Except for the endpoints of a curve (or endpoint, if it is a closed curve), these control points are away from the curve. They act as magnets, pulling the curve toward themselves, and when you move a control point the curve changes its shape to accommodate the new control point location. Normally control points are not visible, but most programs allow you to temporarily display them so that you can move them or modify them.

A polynomial equation, often referred to as a basis function (which is where the B in B-Spline comes from), is associated with each control point, and the degree of the polynomial (the largest power of an exponent within the equation) determines the strength of the control-point pull on the curve. The lower the polynomial degree, the closer the curve is pulled toward each control point. For instance, degree 2 (quadratic) basis functions pull the curve closer to each control point than degree 3 (cubic) basis functions. Degree 1 (linear) functions produce a curve having straight-line segments. Most CAD programs give you some control over the basis function degree, although not all of them support degree 1 functions. The specified degree applies to the basis functions for all of the control points. Some programs, including AutoCAD, use the term order, rather than degree. Equation order is degree plus one. For example, equation degree 3 is equivalent to order 4.

Each basis function affects only the curve section in the vicinity of its control point, and the ends of these sections are called knots. The NU in NURBS stands for non-uniform, and it refers to unequal knot spacing. With non-uniform spacing, knots can be more closely spaced in busy sections of a curve-those having relatively tight bends and steep curvature changes-than they are in sections having only gradual curvature changes. Rhino, and a few other modelers, allow you some control over knot spacing, but usually it is automatic and not something you will be concerned about.

Initially all control points have an equal amount of power, or weight as it is usually referred to, in controlling the shape of a curve. Most CAD programs, though, allow you to change the weight of individual control points. When a curve has unequally weighted control points, it is called a rational curve. You will seldom need unequally weighted control points when you make freeform curves, but they are needed to make curves of conic sections-circles, ellipses, parabolas, and so forth.

About the Author: John E. Wilson

More News and Resources from Cadalyst Partners

For Mold Designers! Cadalyst has an area of our site focused on technologies and resources specific to the mold design professional. Sponsored by Siemens NX.  Visit the Equipped Mold Designer here!

For Architects! Cadalyst has an area of our site focused on technologies and resources specific to the building design professional. Sponsored by HP.  Visit the Equipped Architect here!