Maniupulating a 3D Scan Into Usable Data

We’re working on modeling a large, irregular, and fairly amorphous concrete art piece that will need to be lifted and supported in its final condition. The artist has sent us a sketchup file for a 1:10 scale mockup that they created on site. I was able to bring this file into Rhino, where it shows up as, not surprisingly, a block instance. To my knowledge (correct me if I’m wrong), I can’t do too much with this block so I exploded it to show an EXTREMELY fine mesh.

My question is a vague one. How can I get this block or exploded mesh into a usable form? My thoughts were if I could get it into a solid, I could section it and grab off enough useful points (not nearly as many as the meshes they’ve provided) to model it up structurally and take a look at its behavior. Or, similarly, if I could get a point cloud off of the mesh, I could probably grab some useful points and output those.

I’ve tried converting the mesh to NURBS, but the size/complexity of it (not surprisingly) overloads my machine and causes everything to slow to a crawl.

Any suggestions? Really want to get to something simplified that I can output as points to a structural modeling software!


How large is the mesh? I’ve used meshes as large as 3 million vertices as background for creating geometry. Section and Contour work without any problems though slowly. I’ve drawn interpolated curves by snapping to vertices. Usually I use Worksession with the mesh in a separate, attached file.

Pretty large, but it does seem like contour is plugging away at it right now. I’m thinking once I got those contours in (both directions) I could use the intersect tool to create points where they cross to get a decent approximation of some internal/external points? Thanks for the suggestion! I’ll let you know if/when I run into more issues.

Probably a pretty simple question, but who knows. After splitting the main object with contours, I obviously get a pretty tight group of discretized “square” curve elements. Is there an easy way to fit a smooth curve along the square jogs? My hope is after fitting a curve along the perimeter of the discretized square curves, I can split that as needed to create my nodes of interest to input into my structural program.

Hi Alex- see how CurveThroughPolyline works here.
Depending on what you want to do next, the result may or may not be useful. In general it is not the best approach for complex shapes to simply combine a bunch of section curves, no matter how smooth…


Hi Alex,

Did you try and run the _Reducemesh command?
It might give a lightweight /workable mesh.


CurveThroughPolyline can be very useful, but it results in a degree 3 curve with two more control points compared to the original polyline. If you want a curve with fewer control points try Rebuild or RebuildCrvNonUniform.

You can also create points directly at mesh vertices using Point or Points with the Vertex Osnap on.

This is set at the command line.


All of these worked pretty well. I realized it was actually the initial model that gave me issues with the non-smooth curve, as the mesh on the initial model wasn’t smooth to begin with. Using a different model I was able to get these smooth curves in perpendicular directions.

An additional hope of mine is to somehow convert the initial scanned mesh into a solid (from which I can gather the mass/center of mass information). I’m assuming this is a pretty tricky/finicky process, but any ideas for this part?

Thanks everyone!

Hi Alex- if the mesh is closed and valid (Check command), you can get the VolumeCentroid directly from it in Rhino.


Are you interested in a surface model? or a better STL file?

I may be a little late to the party, but here is my two cents. Open the mesh with cloud compare and sample the points. Sub-sample the created point cloud by spacing. Import reduced point cloud into Rhino and mesh.