How to generate manifold printable .stl's from .ply

I’ve recently had the opportunity to try the Ciclop, an open source hardware desktop laser scanner. The recommended software is Horus, which will export a colored point cloud in .ply file format. You can’t print a .ply directly, because the slicing engines available are designed to work with manifold surfaces, like those found in good .stl’s, .obj’s, and .amf’s. As Horus is developed, I think we will see more file processing options, like trimming, alignment, “fusing”, “flattening”, hole filling, and other various file-prepping tools. In the mean time, Meshlab and Blender offer these tools, and can be used to make printable files from point cloud data.

Nothin’ to it but to do it!

First: let’s just open the file in blender and isolate some patches to see what we are working with. tab gets you into edit mode for the selected object. a deselects everything. c or b can be used to do a circle select or border select. Scroll the wheel to change the size of the circle and hit esc when you are finished selecting. shift+h hides all but the selection. alt+h shows everything.

Now that we have an idea of what the mesh looks like, let’s open it in meshlab and start applying some filters.

Note: filters are applied to the selected mesh only. Make sure you have the right mesh by selecting it from the layer dialogue. If you don’t see the layer dialogue, then show it using the “view” menu.

So, this reconstruction failed, but I’m going to post it anyway and then try it again. I think that by trying to orient things better for screenshots I may have scaled and translated the model in ways that altered the outcome, or I used too high a octree depth

This is how you trim and Boolean on a base.

Supplementary info on the Boolean modifier:

So I ran through the same process with the octree depth set to 8 instead of 10 in the poisson surface reconstruction, and got results that didn’t need to be trimmed, just needed the normals flipped and the base trimmed off a bit to give it a nice flat footprint for printing.

So that’s all folks, if anyone posts some files they are trying to print, I’ll try to help out. Part of what makes this process tricky is that the optimal parameters for these filters are completely application and geometry dependent. I personally prefer doing it manually this way (rather than having a all-in-one package that does it for you) because I have *complete control over what the final geometry looks like, rather than having to just go with whatever the native software spits out (if it spits out anything at all). That being said, many users *will probably want that for ease of use purposes. I think the best case would be to have both options.

this is some really good info thank you for the post! I am printing out the parts to make a piclops and this is exactly the sort of thing I was looking for on how to deal with the point clouds!