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.
|