chiark / gitweb /
maglite-holder: quite nice now
[reprap-play.git] / maglite-holder.scad
index bf78cd1296f70606bc501ffeae809581b5fa92a2..9804fb020085a469a2daf23f3f2030b15b867de7 100644 (file)
@@ -11,13 +11,17 @@ torch_clear = 30;
 torch_clear_below = 10;
 
 stem_width = 20;
-stem_thick = 4;
+stem_thick = 8;
 
-torch_recess = 15;
+torch_recess = 14;
 arm_width = 10;
-block_thick = 30;
+block_thick = 15;
 
-//$fa=5;
+torch_out_more = 10;
+
+brace = [ 40, 10, 20 ];
+
+$fa=5;
 
 // calculated
 
@@ -29,11 +33,11 @@ stem_below = stem_width/2;
 
 stem_len = holes[1] - above + stem_below;
 
-torch_out = stem_thick + torch_big_dia/2;
+torch_out = stem_thick + torch_big_dia/2 + torch_out_more;
 
 block_width = arm_width*2 + torch_big_dia;
 
-block_out = torch_out + torch_big_dia/sqrt(2);
+block_out = torch_out + torch_big_dia/2/sqrt(2);
 
 module Torch(){
   mirror([0,0,1]){
@@ -48,20 +52,35 @@ module Torch(){
   }
 }
 
+module TorchMovement(){
+  translate([0, -torch_out, 0]) {
+    translate([0, 0, -torch_recess])
+      Torch();
+    rotate([90,0,0])
+      linear_extrude(height= block_out)
+      projection() rotate([-90,0,0]) Torch();
+  }
+}
+
 module Bracket(){
   difference(){
-    mirror([0,1,0])
+    mirror([0,1,0]) {
       translate([-stem_width/2, 0, -stem_len])
-      cube([stem_width, stem_thick, stem_len]);
+       cube([stem_width, stem_thick, stem_len]);
+      translate([0,0, -block_thick]) hull(){
+       translate([-stem_width/2, 0, -brace[2]])
+         cube([stem_width, stem_thick, 1]);
+       translate([-brace[0]/2, 0, 0])
+         cube([brace[0], brace[1], 1]);
+      }
+    }
   }
   difference(){
     mirror([0,1,0])
       translate([-block_width/2, 0, -block_thick])
       cube([block_width, block_out, block_thick]);
+    TorchMovement();
   }
-  for (out=[ torch_out, torch_out + block_out*2 ])
-    translate([ 0, -out, -torch_recess ])
-      Torch();
 }
 
 module Demo(){
@@ -71,3 +90,4 @@ module Demo(){
 }
 
 Demo();
+