chiark / gitweb /
ksafe-base: introduce BaseProfile
[reprap-play.git] / maglite-holder.scad
index 459b1df45adc21ced05c43d05f08d160aff3ad92..9aed425a551bf5688ae807ccd50e51cda351a17b 100644 (file)
@@ -24,16 +24,22 @@ brace = [ 40, 20, 20 ];
 hole_dia = 4 + 0.5;
 hole_slot = 5;
 
-slop = 2; // total, not each side
+movement_extra_angle = 5;
+
+slop = 4; // total, not each side
 
 torch_min_xcoord_fig_cm = -2.7; // coordinates of bottom left of curve
 torch_min_ycoord_fig_cm = -5.9; // & big part in fig file.  mid top is origin
 torch_smm_xcoord_fig_cm = -1.9; // x coord of lhs of narrow part
 
-//$fa=5;
+miniature = 1; // can adjust this to get commitid size right and rescale *Print
+
+$fa=5;
 
 // calculated
 
+include <commitid.scad>
+
 torch_dxf_scale =
   [ (torch_big_dia - torch_lit_dia) /
     (-(torch_min_xcoord_fig_cm - torch_smm_xcoord_fig_cm) * 10 * 2),
@@ -92,17 +98,22 @@ module ScrewHole(y, rot) {
 }    
 
 module TorchMovement(){
-  // xxx needs torch increasing for slop
   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();
+    for (as=[-1,+1]) {
+      rotate([0,0, as*movement_extra_angle])
+       rotate([90,0,0])
+       linear_extrude(height= block_out)
+       projection() rotate([-90,0,0]) Torch();
+    }
   }
 }
 
-module Bracket(){
+module Bracket(){ ////toplevel
+  cid_w = stem_width * .75;
+  hole_near = hole_slot + hole_dia;
+
   difference(){
     mirror([0,1,0]) {
       translate([-stem_width/2, 0, -stem_len])
@@ -116,6 +127,11 @@ module Bracket(){
     }
     ScrewHole(holes[0], 90);
     ScrewHole(holes[1], 0);
+    translate([-cid_w/2, 0, above - holes[0] - hole_near])
+      rotate([-90,0,0])
+      scale([miniature, miniature, 1])
+      Commitid_BestCount([cid_w, holes[1]-holes[0] - hole_near*2]
+                        / miniature);
   }
   difference(){
     mirror([0,1,0])
@@ -125,7 +141,24 @@ module Bracket(){
   }
 }
 
-module Demo(){
+module BracketPrint(){ ////toplevel
+  scale(1/miniature)
+    rotate([-90,0,0])
+    Bracket();
+}
+
+module TestTorchPrint(){ ////toplevel
+  scale(1/miniature)
+  intersection(){
+    translate([0,0, torch_lit_dia / 2 / sqrt(2)])
+      rotate([-90,0,0])
+      Torch();
+    translate([-100, -torch_tot_len*2, 0])
+      cube([200, torch_tot_len*4, 200]);
+  }
+}
+
+module Demo(){ ////toplevel
   color("red")
     translate([0, -torch_out, 0])
     TorchOrig();
@@ -135,5 +168,6 @@ module Demo(){
   Bracket();
 }
 
-Demo();
-
+//Demo();
+//BracketPrint();
+//TestTorchPrint();