Research Services
Creating Efficient Meshes from Rhino® Surfaces
by James Truax, ThermoAnalytics, Inc.
Version 1.0

I.                   Creating Surfaces

A.     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 www.rhino3d.com.  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.

 

 

 

B.     Edge curves – (EdgeSrf ® 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.

 

 

 

 

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

 

 

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

 

 

 

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

 

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

 

 

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

 

 

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

 

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

 

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

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

 

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.

 

Join ® Edit – Join

 

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.

 

Rebuild ® Curve – Edit Tools – Rebuild

 

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.

 

DupEdge ® Curve – From Objects – Duplicate Edge

 

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.

 

Text Box: Figure 1 This figure shows the initial curves with one two of the curves not joined at one corner. The first step is to turn point editing on (PtEditOn) so that the end of the curve can be moved.  

 

Text Box: Figure 2 The second step is to move on end point a distance from the other end point. It doesn’t matter which is moved. Notice, the Osnap points aid is turned on. This ensures that only points are selected.  

 

Text Box: Figure 3 The final step is to move that point back. Because Osnap is one, only points will be selected. When the point is moved back, Rhino will move it precisely to the end of the other line, creating a continuous set of curves

 

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.

 

 

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

 

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

 

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

 

Copyright © ThermoAnalytics, Inc. 2007 Privacy Statement - Site Map