Mesh Manipulation with MeshLab

March 30, 2014 3D Printing

For some time now, I’ve wanted to find a way to create organic looking forms using 3D modeling tools.  I’m really inspired by the various organic looking 3D printed jewelry I see around the internet, like this bracelet from Nervous System:8684076470_3a7dcfb260_z

Nervous System does their geometry creation themselves, writing scripts and creating interfaces from scratch.  Another option is the  Grasshopper plugin for Rhino, that enables visual programming to create algorithm designs.

grasshopperLearning Rhino and Grasshopper to do algorithmic modeling is on my “to do” list, but alas, I don’t have time right now.  However, in my travels on the interwebs, I also came across some methods for creating organic looking geometry using MeshLab.  There is a really great  post series on the MeshLab Stuff blog that show how to create Voronoi Sphere solely in Meshlab, so I figured I’d give it a try.

Instead of creating the mesh entirely in Meshlab like the tutorial shows, I wanted to start with some geometry.  I decided to make a test tube vase, similar to the design I made a few months ago, using glass test tubes ordered on Amazon.  To start, I modeled the test tube in Solidworks to get a frame of reference.  I then created a framework and then patterned the line segments in a circle.  After combining all of the line segments, I created a collar for the test tube, and a base for the whole vase, but left these as separate solids so I could add them in later.

  • 3D sketch for a frawework.

Saving the final file out as separate STLs, I then imported both files into Meshlab.  I then used the following steps to smooth out the mesh of the body framework:

  1. Filters>Remeshing, Simplification and Reconstruction> Uniform Mesh Resampling:  Looking at the imported stl files, the cylindrical surfaces are imported with very long sliver faces.  To get a more uniform mesh, you use this tool, which employs a Marching Cubes algorithm to create a new mesh.  Depending on model size, set the the precision to about 1/4 of your thinnest feature, in my case this was about 1 mm.  The smaller you set it… the longer this will take.  I only use the “Clean Veritices” option when running this operation, but the “Absolute Distance” option is good for turning surfaces into solids.
  2. Filters>Remeshing, Simplification and Reconstruction> Quadric Edge Collapse Decimation: Once you have this uniform mesh, you’ll want to reduce the mesh density so it’s easier to work with.  Use this operation and specify a certain number of faces you’d like to work with.  For this model, 30,000 faces seemed like a good number.  You’ll want the “Preserve Normal”, “Preserve Topology”, “Optimal Position”, and “Post-Simplification Cleaning” options checked for this.
  3. Filters>Smoothing, Fairing, and Deformation> Laplacian Smooth: With this thinned out mesh, you can now use the Laplacian Smooth operation to redistribute the vertices, creating that organic look.  The higher the number of iterations, the more blended the mesh will become.  You’ll only want the “1D Boundary Smoothing” option selected for this.
  4. Filters>Mesh Layer>CSG Operation:  With the main body smoothed out, we can add in our collar and base geometry.  Select the two mesh layers and then do a “Union” operation to make them into one geometry.  Export the mesh as an STL and you’re reading to import into Slic3r for 3D printing.

  • Imported STL files.

When I went to slice this, the time estimate for the full piece was about 15 hours.  Since I wasn’t sure how it would turn out with all of the bridging that would be necessary, I reduced the size by 50%, and was able to print it in about 4 hours.


Here is the final model:


As you can see… the print leaves a lot to be desired.  There’s a lot of strings, and it looks very blobby.  I’ll work on fixing that in my next post!

Leave a Reply

Your email address will not be published. Required fields are marked *