Site Tools


Reverse Engineering

Rhinoceros 8

Reverse Engineering is the process of transforming a Mesh or Point Cloud, usually coming from the scan of a physical object, into a type of 3D geometry that can be editable to manufacturing standards. A mesh is a succession of flat polygons that define a shape in 3D space. However, due to its nature, meshes are hard to manipulate in a precise way. This precision is often required to manufacture the model back into a physical object. For instance, you cannot define precisely a radius or curvature on a mesh. Therefore by reverse engineering it back into a geometry that can be transformed with matehmatical precision, such as NURBS, the object can then be manipulated and edited to taste and sent back to any kind of prototyping machine.

Rhino is not a reverse engineering program, since there are many aspects and tools needed to do reverse engineering. However, depending on your requirements, Rhino might have enough tools to get the job done.

Rhino 8 improves this process a step further than Rhino 7 by adding the ShrinkWrap command. Here are some resources on ShrinkWrap:

The set of tools in Rhino 8 that can help convert a scan into an editable part are:

  • ShrinkWrap - to obtain a closed and clean mesh
  • QuadRemesh - for remeshing and controling the topology
  • ToSubD - to edit, manipulate and transform its shape
  • ToNURBS - to convert it back and do further (precision) editing such as booleans, chamfers or fillets.
  • MeshBooleans Improved - rewritten mesh boolean code that handles many corner cases and outputs a cleaner polygonal result,

You'll find a growing colleection of tutorials on our Reverse Engineering Learn category.

Rhinoceros 7

This is a old, but still valid explanation of a Mesh.

Rhino 7 improves this process of Reverse Engineering a mesh. Here are videos on using Rhino 7 to reverse engineer a mesh. The process and commands are included in the video.

You can find more here: https://www.youtube.com/c/Rhinoceros3d/videos

Rhinoceros 6

Rhino is not an automatic reverse engineering software.

Generally, you will use the point cloud or polygon mesh as a reference to remodel the object with NURBs surfaces.

You can extract section curves from a point cloud (PointCloudSection command), or from a polygon mesh with Section or Contour.

  • Tutorial on the built-in functions in Rhino

There are also some plug-ins available which help the reverse engineering process.

  • Trunhoo Network Technology has RhinoResurf, a reverse engineering plug-in for Rhino 4 and 5.
  • Mesh2Surface is also a great plug-in for simplifying reverse engineering tasks in Rhinoceros.

The Patch command is the only tool you can directly use to create a surface from a set of points. But you could also use the PointCloudSection command in Rhino to reverse engineer curves first, then use those curves to construct NURBs surfaces.


Look here and the following pages for applications that automatically create NURBS surfaces from point clouds or meshes. To navigate, click the little text angles at the very bottom right of each page.


Reverse engineering is about the hardest thing to do in Rhino, depending on what the scanned item is. I've done it and it is not an easy or particularly enjoyable process, unless it's a terrain map in which case it should be feasible to get something with Patch. My advice would be to not undertake this point cloud to NURBs task unless absolutely necessary. (There are CAM programs that can take mesh files, if that's the problem.) And if you do need to, then either get help from someone with the Rhino experience–there's no trick, you just have to know Rhino really really well– or get specialized reverse engineering software needed to do it in a reasonable time frame.


This PDF file describes the process of cleaning up a scanned mesh and making it ready for STL printing. Additionally, the mesh is “reverse engineered” and replaced with NURBs surfaces, all in Rhino 4.0.

Add your comments…

rhino/reverseengineering.txt · Last modified: 2023/02/10 by joachim