Creating Efficient Meshes from Rhino® Surfaces

by James Truax, ThermoAnalytics, Inc.

Version 1.0

I. Creating Surfaces

From Curve Network – (NetworkSrf ® Surface – From Curve Network)
  1. Usage

    This is the newest surface creating command Rhino has implemented.  It is available in the latest beta version at  This command uses two series of curves to create a single surface.  These sets of curves run along and perpendicular to the surface.

    This command has one option available when selecting the curves.  This option is AutoSort, which tries to determine what kind of surface you want with the selected curves.  From my experience, AutoSort does not work.  Turning this option off allows you to manually select the curves that run in one direction, then the curves that run in the other direction.  There has to be a series of curves that are continuous that will form the border of the surface.  If there are any other curves that the command is given, it will try to fit the surface to them.  This makes matching details in a surface much easier.
  2. Meshing Results

    This command gives you great flexibility in creating the exact surface you want, without trying to use the loft, sweep or any other command.  The mesh it produces is all rectangles and is more independent of the edge curves than other commands.

    The biggest problem with this command is that not all elements are planar.  Depending on the geometry, some of the elements can be quite non-planar.
  3. Example

    The following mesh was created using the NetworkSrf command.  This produced similar results to that of the loft, with the added control over the edges of the surface.
Edge Curves
  1. Usage

    Edge Curves uses 3 or 4 curves to create a surface. These curves need not be planer, but they are required to be continuous throughout the series of curves. If the command does not work it is likely because the curves are not continuous. This can be done by using the EditPtOn command in conjunction with the Osnap Pt option.

    EditPtOn ®Edit – Points Editing – Points Edit On
    EditPtOn creates movable points on the curve so that the curve can be edited without having to recreate the curve.  The Osnap utility allows the cursor to snap to certain features of the geometry.  By moving the end of one curve to the end of another, this will create a continuous set of curves.

    Osnap ® Clicking on the OSNAP box at the bottom of the workspace
  2. Meshing Results

    For simple, non-planar geometry, this command produces a mesh without triangles on the edge.  This is highly advantageous compared to other commands in Rhino.  The mesh it produces is mainly rectangles (quads), which is the best type of mesh for thermal analysis.
  3. Example

    The following is an example used to illustrate the surface and mesh created using the EdgeSrf command.

Planar Curves – (PlanarSrf ® Surfaces – From Planar Curves)
  1. Usage

    The Planar Curves command uses a series of planar curves to create a surface.  These curves must be near perfectly planar and continuous for the command to work.  There is no limit to the number of curves that can be used to create a surface.  See Edge Curve command for creating continuous curves.
  2. Meshing Results

    Every surface using this command produces nearly the same type of mesh.  The mesh will have rectangles in the interior and triangles along most edges.  This occurs no matter what the curves.  Because it is just as easy to use another command to create planar surfaces, use of this command is discouraged.  The only advantage is that there is no limit to the number of curves, just as long as they are ALL planar.

    The only time PlanarSrf produces quality meshes is when the geometry is simple and contains no curves.
  3. Example

    The following meshes were created using the PlanarSrf command.  Notice that the only area with rectangles along the edge is on the straight edge at the bottom: the straight vertical edge has triangles.  The simple second surface was simple enough that the command produced a good mesh.

Loft – (Loft ® Surface – Loft)
  1. Usage

    The loft command creates a surface through a series of cross-section curves.  There is no limit to the number of curves used.  This command tries to match the curves, but does not give control over the opposite edges of the surfaces.

    The most important thing to remember when using this command is that where you select each curve is important.  Select each curve near the same location for each curve.  For example, select a series of curves near the same end.  This determines how the loft will create the surface.  This command has both style and tolerance control, and therefore does not always match the curves exactly.
  2. Meshing Results

    This command produces meshes that most of the time are all rectangles.  The main disadvantage of this command is that the surface and mesh are largely dependent on the geometry.  Throughout the interior of the mesh, the shape and orientation are dependent on the edges of the surface.  The following example will illustrate this point.
  3. Example

    The following mesh was created using the Loft command.  Notice that the shape of the elements on the interior of the surface are largely dependent on the edges of the curves.  Therefore, when creating surfaces be sure to make the curves as simple as possible.

