Difference between revisions of "Polyhedron maps"
Brainsmoke (talk | contribs) |
Brainsmoke (talk | contribs) (→Example) |
||
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 |
Contents
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.
Source
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.)