Modeling tools for designers

Features

What's New in 3.0

How Accurate is Rhino?

What is NURBS?

Industries

  • industrial design
  • marine design
  • jewelry design
  • cad / cam
  • rapid prototyping
  • reverse engineering
  • graphics design
  • multimedia
  • education
  • hobby

Start with a sketch, drawing, physical model, or only an idea--Rhino provides the tools to accurately model your designs ready for rendering, animation, drafting, engineering, analysis, and manufacturing.

Rhino can create, edit, analyze, and translate NURBS curves, surfaces, and solids in Windows. There are no limits on complexity, degree, or size.

Rhino also supports polygon meshes and point clouds. Other special features include:

Uninhibited free-form 3-D modeling tools like those found only in products costing 20 to 50 times more. Accurately model any shape you can imagine.

Accuracy needed to design, prototype, engineer, analyze, and manufacture anything from an airplane to jewelry.

Compatibility with all your other design, drafting, CAM, engineering, analysis, rendering, animation, and illustration software.

Read and repair extremely challenging IGES files.

Accessible. So easy to learn and use that you can focus on design and visualization without being distracted by the software.

Fast, even on an ordinary laptop computer. No special hardware is needed.

Affordable. Ordinary hardware. Short learning curve. Priced like other Windows software. No maintenance fees.


Features

Rhino can create, edit, analyze, and translate NURBS curves, surfaces, and solids in Windows. There are no limits on complexity, degree, or size. Rhino also supports polygon meshes. Special features include:

  • Uninhibited free-form 3-D modeling tools like those found only in products costing 20 to 50 times more. Model any shape you can imagine.
  • Accuracy needed to design, prototype, engineer, analyze, and manufacture anything from an airplane to jewelry.
  • Compatibility with all your other design, drafting, CAM, engineering, analysis, rendering, animation, and illustration software.
  • Read and repair extremely challenging IGES files.
  • Accessible. So easy to learn and use that you can focus on design and visualization without being distracted by the software.
  • Fast, even on an ordinary laptop computer. No special hardware is needed.
  • Affordable. Ordinary hardware. Short learning. Priced like other Windows software. No maintenance fees.

System requirements

Rhino runs on ordinary Windows desktop and laptop computers, with:

  • Pentium, Celeron, or higher processor.
  • Windows 98/NT/ME/2000/XP for Intel or AMD.*
  • 65 MB disk space.
  • 128 MB RAM. 256 or more is recommended.
  • OpenGL graphic card recommended.
  • IntelliMouse recommended.
  • 3-D digitizer and 3-D printer optional.

*Rhino will NOT be ported to any other operating system. Rhino does NOT run on Apple Macs with Virtual PC. Rhino ran on the Mac with earlier versions of Virtual PC but Virtual PC is no longer 100% Windows compatible.

Details (new in 3.0)

User interface: extremely fast 3-D graphics, unlimited viewports, shaded, working views, perspective working views, coordinate read-out, named views, floating/dockable command area, pop-up recently-used commands, clickable command options, auto-complete command line, customizable pop-up commands, pop-up layer manager, synchronize views, camera-based view manipulation, perspective match image, configurable middle mouse button, customizable icons and user workspace, customizable pop-up toolbar, transparent toolbars, context sensitive right-click menu, dockable dialogs, multiple monitor support, Alt key copy and OpenGL hardware support with anti-aliasing.

User support and documentation: localized interface (user selectable) and documentation (English, Spanish, French German, Italian, Czech, and Japanese with Chinese, and Korean available later in 2003), extensive Explorer-like online help, a 500-page manual, electronic updates, automatic service release availability notification, newsgroup support (24x7), telephone support, and e-mail support.

