Mesh cleanup (Laser-scanned builiding)


(munkey) #1

Hello. I have laser-scanned building in one huge mesh (1mil / 10mil polygons, obj.) - see attached pictures:

My question is: what is the best way to go, in order to “clean up” the mesh to get planar faces as “walls, columns” etc., non triangulated, sketchup-like. I would like to preceed this mesh such, so I can convert it to geometry, with wich I can work in SketchUp. Also I need to separate interior objects from this mesh - all furniture, statues, altars etc (it’s a church).

Please dont tell me, the only way is to do it manually - “redraw” it from sections of this mesh etc.

Thanks for any help!


OK, I won’t tell you… :zipper_mouth_face:

(munkey) #3

Enough said. Any chance to automate this process?

For instance, approximation of planes on selected polygons and then joining these planes together… ?

(Rickson) #4

How was the mesh created in the first place?? Is it possible to remove the pews ect there?

What are your desired tolerances? The final goal is sketchup??

There are several plane fitting options. As well as face removal ect, but really depends on what you are trying to produce. The higher the resolution, the more manual work involved, generally.

(munkey) #5

It was created probably from point cloud, IDK - I got only this .obj file - it’s one mesh, everything welded together, so cannot easy remove the pews and so on.

The final goal in sketchup is to be able to “work” in interior - creating scenes for visualisations, applying materials (I need planar walls), adding new furniture, lights etc. Also to produce elevations, sections via Layout.


If you really want to do it, the process required is called Segmentation. You’ll start by extracting planar areas which you then can fit planar surfaces to:

  1. _ExtractConnectedMeshFaces, pick triangle on any wall, adjust angle, extract…
  2. _From the resulting mesh, get the points using _ExtractPt
  3. With the points selected, run _PlaneThroughPt to get a plane surface

repeat the process with the most required walls, roof, floor etc. then extend the plane surfaces if required so they enclose one volume. Once this is done you can use _CreateSolid to built a polysurface. Next fix each surface in the polysurface to get proper isocurve alignment. Then do the details like windows etc. This is the most “automated” way to go in Rhino apart from just re-drawing it “manually” by creating important sections, cleaning them and then using _ExtrudeCrv and snapping to the existing vertices in the mesh…it sounds tedious but will get you the best results.


(munkey) #7


It is working. Just for addition, after step 1, it is possible to skip to step 3 (selecting the extracted mesh works, no need to extract the points in step 2).