Wednesday, March 26, 2014

Day 212 - Stylized Catalan Wireframes

Our Catalan Wireframe Polyhedra series is finally complete! Here is the whole happy family of thirteen:


Settings: MakerWare .3mm/low with support-reducing custom slicing profile, on a Replicator 2. We printed each one in a different color with scraps from home and work so that they would be easy to identify. Each model was scaled by a constant that measured the openness of its design, so that together the models would look like a matching set. The wireframe designs were made using Mathematica, MeshLab, and TopMod. Everything in this paragraph is described in detail below.

Thingiverse link: http://www.thingiverse.com/thing:282868

Technical notes, nomenclature flavor: Which polyhedron is which? Every face of a Catalan solid is the same non-regular polygon, and the prefix of its name describes the kind of face that it has.
  • Triakis = faces are isosceles triangles arranged in 3-sided pyramids
  • Tetrakis = faces are isosceles triangles arranged in 4-sided pyramids
  • Pentakis = faces are isosceles triangles arranged in 5-sided pyramids
  • Rhombic = faces are rhombi/rhombuses (grammar police line up and fight!)
  • Didsyakis = faces are scalene triangles
  • Deltoidal = faces are kites
  • Pentagonal = faces are irregular pentagons

Technical notes, differentiation and scaling flavors: The following is a key to the Catalan solids pictured above, together with the respective scaling factors as calculated using the algorithm we explained on Day 195:
  • BLUE = Triakis Tetrahedron, scale 1.99498 (Day 211)
  • BLACK = Triakis Octahedron, scale 2.01059 (Day 202)
  • TRANS. ORANGE = Triakis Icosahedron, scale 2.06374 (Day 199)
  • NEON ORANGE = Tetrakis Hexahedron, scale 1.83142 (Day 211)
  • NEON GREEN = Pentakis Dodecahedron, scale 1.83261 (Day 204)
  • GREEN = Rhombic Dodecahedron, scale 1.45648 (Day 210)
  • WARM GRAY, scale 1.49535 = Rhombic Triacontahedron (Day 203)
  • TRANS. YELLOW = Disdyakis Dodecahedron, scale 1.72338 (Day 195)
  • TRANS. CLEAR = Disdyakis Triacontahedron, scale 1.6772 (Day 205)
  • RED = Deltoidal Icositetrahedron, scale 1.43823 (Day 198)
  • TRANS. PURPLE = Deltoidal Hexecontahedron, scale 1.28527 (Day 196)
  • WHITE = Pentagonal Icositetrahedron, scale 1.13082 (Day 197)
  • TRANS. BLUE = Pentagonal Hexecontahedron, scale 1.00 (Day 194)

Technical notes, support flavor: Starting from the "Standard PLA" MakerWare .2mm profile with raft and supports, we changed the settings listed below. This is the same knot/wireframe support-reducing profile that we have used many times before, posted here just so you don't have to go find it:
  • "roofThickness": 0.5, 
  • "floorThickness": 0.5,  
  • "sparseInfillPattern": "linear",  
  • "infillDensity": 0.2,   
  • "minSpurLength": 0.4,  
  • "doSupport": true,
  • "doSupportUnderBridges": true,
  • "supportDensity": 0.1,   
  • "supportExtraDistance": 0.8,  
  • "supportModelSpacing": 0.5, 

Technical notes, modeling flavor: The following is the workflow used to obtain these models. Most of this was described in Day 194 but we repeat it here for completeness and to insert the scaling step that we added in Day 195. We'll walk through with the Pentakis Dodecahedron as our example.
  1. Use Mathematica to create the polyhedron and export to STL, and then calculate the scaling factor for the model:

    PolyhedronData["PentakisDodecahedron"]

    Export["PentakisDodecahedron.stl", %]

    N[
 PolyhedronData["PentakisDodecahedron", "EdgeLengths"]]
      
 Out = {1., 1.12732}

    length = (2*1 + 1.12732)/3
    
   Out = 1.04244

    
 edges = 
 PolyhedronData["PentakisDodecahedron", "EdgeCount"]
       Out = 90   

    surface = N[PolyhedronData["PentakisDodecahedron", "SurfaceArea"]]

       Out = 27.9352

    scalefactor = Sqrt[(length*edges/surface)]
       Out = 1.83261


  2. Use MeshLab to resize and convert to OBJ format:

    Import STL

    Filters --> Normals, Curvature, and Orientation/Scale
    to set the scaling factor

    Export as OBJ


  3. Use TopMod to remove edges or vertices that don't belong in the wireframe, and then create the frame and remesh:

    Import OBJ

    Wireframe 0.250

    Remeshing/4-Conversion/Linear Vertex Insertion

    Remeshing/4-Conversion/Doo Sabin

    Export as STL


  4. Use MakerWare to size and orient the model:

    Import STL

    Allow MakerWare to rescale or do manually with 2450%

    Scale to 50%

    Orient model to reduce support

    Slice and print with Custom Slicing Profile

UPDATE: This set of models was "Featured" on Thingiverse on April 22, 2014, hooray!

No comments:

Post a Comment