Rhino 3D - Accuracy
Since many free-form modelers are not accurate enough for manufacturing
or engineering analysis, and since Rhino is a free-form modeler, many people
assume Rhino is not accurate enough for their application.
In fact, Rhino is just as or even more precise than most
CAD software.
Here are the details:
There are two common methods 3-D models are stored in computers.
The first method is using meshes (sometimes called facets), which are
usually used for rendering, animation, or conceptual design. While mesh
modelers often have what appear to be precise techniques for creating
models like spheres, boxes, splines, or even NURBS, behind the scenes
they eventually turn everything into a mesh. Meshes are inherently inaccurate
because a mesh is simply a collection flat triangles. Even if the surface
is curved, a mesh modeler still represents it with flat triangles. This
is fine for most renderings, animations, and games, but not when designing
for manufacturing. It should be noted that many manufacturing processes
use meshes but the mesh density must be under the control of the manufacturing
application to achieve the desired accuracy. Rhino does not use meshes
for modeling, but it can convert NURBS to meshes at any density as needed
for file exports and rendering.
The second method is NURBS.
Most CAD, CAM, CAE, and CAID modelers, including Rhino, represent free-form
shapes as NURBS. Products that use NURBS can potentially represent free-form
shapes accurately enough for the most demanding application if they
are diligent in their NURBS implementation. If an application’s primary
focus is machinery design and not free-form shapes, it is likely that
its NURBS implementation can be less than robust for demanding free-form
modeling. This is typical of the mid-range feature-based parametric
solid modelers that are so popular today.
Since Rhino’s focus is free-form NURBS modeling, its NURBS implementation
is one of the most robust available today. Here are the primary considerations
when evaluating whether a modeler is accurate enough for your application:
- Position. Rhino, like
most CAD products, represents position in double-precision floating-point
numbers. That means the x, y, or z coordinate of any point can have
a value ranging from as large as ±10308 to as small as ±10-308.
Most CAD software, including Rhino, uses double-precision floating-point
arithmetic.
Because of the limitation of current computer technology, we expect
calculations to be accurate to 15 digits of precision in a range from
±1020 to ±10-20. This limitation is found in
all modern CAD products.
Older CAD products often have additional limitations because they
were developed originally to run on computers with less precision.
For example, many CAD modelers are designed for performing calculations
on geometry that is restricted to be in a box of size 1000x1000x1000
meters centered at the origin. (Geek alert: Another of the popular
off-the-shelf modeling kernels requires parameterizations that are
within a factor of 10 of being arc-length parameterizations.) Rhino
has none of the limitations found in these older products.
- Intersections. In
Rhino, when two free-form surfaces are intersected, the resulting intersection
curve is calculated to the accuracy specified by the user. The Rhino
default accuracy (tolerance) is 1/100 millimeter. Many CAD systems have
built in tolerances that the user cannot override.
If you carefully examine the geometry other modelers produce from
free-form surface intersections, free-form fillet creation, and free-form
surface offsets, you will discover that this free-form geometry is
actually calculated with accuracy between 10-2 and 10-4
meters even though they advertise precision of 10-8
(without mentioning that the units are meters).
- Continuity (curvature
change matched across a seam.) Most CAD products don’t even have tools
to match curvature, let alone do it accurately enough for a discriminating
designer. If your application requires smooth free-form surfaces such
as airfoils, hydrofoils, lenses, or reflective surfaces, you need these
tools found only in Rhino or high-end surface modeling products like
CATIA and Alias.
Other things to consider:
- Units. In Rhino the user
can specify the units. The units are actually changed and then all calculations
are done in those units. In many CAD products, units are only a display
attribute. Even though you may have specified millimeters, all of the
calculations are actually being done in meters. No big deal. You just
move the decimal place over. Wrong! Read on.
- Changing units. Changing
units or unit conversions can be one of most commonly overlooked accuracy
hazard in CAD/CAM. Most of us might think that converting from imperial
units to metric units would introduce some inaccuracy while never giving
millimeter to centimeter conversions a thought. Why? Because we think
in decimal. But guess what! The computer doesn’t. It is binary (that
is base 2, not base 10). That means one or more floating-point multiplies
or divides are needed to convert from millimeters to centimeters. The
inaccuracies introduced by converting from millimeters to centimeters
are the same as those introduced by converting from millimeters to inches.
In summary, Rhino is as accurate or more accurate than any other
CAD product on the market today. In addition, Rhino provides tools for
setting accuracy and units as well as tools for controlling and evaluating
continuity not found in most CAD products. Rhino does not have the limitations
found any of the older CAD software.
|