chiark / gitweb /
maglite-holder: screw holes
[reprap-play.git] / maglite-holder.scad
index b880291c5b9b609978ce81d3e15696e50e598935..cfdafaab4558fd7cfd7047c3091fa17706d009b0 100644 (file)
@@ -11,7 +11,7 @@ torch_clear = 30;
 torch_clear_below = 10;
 
 stem_width = 20;
-stem_thick = 4;
+stem_thick = 8;
 
 torch_recess = 14;
 arm_width = 10;
@@ -19,7 +19,12 @@ block_thick = 15;
 
 torch_out_more = 10;
 
-//$fa=5;
+brace = [ 40, 10, 20 ];
+
+hole_dia = 4 + 0.5;
+hole_slot = 5;
+
+$fa=5;
 
 // calculated
 
@@ -50,7 +55,23 @@ module Torch(){
   }
 }
 
+module ScrewHole(y, rot) {
+  translate([0,0, above -y]){
+    rotate([0,rot,0]){
+      hull(){
+       for (d= [-1,+1] * hole_slot/2) {
+         translate([d,0,0])
+           rotate([90,0,0])
+           translate([0,0,-stem_thick*2])
+           cylinder(r= hole_dia/2, h= stem_thick*4);
+       }
+      }
+    }
+  }
+}    
+
 module TorchMovement(){
+  // xxx needs torch increasing for slop
   translate([0, -torch_out, 0]) {
     translate([0, 0, -torch_recess])
       Torch();
@@ -62,9 +83,18 @@ module TorchMovement(){
 
 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]);
+      }
+    }
+    ScrewHole(holes[0], 90);
+    ScrewHole(holes[1], 0);
   }
   difference(){
     mirror([0,1,0])