Sweep 1 Rail – (Sweep1 ® Surface – Sweep 1 Rail) and Sweep 2 Rails - (Sweep2 ® Suface – Sweep 2 Rails)
  1. Usage

    These commands both create surfaces using cross-section curves swept along a path.  Sweep1 should be used when one edge of the surface is irrelevant.  Sweep2 should be used in all edges of the surface are important.

    These commands both have simplifying options so that the tolerance of the surface can be adjusted.  The Sweep1 command has a style option, as well, although I have never used it.
  2. Meshing Results

    As with most of Rhino’s commands, the quality of the surface is largely dependent of the quality of the curves.  Therefore, the quality of the mesh is largely dependent on the quality of the surface.  These commands produce meshes of good quality, but using the Sweep command is more difficult than using the NetworkSrf command.
Revolve – (Revolve ® Surface – Revolve) and Rail Revolve – (RailRevolve ® Surface – Rail Revolve)
  1. Usage

    These commands should be used when the geometry is circular. The revolve command is simple to understand and has meshing advantages if the situation presents itself.
  2. Meshing Results

    As with any mesh, it depends on the nature of the surface. Because the creation of a surface using the Revolve command uses a central point, the mesh will emanate from that central point as well. This helps capture heat flow radiating out from a central location. If this feature is not desired, then using another command may be necessary. All of the elements are rectangles except for the central elements. Because of symmetry, all of the elements created from the Revolve command are planar. This is not necessarly true for the RailRevolve command. The following picture illustrates this point.

Patch – (Patch ® Surface – Patch)
  1. Usage

    This command is similar to the EdgeSrf command. Both the Patch and EdgeSrf command should be used when the border of a surface is known, and there is no prominent direction of the surface. The surfaces created are different. Patch uses a series of perpendicular curves, called spans, which compose the surface. These spans run in perpendicular directions called U and V. These curves rarely are parallel to any edge of the surface. Therefore the mesh produced is often in irregular directions. See Edge Curve command for creating continuous curves.
  2. Meshing Results

    Because there is no control over how the Patch command creates these spans, the mesh created is often irregular. The following picture shows a surface created by Patch on the right and the mesh created on the left. (Notice how the spans are not parallel to the edges of the surface, and how that affects the mesh.)
Point Grid – (SrfPtGrid ® Surface – From Point Grid)
  1. Usage

    This command uses a series of points in the form of a grid to create a surface. The user decides how many points are needed in the rows and columns. The points that are used for the surface are created beforehand. This is useful for creating surfaces from other surfaces. Points can be projected onto the old surface, and then the new points are used to create the new surface.
  2. Meshing Results

    The mesh created from Point Grid surfaces are all rectangles. The elements created are not necessarily planar or consistent. The shape of the element greatly depends on the points used to create the surface. If the points are not uniform in direction or spacing, this will affect the mesh. This basic concept is true for all of Rhino surface creation commands.
