diff options
author | Jan Huwald <jh@sotun.de> | 2014-02-03 13:55:57 (GMT) |
---|---|---|
committer | Jan Huwald <jh@sotun.de> | 2014-02-03 13:55:57 (GMT) |
commit | a9834e2f38776914764fd397fcd3875f0def6e15 (patch) | |
tree | b48c0bd4574bcd6c88d8cd6bfa12d19fd83de8c0 /lampenhalter.scad | |
parent | ce984be643b3f74c92c5314ce4df0d774dfc4176 (diff) |
simplify code: build half, then mirror it
Diffstat (limited to 'lampenhalter.scad')
-rw-r--r-- | lampenhalter.scad | 45 |
1 files changed, 24 insertions, 21 deletions
diff --git a/lampenhalter.scad b/lampenhalter.scad index b70a3fd..1d5777f 100644 --- a/lampenhalter.scad +++ b/lampenhalter.scad @@ -33,26 +33,29 @@ module side() { polygon([[0,0], [0,h], [w2,h], [w2,h-d+s], [d,h-d], [d,0]]); } -difference() { - union() { - // base plate - cube([w, t, d]); - - // back - cube([w, d, h]); - - // sides and top - side(); - translate([w, 0, 0]) mirror() side(); - } - union() { - // retainer hole - translate([(w-aw)/2, t-at-ad, 0]) cube([aw, at, 2*d]); - - // round vertical corners - translate([0, 0, 0]) rotate(a=180) round_corner(r=cr, h=h); - translate([w, 0, 0]) rotate(a=270) round_corner(r=cr, h=h); - translate([w, t, 0]) rotate(a=0 ) round_corner(r=cr, h=h); - translate([0, t, 0]) rotate(a=90 ) round_corner(r=cr, h=h); +module half() { + translate([-w/2, 0, 0]) + difference() { + union() { + // base plate + cube([w/2, t, d]); + + // back + cube([w/2, d, h]); + + // sides and top + side(); + } + union() { + // retainer hole + translate([(w-aw)/2, t-at-ad, 0]) cube([aw/2, at, 2*d]); + + // round vertical corners + translate([0, 0, 0]) rotate(a=180) round_corner(r=cr, h=h); + translate([0, t, 0]) rotate(a=90 ) round_corner(r=cr, h=h); + } } } + +half(); +mirror() half(); |