Construction aids: unlimited undo and redo, undo and redo multiple, exact numeric input, units including feet and inches and fractions, .x, .y, .z point filters, object snaps with identifying tag, grid snaps, ortho, planar, named construction planes, next and previous construction planes, orient construction plane on curve, layers, layer filtering, groups, background bitmaps, object hide/show, show selected objects, select by layer, select front most, color, object type, last object, and previous selection set, swap hidden objects, object lock/unlock, unlock selected objects, control and edit points on/off, and points off for selected objects.

Create curves: point, line, polyline, polyline on mesh, free-form curve, circle, arc, ellipse, rectangle, polygon, helix, spiral, conic, TrueType text, point interpolation, control points (vertices), sketch.

Create curves from other objects: through points, through polyline, extend, fillet, chamfer, offset, blend, from 2 views, cross section profiles, intersection, contour on NURBS surface or mesh, section on NURBS surface or mesh, border, silhouette, extract isoparm, projection, pullback, sketch, wireframe, detach trim, 2-D drawings with dimensions and text, flatten developable surfaces, extract points.

Edit curves: control points, edit points, handlebars, smooth, fair, change degree, add/remove knots, add kinks, rebuild, refit, match, simplify, change weight, make periodic, adjust end bulge, adjust seam, orient to edge, convert to arcs, a ployline, or line segments.

Create surfaces: from 3 or 4 points, from 3 or 4 curves, from planar curves, from network of curves, rectangle, deformable plane, extrude, ribbon, rule, loft with tangency matching, developable, sweep along a path with edge matching, sweep along two rail curves with edge continuity, revolve, rail revolve, blend, patch, drape, point grid, heightfield, fillet, chamfer, offset, plane through points, TrueType and Unicode (double-byte) text.

Edit surfaces: control points, handlebars, change degree, add/remove knots, match, extend, merge, join, untrim, split surface by isoparms, rebuild, shrink, make periodic, Boolean (union, difference, intersection), unroll developable surfaces, array along curve on surface.

Create solids: box, sphere, cylinder, tube, pipe, cone, truncated cone, ellipsoid, torus, extrude planar curve, extrude surface, cap planar holes, join surfaces, TrueType text.

Edit solids: fillet edges, extract surface, Booleans (union, difference, intersection).

Create meshes: from NURBS surfaces, from closed polyline, mesh face, plane, box, cylinder, cone, and sphere.

Edit meshes: explode, join, weld, unify normals, apply to surface, reduce polygons.

Edit tools: cut, copy, paste, delete, delete duplicates, move, rotate, mirror, scale, stretch, align, array, join, trim, split, explode, extend, fillet, chamfer, offset, twist, bend, taper, shear, orient, orient planar object on curve, flow along curve, smooth, project, object properties.

Annotation: arrows, dots, dimensions (horizontal, vertical, aligned, rotated, radial, diameter, angle), text blocks, leaders, hidden line removal, Unicode (double-byte) support for text, dimensions, and notes. Dimensions in perspective views are supported.

Analysis: point, length, distance, angle, radius, bounding box, normal direction, area, area centroid, area moments, volume, volume centroid, volume moments, , hydrostatics, surface curvature, geometric continuity, deviation, nearest point, curvature graph on curves and surfaces, naked edges, working surface analysis viewport modes (draft angle, zebra stripe, environment map with surface color blend, show edges, show naked edges, Gaussian curvature, mean curvature, and minimum or maximum radius of curvature).

Rendering: shade, shade (OpenGL), shade selected objects, raytrace render (with textures, bumps, highlights, transparency, spotlights with hotspot, angle and direction control, point lights, directional lights, rectangular lights, linear lights, and shadows, and customizable resolution), render preview (OpenGL), render preview selected objects, turntable, RIB export, POV export, rendering plug-in support, settings saved in file.

