Reverse engineering in Rhino (without external plugins)

I have some 3d scans and I would like to do reverse engineering on the base version of Rhino.

Could you advise me which commands will be helpful to me or please share some tutorials about it (free or paid). I think about 3d scan made from triangles, not in a point cloud.

First I need to orient 3d scan in space to lay flat on the ground. Next, I need to put some cplanes onto flat surfaces to have the possibility of creating simple shapes (circle, square in specific orientation). Nex I need to find axes of all revolves and symmetry planes. After all, I need to check the deviation between my new cad shapes and the original 3d scan. Is it possible on base Rhino version without mesh2surface plugin?

You can see my sample 3d scan which I`ve made with my David SLS-2: Measure Tape - Quick raw scan with David SLS-2 - 3D model by 3d designer - Multimedia Design (@multimediadesign) [a44b541] - Sketchfab
I would like to align it to world space in Rhino and change it to CAD with checking deviation in the end. Is that possible on base Rhino? This scan is not a serious job, I’ve scanned it for learning purposes.

Any help is appreciated. Thanks in advance.

1 Like

Hi -

The following would be a place to start: Reverse Engineering [McNeel Wiki]


@Marcin How much experience do you have using Rhino?

I usually use Orient3Pt. Sometimes I also use Orient or Rotate.

The method to use depends on the geometry and accuracy required.

PointDeviation can be used for this, though the user needs to be careful not to select too many points to compare.


You need a specialized reverse engineering tool for this.
Automated feature detection is not part of the Rhino toolset.

1 Like

Thanks for your answer.

I’m mainly Modo Subd modeler (for 3d printing purposes - product prototype designer) and Zbrush sculptor but I have used MoI3d for many years (similar commands to Rhino). I create my designs to fit 3d scanned meshes so I play with 3d scans often. I`m a Rhino user for a year. I am also a T-Flex cad user (SolidWorks alternative).

Please tell me. What If I will have scanned the pipe. How to create plane perpendicular to pipe direction and how create a circle in same radius as scanned pipe? I would use circle _fitpoints to create a tube profile. Is that the correct way of thinking?

1 Like

I think that in pure Rhino I should be able to do it manually. I do not need automatic quadremesh or automated feature detection. I have a foggy idea of what I want to do but I hoped that after talking here with more experienced users I will have more information about this workflow in Rhino.

You can do it manually and it will also be less accurate.
The benefit of having a dedicated reverse engineering tool is that it will fit symmetry plane and axis of revolution to scan data much faster and with greater accuracy than you can do it manually.


Do you have in your mind some feature of mesh2surface or Geomagic Wrap or feature from different software?

I`ve thought that If I will do mesh segmentation (Zbrush PolygroupIt) and I will use some commands like circle _fitpoints or _PlaneThroughPt etc then it will be the same as automatic but probably you have the right that I will fail if I will choose bad points representation and the script will choose best averages without the noise.

For now, I have also a problem with selecting the right points without segmentation so I think that Zbrush will be helpful here.

Zbrush segmentation:

Rhino - choosing segmented feature and _PlaneThroughPt


1 Like

I am familiar with Geomagic.

“… choose bad points representation and the script will choose best averages without the noise.”

Its true even with Geomagic it is necessary to manually select areas (segmentation) to define the plane or axis of revolution, so in that respect its not fully automatic.

The speed comes in the fitting, since the software will fit the plane or axis once the areas are defined
This eliminates the process of defining multiple construction or reference planes and then tweaking them perhaps many times to improve the fit, which is time consuming.


OK. Please tell me how works circle _fitpoints. I have segmented the ring. I selected that ring and fired command and nothing happened. It still asks about: “select points to build circle from” but I selected it before triggering the command. It should build a circle for me as averages from the selected segment. Is it a bug or I`m doing something wrong.

simply stated, in rhino v7- quadremesh>tosubd>toNurbs

refine nurbs as needed.

That said, reverse engineering is not easy. it is hard, tedious work and takes a considerable amount of skill to do well.

I’d highly recommend buying a task specific plugin if you are doing this more than once. the time you save and the hassle you will avoid more than make up for the price you paid.


Thanks. If I have your attention for a moment. Please tell me why circle _fitpoints doesn’t create a circle from the segmented mesh? Am I doing something wrong? _PlaneThroughPt works well but circle _fitpoints doesn`t.

Edit: If I will convert mesh segment to pointcloud then that command also doesn`t work.

The object you’re drawing here isn’t really complicated and insanely organic enough to justify the workflow. Just build it. Use PointDeviation to check accuracy, otherwise do NOTHING with the scan. You’re just doing this for educational purposes? The only training for doing ‘reverse engineering’ in Rhino just to know how to build stuff. There is no trick to it, you need to know ALL the tricks to have a hope of getting anything done in a length of time anyone will be willing to pay for.


I`m doing this for fun and to try is it possible without an external plugin to do retopo over 3d scan in Rhino.

I do retopo of 3d scans often but I do this with using Modo and Zbrush for non CAD purposes. This I do only for the fun of doing it and to choose the right commands for this kind of job.

I also align scans and look for symmetry planes but I do it in a polygonal world (Modo+Zbrush). I try to transfer my polygonal knowledge into CAD. I see many similarities in areas of alignment and seeking symmetry planes.

I’m not looking for tricks but I`ve found that Zbrush may be helpful for segmentation purposes. Cleaning scans is also friendly there (I do it often).

I know that modeling over scan in Rhino is ordinary modeling with ordinary methods but to go there you should align scan, slice it an search many symmetry planes. Not only global but also many locals which will help you to put cplane there. I don’t know all commands related to that process (I’m not talking about pure modeling but preparing for modeling process). For now, I`m playing with only two commands: circle fitpoints and PlaneThroughPt. PointDeviation and Orient commands will be next.

Backing to my last question. Circle fitpoints works but only over pointcloud. So I converted my circular segment to pointcloud and converted it to circle with success. After that, I have axis for revolve to rebuild that torus.

For now, I`m looking for a command to draw a curve on the intersection between the plane surface and the mesh. Can you help me?

I have used Basic Rhino to create 3D models from scan data for nearly 20 years.
It just takes practice. I generally extract the construction curves that I need from the pointcloud then “Model as normal”.
The new SubD tools are pretty exciting so I have been modifying my workflow to use them.


I admire your works. I’ve seen that plane here before in the gallery. It’s titan work. Respect. Have you thought about making paid tutorials about this process? Your models look amazing. I have no doubts that Rhino is able to do this kind of job alone. I`m trying only to search commands helpful for that. I mean those not related with pure modeling but with those most repeatable which are used most often in that workflow.

Hi -

Convert the plane to a meshplane and use MeshIntersect to find that intersection. You might have to remesh the plane (with, e.g., QuadRemesh) to ensure that you have enough mesh faces.


Thank you. That’s funny because I’ve discovered it at the same moment when you posted your answer but big thanks to you. Now I know it`s a correct way to do that.

I thnk your Q just a mistaken on scope of 3D-Scan-Reverse.
Only Rebulid sculpture. Very Easy.
Just CUT VIEWS and seam meshs