Inspired by the many sets of polyhedral models on Thingiverse (for example pmoews’ Archimedean Solids, Johnson Polyhedra, and Catalan Solids, and pdragy’s Customizable Convex Polyhedra), today we experimented with ways to make wire-frame polyhedra. Our test subject was the gryoelongated pentagonal bicupola, which has regular polygon faces but non-regular behavior at its vertices. This sounds fancy but just means that the vertices can look different; for example, in this model there are some vertices that are surrounded by one pentagon, two squares, and one triangle, where in other places there are vertices that are surrounded by four triangles and a square.
Thingiverse link: http://www.thingiverse.com/thing:267193
Settings: MakerWare with custom settings from Day 110 on a Replicator 2.
Expensiveware warning: On this blog I try to stick to free and commonly available software, but for today’s object I am pulling out the big guns and using Mathematica, which is very much not free. Mathematica’s freeware baby cousin wolframalpha.com also knows about the gryo-pen-bic-whatsit, but Mathematica has much more data and power, and most importantly, can export models to STL.
Technical notes: It is easy to get a 3D polyhedral model in Mathematica using the built-in PolyhedronData package; for today’s polyhedron it’s as simple as:
Mathematica can also output a wireframe, give specific vertex coordinates, calculate the surface area of the polyhedron, and lots of other things, including export to STL. However, Mathematica only reliably exports full models, not wireframes (as far as I can figure). We could use Mathematica’s vertex coordinates to explicitly construct a wireframe model in OpenSCAD by combining the methods in Day 174 and Day 188, but that would require keeping track of vertex adjacency information. That might be tolerable for just one polyhedron, but would be way too tedious for constructing a big collection of different polyhedral wireframes.
So the problem is this: How to turn a model exported from Mathematica into a wireframe? This afternoon I was thinking about this problem and suddenly remembered that there is a little button in TopMod that looks like this:
Problem solved! Export the polyhedron from Mathematica to STL, convert to OBJ using MeshLab (or your favorite online converter) so we can open the file in TopMod, remove the edges and vertices from the mesh that we don’t want included in the wireframe, and then press the magic button. The model pictured on the right is the result of this process. The one pictured in the back had a mesh refinement and then a Doo Sabin remesh (see Day 135), and the one pictured on the left had no refinement but then two Doo Sabin remeshings.
UPDATE: Bill Owens (owens on Thingiverse) points out that you can get Mathematica for free on a Raspberry Pi, so for some of you Mathematica *is* freeware!
Leave a Reply