File formats supported: DWG/DXF(AutoCAD 200x, 14, 13, and 12 ), SAT (ACIS), X_T (Parasolid), 3DS, LWO, STL, OBJ, AI, RIB, POV, UDO, VRML, BMP, TGA, CSV (export properties and hydrostatics), uncompressed TIFF, STEP, VDA, GHS, SLC, Deep Paint 3D.IGES (Alias, Ashlar Vellum, AutoFORM, AutoShip, Breault, CADCEUS, CAMSoft, CATIA, Cosmos, Delcam, EdgeCAM, FastSurf, FastSHIP, Integrity Ware, IronCAD, LUSAS, Maya, MAX 3.0, MasterCAM, ME30, Mechanical Desktop, Microstation, NuGraf, OptiCAD, Pro/E, SDRC I-DEAS, Softimage, Solid Edge, SolidWorks, SUM3D, SURFCAM, TeKSoft, Unigraphics), NASA GridTool, Yamaha ESPRi, Tebis.

File management: Notes, templates, merge files, export selected objects, save small, incremental save, bitmap file preview, Rhino file preview, export with origin point, worksessions, blocks, file compression for meshes and preview image, send file via e-mail.

Workgroup License Manager

Plug-ins: The Rhino SDK exposes most of the internal workings of Rhino, making it possible for third-party developers to create powerful plug-ins and add-ons, programmer's I/O tool kit with source code is available on openNURBS web site.

Scripting: VBScript support exposes most of the internal workings of Rhino, making it possible to develop powerful scripts.

The RhinoScript ActiveX object can be accessed by many different programming languages including Visual Basic, Microsoft Word VBA, and Excel VBA.

Rhino can be run in the background by an application via the RhinoScript ActiveX object.

3-D digitizing support: MicroScribe, FaroArm, and Romer/Cimcore.

Input devices: Support for SpaceBall and SpaceMouse.


How accurate is Rhino?

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.


What is NURBS?

NURBS, Non-Uniform Rational B-Splines, are mathematical representations of 3-D geometry that can accurately describe any shape from a simple 2-D line, circle, arc, or curve to the most complex 3-D organic free-form 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 has five important qualities that make it an ideal choice for computer-aided modeling.

  • There are several industry standard ways to exchange NURBS geometry. This means that customers can and should expect to be able to move their valuable geometric models between various modeling, rendering, animation, and engineering analysis programs. They can store geometric information in a way that will be usable 20 years from now.
  • NURBS have a precise and well-known definition. The mathematics and computer science of NURBS geometry is taught in most major universities. This means that specialty software vendors, engineering teams, industrial design firms, and animation houses that need to create custom software applications, can find trained programmers who are able to work with NURBS geometry.
  • NURBS can accurately represent both standard geometric objects like lines, circles, ellipses, spheres, and tori, and free-form geometry like car bodies and human bodies.
  • The amount of information required for a NURBS representation of a piece of geometry is much smaller than the amount of information required by common faceted approximations.
  • The NURBS evaluation rule, discussed below, can be implemented on a computer in a way that is both efficient and accurate.

What is NURBS Geometry?

NURBS curves and surfaces behave in similar ways and share terminology. Since curves are easiest to describe, we will cover them in detail. A NURBS curve is defined by four things: degree, control points, knots, and an evaluation rule.

Degree

The degree is a positive whole number.

This number is usually 1, 2, 3 or 5, but can be any positive whole number. NURBS lines and polylines are usually degree 1, NURBS circles are degree 2, and most free-form curves are degree 3 or 5. Sometimes the terms linear, quadratic, cubic, and quintic are used. Linear means degree 1, quadratic means degree 2, cubic means degree 3, and quintic means degree 5.

You may see references to the order of a NURBS curve. The order of a NURBS curve is positive whole number equal to (degree+1). Consequently, the degree is equal to order-1.

It is possible to increase the degree of a NURBS curve and not change its shape. Generally, it is not possible to reduce a NURBS curve¡¦s degree without changing its shape.

Control Points

The control points are a list of at least degree+1 points.

One of easiest ways to change the shape of a NURBS curve is to move its control points.

