Tuesday, January 21, 2014

Day 148 - Shrinking and Remeshing the Fidget Cube

Now that the hinges on the Fidget Cube are smaller (see yesterday's post), we can make the cube itself smaller. Let's start by going down from cube length 20mm to cube length 15mm:


And now down to 10mm! This tiny fidget cube actually works, and it is very quick to print. I think this is pretty much the limit of how small we can go without the hinges becoming too short. (In fact, to get this print to work I had recode the outside hinges to be a bit larger so they wouldn't break apart when the model unsnaps for the first time.)


STL file for 15mm: http://www.geekhaus.com/makerhome/day148_fidgetcube_red.stl
STL file for 10mm: http://www.geekhaus.com/makerhome/day148_fidgetcube_white.stl
Thingiverse link: http://www.thingiverse.com/thing:230139

Settings: MakerWare .2mm/Standard with linear fill, with the 15mm model printing in about 40 minutes and the 10mm model printing in about 20 minutes.

Technical notes, MeshLab flavor: Nicbane commented on Thingiverse that my original models did not slice with Slic3r due to being non-manifold, meaning that somewhere in the mesh something bad happens, for example more than two faces meeting at the same edge, or faces being connected only by vertices, as shown in this picture from Martin Sälzle at PCL Developer's Blog:


Although MakerWare's slicer could handle whatever weirdness was happening from my OpenSCAD STL file, apparently Slic3r couldn't. I couldn't see the problem in MeshLab so I tried as many repairs as I could do without MeshLab crashing, which turned out to be the following list of repairs (all under Filters --> Cleaning and Repairing):
Remove Duplicate Faces
Remove Duplicated Vertex
Remove Faces From Non Manifold Edges
Remove T-Vertices by Edge Flip
From looking at the edge/vertex counts, I think the only one of the above that did anything was the T-Vertices repair, but better safe than sorry. According to Nicbane this did the trick.

Interestingly, the T-Vertices repair in MeshLab only works without crashing for STL files generated directly from OpenSCAD and not for STL files that are generated by the Thingiverse Customizer. I think this might be because the Customizer already fixes the problem somehow; perhaps running the T-Vertices command on an already-fixed model crashes MeshLab?