Polyhedron maps: Difference between revisions

From Technologia Incognita
Jump to navigation Jump to search
Brainsmoke (talk | contribs)
No edit summary
Brainsmoke (talk | contribs)
Line 17: Line 17:


== Example ==
== Example ==
== Usage ==
  usage: polymap.py [-h]
                    [--type {T,O,C,D,I,tT,tC,bC,tO,tD,bD,tI,aC,aD,eC,eD,sC,sD,kT,kO,mC,kC,kI,mD,kD,jC,jD,oC,oD,gC,gD}]
                    [--map {earth}] [--radius RADIUS]
                    [--thickness THICKNESS] [--overhang OVERHANG]
                    [--overcut OVERCUT] [--padding PADDING]
                    [--sheetwidth SHEETWIDTH] [--cutwidth CUTWIDTH] [--flip]
                    [--dpi DPI] [--invert] [--nonumbers] [--noengraving]
                    filename
 
  positional arguments:
    filename              output svg
 
  optional arguments:
    -h, --help            show this help message and exit
    --type {T,O,C,D,I,tT,tC,bC,tO,tD,bD,tI,aC,aD,eC,eD,sC,sD,kT,kO,mC,kC,kI,mD,kD,jC,jD,oC,oD,gC,gD}
                          solid type (Conway name)
    --map {earth}        map engraving
    --radius RADIUS      polyhedron's radius (mm) (default: 100)
    --thickness THICKNESS
                          material thickness (mm) (default: 3.)
    --overhang OVERHANG  overhang of notches (mm) (default: .3)
    --overcut OVERCUT    overcut in corners to account for cutting width (mm)
                          (default: 0)
    --padding PADDING    padding between faces (mm) (default: 3.)
    --sheetwidth SHEETWIDTH
                          maximum sheet width (mm) (default: 550)
    --cutwidth CUTWIDTH  cutting width of laser(mm) (default: .15)
    --flip                engrave on the backside
    --dpi DPI            dpi used for svg, (default: 90, as used by inkscape)
    --invert              engrave seas instead of landmass
    --nonumbers          do not plot number hints
    --noengraving        do not plot world map
 
  Supported solids:
 
    T: Tetrahedron (???)
    O: Octahedron (???)
    C: Cube (???)
    D: Dodecahedron
    I: Icosahedron
    tT: Truncated tetrahedron (???)
    tC: Truncated cube (???)
    bC: Truncated cuboctahedron
    tO: Truncated octahedron (???)
    tD: Truncated dodecahedron
    bD: Truncated icosidodecahedron
    tI: Truncated icosahedron
    aC: Cuboctahedron (???)
    aD: Icosidodecahedron
    eC: Rhombicuboctahedron
    eD: Rhombicosidodecahedron
    sC: Snub cube
    sD: Snub dodecahedron
    kT: Triakis tetrahedron
    kO: Triakis octahedron
    mC: Disdyakis dodecahedron
    kC: Tetrakis hexahedron
    kI: Triakis icosahedron
    mD: Disdyakis triacontahedron
    kD: Pentakis dodecahedron
    jC: Rhombic dodecahedron
    jD: Rhombic triacontahedron
    oC: Deltoidal icositetrahedron
    oD: Deltoidal hexecontahedron
    gC: Pentagonal icositetrahedron
    gD: Pentagonal hexecontahedron
 
  Errata:
 
      - Solids marked ??? may have too steep dihedral angles
        (different notches are required)
      - this script invokes inkscape to do a boolean path intersection operation
        this seems to fail for the tC solid (Europe's missing.)

Revision as of 23:17, 18 December 2014

Projects
Participants Brainsmoke
Skills maths, lasercutting
Status Active
Niche Mechanics
Purpose World domination

Polyhedron Maps

By combining globe projection code (used for the HAR2009 shirt as well as for the Eth0:2012 Summer poster,) with polyhedron math code written for polyhedrone, I was able to create a script which projects the world map on the surface of a polyhedron. The script generates laser-cuttable polyhedral faces with notches which lock at the correct angle.

Eth0:2012 Summer poster

Source

github.com/brainsmoke/polymap

Example

Usage

 usage: polymap.py [-h]
                   [--type {T,O,C,D,I,tT,tC,bC,tO,tD,bD,tI,aC,aD,eC,eD,sC,sD,kT,kO,mC,kC,kI,mD,kD,jC,jD,oC,oD,gC,gD}]
                   [--map {earth}] [--radius RADIUS]
                   [--thickness THICKNESS] [--overhang OVERHANG]
                   [--overcut OVERCUT] [--padding PADDING]
                   [--sheetwidth SHEETWIDTH] [--cutwidth CUTWIDTH] [--flip]
                   [--dpi DPI] [--invert] [--nonumbers] [--noengraving]
                   filename
 
 positional arguments:
   filename              output svg
 
 optional arguments:
   -h, --help            show this help message and exit
   --type {T,O,C,D,I,tT,tC,bC,tO,tD,bD,tI,aC,aD,eC,eD,sC,sD,kT,kO,mC,kC,kI,mD,kD,jC,jD,oC,oD,gC,gD}
                         solid type (Conway name)
   --map {earth}         map engraving
   --radius RADIUS       polyhedron's radius (mm) (default: 100)
   --thickness THICKNESS
                         material thickness (mm) (default: 3.)
   --overhang OVERHANG   overhang of notches (mm) (default: .3)
   --overcut OVERCUT     overcut in corners to account for cutting width (mm)
                         (default: 0)
   --padding PADDING     padding between faces (mm) (default: 3.)
   --sheetwidth SHEETWIDTH
                         maximum sheet width (mm) (default: 550)
   --cutwidth CUTWIDTH   cutting width of laser(mm) (default: .15)
   --flip                engrave on the backside
   --dpi DPI             dpi used for svg, (default: 90, as used by inkscape)
   --invert              engrave seas instead of landmass
   --nonumbers           do not plot number hints
   --noengraving         do not plot world map
 
 Supported solids:
 
   T: Tetrahedron (???)
   O: Octahedron (???)
   C: Cube (???)
   D: Dodecahedron
   I: Icosahedron
   tT: Truncated tetrahedron (???)
   tC: Truncated cube (???)
   bC: Truncated cuboctahedron
   tO: Truncated octahedron (???)
   tD: Truncated dodecahedron
   bD: Truncated icosidodecahedron
   tI: Truncated icosahedron
   aC: Cuboctahedron (???)
   aD: Icosidodecahedron
   eC: Rhombicuboctahedron
   eD: Rhombicosidodecahedron
   sC: Snub cube
   sD: Snub dodecahedron
   kT: Triakis tetrahedron
   kO: Triakis octahedron
   mC: Disdyakis dodecahedron
   kC: Tetrakis hexahedron
   kI: Triakis icosahedron
   mD: Disdyakis triacontahedron
   kD: Pentakis dodecahedron
   jC: Rhombic dodecahedron
   jD: Rhombic triacontahedron
   oC: Deltoidal icositetrahedron
   oD: Deltoidal hexecontahedron
   gC: Pentagonal icositetrahedron
   gD: Pentagonal hexecontahedron
 
 Errata:
 
     - Solids marked ??? may have too steep dihedral angles
       (different notches are required)
     - this script invokes inkscape to do a boolean path intersection operation
       this seems to fail for the tC solid (Europe's missing.)