The control points have an associated number called a weight . With a few exceptions, weights are positive numbers. When a curve¡¦s control points all have the same weight (usually 1), the curve is called non-rational, otherwise the curve is called rational. The R in NURBS stands for rational and indicates that a NURBS curve has the possibility of being rational. In practice, most NURBS curves are non-rational. A few NURBS curves, circles and ellipses being notable examples, are always rational.

Knots

The knots are a list of degree+N-1 numbers, where N is the number of control points. Sometimes this list of numbers is called the knot vector. In this term, the word vector does not mean 3-D direction.

This list of knot numbers must satisfy several technical conditions. The standard way to ensure that the technical conditions are satisfied is to require the numbers to stay the same or get larger as you go down the list and to limit the number of duplicate values to no more than the degree. For example, for a degree 3 NURBS curve with 11 control points, the list of numbers 0,0,0,1,2,2,2,3,7,7,9,9,9 is a satisfactory list of knots. The list 0,0,0,1,2,2,2,2,7,7,9,9,9 is unacceptable because there are four 2s and four is larger than the degree.

The number of times a knot value is duplicated is called the knot¡¦s multiplicity. In the preceding example of a satisfactory list of knots, the knot value 0 has multiplicity three, the knot value 1 has multiplicity one, the knot value 2 has multiplicity three, the knot value 3 has multiplicity one, the knot value 7 has multiplicity two, and the knot value 9 has multiplicity three. A knot value is said to be a full-multiplicity knot if it is duplicated degree many times. In the example, the knot values 0, 2, and 9 have full multiplicity. A knot value that appears only once is called a simple knot. In the example, the knot values 1 and 3 are simple knots.

If a list of knots starts with a full multiplicity knot, is followed by simple knots, terminates with a full multiplicity knot, and the values are equally spaced, then the knots are called uniform. For example, if a degree 3 NURBS curve with 7 control points has knots 0,0,0,1,2,3,4,4,4, then the curve has uniform knots. The knots 0,0,0,1,2,5,6,6,6 are not uniform. Knots that are not uniform are called non-uniform. The N and U in NURBS stand for non-uniform and indicate that the knots in a NURBS curve are permitted to be non-uniform.

Duplicate knot values in the middle of the knot list make a NURBS curve less smooth. At the extreme, a full multiplicity knot in the middle of the knot list means there is a place on the NURBS curve that can be bent into a sharp kink. For this reason, some designers like to add and remove knots and then adjust control points to make curves have smoother or kinkier shapes. Since the number of knots is equal to (N+degree-1), where N is the number of control points, adding knots also adds control points and removing knots removes control points. Knots can be added without changing the shape of a NURBS curve. In general, removing knots will change the shape of a curve.

Knots and Control Points

A common misconception is that each knot is paired with a control point. This is true only for degree 1 NURBS (polylines). For higher degree NURBS, there are groups of 2 x degree knots that correspond to groups of degree+1 control points. For example, suppose we have a degree 3 NURBS with 7 control points and knots 0,0,0,1,2,5,8,8,8. The first four control points are grouped with the first six knots. The second through fifth control points are grouped with the knots 0,0,1,2,5,8. The third through sixth control points are grouped with the knots 0,1,2,5,8,8. The last four control points are grouped with the last six knots.

Some modelers that use older algorithms for NURBS evaluation require two extra knot values for a total of degree+N+1 knots. When Rhino is exporting and importing NURBS geometry, it automatically adds and removes these two superfluous knots as the situation requires.

Evaluation Rule

A curve evaluation rule is a mathematical formula that takes a number and assigns a point.

The NURBS evaluation rule is a formula that involves the degree, control points, and knots. In the formula there are some things called B-spline basis functions. The B and S in NURBS stand for ¡§basis spline.¡¨ The number the evaluation rule starts with is called a parameter. You can think of the evaluation rule as a black box that eats a parameter and produces a point location. The degree, knots, and control points determine how the black box works.


Copyright © 2005 MMHK Distributions Limited. All Rights Reserved Contact Us.