Converting a freeform organic mesh into a simple surface

So I was given this free form shell that was created in 3ds max and I want to replicate it in rhino to a simple surface with the least amount of divisions possible so I can start using it in grasshopper to divide into panels and work on the structure.

But no matter what I do, the output created in rhino is not a 100% match. I have tried extracting the mesh edges and then rebuilding them to reduce the control points and the sweep2 which gave a very close outout but not 100%.

the white lines are the original mesh while the orange is a make2D from the rhino model I created.

I have also used MeshToNurb but it created a very heavy surface which I could not reduce later.

the red surface is the result from the sweep but it’s not a perfect match

I have attached the mesh as imported from 3ds Max in rhino which I want to make into a simple surface.

Thanks in advance and I really appreciate your time
shell.3dm (2.4 MB)

The mesh has a nice grid of 101 x 101 points, however the vertices are disorganized.

To start somewhere, I took just the outside of your mesh and eliminated the underside and rand. I transformed the mesh vertices to a horizontal square grid to be able to sort the vertices. There are probably other, quicker solutions? (1.3 MB)

1 Like

Hello - if you need a surface, then taking some sections and edges of the mesh parts is where I’d start - these can be input to a NetworkSrf for example -



I have tried this solution by extracting the edge curves of the mesh along with multiple perpendicular sections but somehow the result wasn’t identical.

this is brilliant thank you! but I’m not sure I fully understand what you have done. because I have to replicate it a bunch of other time to make the other shapes of the shell. so if you could explain what you have done I’d be very grateful. thank you so much for your time.

that was my try with the cross sections and even though all of these curves are extracted from the original mesh the output was not identical.

Thanks! Rebuilding the surfaces with cross sections is nonsense. You do have good meshes but somehow messed up topology. All I did is stretch the meshes to a fully orthogonal mesh in the XY plane so I could recreate a point order. The point order is required to rebuild the surface.

1 Like

Brilliant solution man thank you!!!

Hello I hope I’m not asking too much but I managed to get the script to work on all the other shapes of the shell except for one. it is not working for some reason and I can’t figure it out. I was hoping you could help.middle shell.3dm (1.2 MB)

I think it is because there’s an error in the mesh itself, I repaired it and then tried to figure out the number of points for the grid but no luck. Hope you can help.

Thanks for your time.

Sorry can’t help on this one. You’ll probably have to rebuild it with section curves.

The edges of the central vault have very short edges along the boundary. I found 24,000 edges that were quite short. It looks like it would be best to repair those edges using merge short edges or extract the top faces and leave the mess of edges behind.

Getting a mesh of an object that is supposed to be smooth can be a real challenge. Modeling in Max is not doing the team any favors when it comes time to build this project.

I extracted the top and bottom mesh faces using Extract Connected in the mesh repair tools. Then I could convert them to SubD surfaces. Now we have a surface we can work with. This is with Rhino 7 WIP.middle shell subd.3dm (1.8 MB)

Once it is smooth, now you can go after it with Grasshopper or Panelingtools.

could you save it back to rhino6 please ? I can’t open it.

well thanks anyways!

If you have Rhino 6 running you can download Rhino 7 from here:

With Rhino 7 WIP there are more tools to edit and reverse engineer with SubDs.

Here is the file in V6: middle shell subd v6.3dm (2.0 MB)

1 Like

i’m already downloading it. thanks a million!