The fundamental geometric objects in Rhino are points, curves, surfaces, polysurfaces, extrusion objects, and polygon mesh objects.

NURBS (non-uniform rational B‑splines) are mathematical representations that can accurately model any shape from a simple 2‑D line, circle, arc, or box to the most complex 3‑D free‑form organic surface or solid. Because of their flexibility and accuracy, NURBS models can be used in any process from illustration and animation to manufacturing.

NURBS geometry is an industry standard for designers who work in 3‑D where forms are free and flowing; where both form and function is important. Rhino is used in marine, aerospace, and automobile interior and exterior design. Makers of household and office appliances, furniture, medical and sports equipment, footwear, and jewelry use Rhino to create free-form shapes.

NURBS modeling is also widely used by professional animators and graphic artists. The advantage over using polygon modelers is that there are no facets. The models can be rendered at any resolution. A mesh can be created from the model at any resolution. For more information about the mathematics of NURBS, see What are NURBS?.

Point objects mark a single point in 3-D space. They are the simplest objects in Rhino. Points can be placed anywhere in space. Points are most often used as placeholders.

A Rhino curve is similar to a piece of wire. It can be straight or wiggled, and can be open or closed.

A *polycurve* is several curve segments joined together end to end.

Rhino provides many tools for drawing curves. You can draw straight lines, polylines that consist of connected line segments, arcs, circles, polygons, ellipses, helices, and spirals.

You can also draw curves using curve *control points* and draw curves that pass through selected points.

Curves in Rhino include lines, arcs, circles, free-form curves, and combinations of these. Curves can be open or closed, planar or non-planar.

A surface is like a rectangular stretchy rubber sheet. The NURBS form can represent simple shapes, such as planes and cylinders, as well as free-form, sculptured surfaces.

All surface creation commands in Rhino result in the same object: a NURBS surface. Rhino has many tools for constructing surfaces directly or from existing curves.

All NURBS surfaces have an inherently rectangular organization.

Even a closed surface such as a cylinder is like a rectangular piece of paper that has been rolled up so two opposite edges are touching. The place where the edges come together is called the *seam*. If a surface does not have a rectangular shape, either it has been trimmed or the control points on the edges have been moved.

A surface can be open or closed. An open cylinder is closed in one direction.

A torus (donut shape) is closed in two directions.

Surfaces can be trimmed or untrimmed. A trimmed surface has two parts: a surface that underlies everything and defines the geometric shape, and trimming curves that mark sections of the underlying surface that are trimmed away.

Trimmed surfaces are created with commands that trim or split surfaces with curves and other surfaces. Some commands create trimmed surfaces directly.

The shape of a surface is still defined by a set of control points arranged in a rectangular pattern.

Since it can be important for you to know if a surface is trimmed, the Properties command lists the trimmed or untrimmed state of the surface. Some Rhino commands work only with untrimmed surfaces and some software does not import trimmed NURBS surfaces.

Trimming curves lie on the underlying surface. This surface may be larger than the trim curves, but you will not see the underlying surface because Rhino does not draw the part of the surface that is outside the trim curves. Every trimmed surface retains information about its underlying surface geometry. You can remove the trimming curve boundaries to make the surface untrimmed with the Untrim command.

If you have a trim curve that runs across a surface, the trim curve itself does not have any real relationship to the control point structure of the surface. You can see this if you select such a trimmed surface and turn its control points on. You will see the control points for the whole underlying surface.

If you create a surface from a planar curve, it can be a trimmed surface. The illustrated surface was created from a circle. The control points display shows the rectangular structure of the surface.

The Untrim command removes the trimming curve from the surface to get back to the underlying untrimmed rectangular surface.

In wireframe view, surfaces look like a set of crossing curves. These curves are called *isoparametric curves* or *isocurve*. These curves help you visualize the shape of the surface. Isoparametric curves do not define the surface the way the polygons do in a polygon mesh. They are merely a visual aid that allows you to see the surface on the screen. When a surface is selected, all of its isoparametric curves highlight.

Edge curves bound the surface. Surface edge curves can be used as input to other commands.

Isocurves (1), Edge curves (2).

A *polysurface* consists of two or more surfaces that are joined together. A polysurface that encloses a volume of space defines a solid.

A solid is a surface or polysurface that encloses a volume. Solids are created anytime a surface or polysurface is completely closed. Rhino creates single-surface solids, polysurface solids, and extrusion solids.

A single surface can wrap around and join itself. Example commands include Sphere, Torus, and Ellipsoid. Control points can be displayed on single-surface solids and moved to change the surface.

Some Rhino commands create polysurface solids. Pyramid, Cone, and TCone are examples of commands that create polysurface solids.

The SolidPtOn command turns on grip points for polysurfaces, which act like control points.

Light-weight extrusion objects use only a profile curve and a length as input instead of the network of isocurves normally needed for NURBS objects. The Box, Cylinder, Tube, and ExtrudeCrv commands create extrusion objects. Extrusion objects can be closed with a planar cap or open. These objects will be converted to polysurfaces by some commands if necessary to add additional information for editing.

Because there are many modelers that use polygon meshes to represent geometry for rendering, animation, stereolithography, visualization, and finite element analysis, the Mesh command translates NURBS geometry into polygonal meshes for export. In addition, the Mesh creation commands MeshSphere, MeshBox, MeshCylinder, etc., draw mesh objects.

There is no easy way to convert a mesh model into a NURBS model. The information that defines the objects is completely different.

However, Rhino has a few commands for drawing curves on meshes and extracting vertex points and other information from mesh objects to assist in using mesh information to create NURBS models.