Drape – (Drape ® Surface - Drape
  1. Usage

    This command uses existing surfaces or solids to create a surface. The surface created is always a rectangle. The surface is approximate to placing a blanket over an object—any shape that the object has, the surface will have a similar shape. The Drape command does not produce an exact replication.
  2. Meshing Results

    This command produces meshes similar to that of the Point Grid mention earlier.
Bitmap – (Heightfield ® Surface – Heightfield from Bitmap)
  1. Usage

    This command uses a picture to create a surface. It uses the brightness of the colors or values of a grayscale to create a surface. It gives you the options that determine the height of the surface and the number of sampling points. The surface created should only be used to estimate another surface. It is not accurate enough to produce an exact surface.
  2. Meshing Results

    The mesh created is all rectangles, but not necessarily planar. The mesh created is similar to those created by the Point Grid and Drape commands mention earlier.

II. Recommendations

Creating Useful Curves
  1. Creating Curves

    In all of the following commands, the curves can be created by any means at your disposal. The main concern in building surfaces is that the final curve must have no irregularities.
    • Join ® Edit – Join
      During the creating of curves, a curve can be made by joining it to another. When this is done, the final curve is not a single fluid curve. There will still be points where the curve is not smooth. Once the curve or curves that are to be used are set, they must first be joined.
    • Rebuild ® Curve – Edit Tools – Rebuild
      After the curves are joined, the next step is to rebuild them. This step reconstructs the curve using options given by the user. The options are Point Count and Degree. Point count is the number of sampling points that are used to re-create the curve. This should be as small as possible, while retaining the desired shape.
      Note: If the curve that is being re-created has sharp angles that need to be kept, then the curve should be divided into sections so that only sections without the sharp sections are rebuilt. The rebuild command smoothes out any curve, so that the final curve is an approximate curve.
    • DupEdge ® Curve – From Objects – Duplicate Edge
      Another method to create useful curves is to reuse curves from existing surfaces. This is done by using the DupEdge command. This command creates a curve replicating an edge of a surface.
  2. Editing Curves

    Many commands in Rhino require that all vertices line up exactly. If you try to create a surface and the command does not work, it is likely because the curves are not continuous. The new version of Rhino will actually form many of surfaces, regardless if the curves are continuous or not. You must be careful of this potential prob. This may produce a curve but it may not be the one you intended, and you will experience problems later when your surface doesn’t fit properly with the rest of the part. To ensure that your curves are continuous, you can use the EditPt commands.
    • EditPtOn ® Edit – Point Editing – Point Edit On
    • Ptoff ® Edit – Point Editing – Points Off

  3. Example

    In the example shown here, the surface will be formed from the three curves. The lines don’t share the same vertices, though. You can fix this by first selecting all the lines. Once all the lines are selected, you can turn the edit points of the line on. These are points on the curve that allow you to change the curve with out having to re-create it.

    You can see that the lines now share the same common end point. You will now be able to form the desired curve. After you are done editing your line you must either type PtOff or press the Esc key to turn point editing off.
Commands that produce good surfaces
  1. From Curve Network

    This command is one of the easiest commands to use once you figure out how to use it. If you turn off AutoSort in the options for this command, it will prompt you to select the curves in the first direction. Select all of the curves in one direction, IN ORDER. Hit return, and then do the same thing for the other direction, roughly perpendicular to the first set of curves. Remember that only the edge curves need to be continuous; the rest of the curves will be used to fit the new surface. This command gives you the greatest flexibility, while at the same time producing the best surface.
  2. Edge Curves, Loft, Sweep Commands, Revolve, Rail Revolve, and Point Grid

    These commands all produce good meshes. They should be used according to the geometry presented. If the geometry is circular, use the Revolve or Rail Revolve commands. If the only curves available are the edge curves, use the EdgeSrf command. If you are given cross-section curves, use the Loft or Sweep commands, or consider using the NetworkSrf command.
Commands that produce poor surfaces
  1. Patch and Planar Curves

    These commands produce surfaces that produce meshes with triangles along the curved edges. Because there are other commands that produce much better meshes using the exact same geometry, my recommendation is to use the commands described above.
  2. Drape and Bitmap

    All of these commands create surfaces that produce meshes that are all rectangles. These all produce good meshes, but should only be used when the situation presents itself. This is when you have means of producing a surface that is similar to the surface required (e.g., if the surface is going to be used as a building block for another surface, like a skeletal framework for the final surface.)
Editing Effects
  1. Trim, Split, JoinSrf

    These commands are ways of editing a surface. My only recommendation concerning these types of commands is to use them to create a first draft of a surface. Then use this surface to create the final version. If you do all of the editing to an initial surface, then use commands like Duplicate Edge (DupEdge), Duplicate Border (DupBorder), or Project (Project) to extract curves from a surface. Once you have these curves, rebuild them and use them to create the desired surface.

Learn More About Meshing

1998 Archive: Review of Codes to Create Polygon Meshes

There are many codes that will create a polygon mesh. Most of these will not create a mesh suitable for thermal analysis. The following is a review of some of these tools. We do not endorse any specific code; rather, we supply this information as a guide.

Creating Efficient Meshes from Rhino® Surfaces

by James Truax, ThermoAnalytics, Inc. Version 1.0 I. Creating Surfaces From Curve Network – (NetworkSrf ® Surface – From Curve Network) Usage This is the newest surface creating command Rhino has implemented.  It is available in the latest beta version at  This command uses two series of curves to create a single surface.  These sets of curves run along and perpendicular to the surface.

Meshing With Rhino

> WATCH THE VIDEO Rhino is a NURBS modeler produced by Robert McNeel & Associates. A demo of Rhino can be downloaded from their website, Although Rhino has meshing capability, McNeel does not promote Rhino as a meshing utility. As a result, there is little information about meshing in the Rhino website, manual, or online help. In this document we will illustrate several techniques for creating a mesh using Rhino.

Schedule an Engineering Review of Your Project

To discuss your engineering requirements in detail, please use the contact form below or call our main office at (906) 482-9560 for a no-charge initial engineering review of your system.

Download Our Brochures Contact an Engineer