diff options
author | Elena of Valhalla'' Grandi <valhalla@trueelena.org> | 2014-03-04 20:58:14 +0100 |
---|---|---|
committer | Elena of Valhalla'' Grandi <valhalla@trueelena.org> | 2014-03-04 20:58:14 +0100 |
commit | 5a38c3a05ecc31b9ffabe9483002e7c4fa14cb08 (patch) | |
tree | 2d5bd603b8f37fec711010c08beb43bd2ecf140c /src/piecepack.scad | |
parent | 45f4085d956db08ec3d1b82df469cdf613a9dcae (diff) |
Pyramids
Diffstat (limited to 'src/piecepack.scad')
-rw-r--r-- | src/piecepack.scad | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/piecepack.scad b/src/piecepack.scad index ef8806b..b35c6ad 100644 --- a/src/piecepack.scad +++ b/src/piecepack.scad @@ -93,3 +93,26 @@ module saucer(suite) { } } +module plain_pyramid(w,h,z) { + polyhedron(points=[[-w/2,-w/2,z], [w/2,-w/2,z], + [w/2,w/2,z], [-w/2,w/2,z], [z,z,h]], + triangles=[[0,1,2], [0,2,3], + [0,4,1], [1,4,2], [2,4,3], [3,4,0]]); +} + +module pyramid(w,h,suite,value) { + difference() { + plain_pyramid(w,h,0); + plain_pyramid(w-4,h-4,-0.01); + if ( suite != "null") { + translate([0,-w/2+1,0]) rotate([atan(h/(w/2)),0,0]) linear_extrude(height=2) + scale(0.9*w/50) translate([-25,0,0]) import(str("../graphics/",suite,".dxf")); + } + if ( value != "null") { + translate([0,w/2-1,0]) + rotate([-atan(h/(w/2)),0,0]) rotate([0,0,180]) linear_extrude(height=2) + scale(0.9*w/50) translate([-25,0,0]) import(str("../graphics/",value,".dxf")); + } + } +} + |