Polyhedron maps: Difference between revisions
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.
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.)