chiark / gitweb /
maglite-holder: torch slop done
[reprap-play.git] / maglite-holder.scad
index 529aedba5f826bdbbbd4f5d63d6904ccbed4beff..4262688caaf88ce9473ac62843b9c164c13b1da8 100644 (file)
@@ -26,10 +26,21 @@ hole_slot = 5;
 
 slop = 2; // total, not each side
 
-$fa=5;
+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;
 
 // calculated
 
+torch_dxf_scale =
+  [ (torch_big_dia - torch_lit_dia) /
+    (-(torch_min_xcoord_fig_cm - torch_smm_xcoord_fig_cm) * 10 * 2),
+    torch_big_len / (-torch_min_ycoord_fig_cm * 10) ];
+
+echo(torch_dxf_scale);
+
 above = torch_big_len + torch_clear + torch_clear_below;
 
 holes = [ 172, 265 ];
@@ -48,7 +59,10 @@ module TorchOrig(){
   mirror([0,0,1]){
     hull(){
       rotate_extrude()
+       translate([-torch_lit_dia/2, 0])
+       scale(torch_dxf_scale)
        translate(dxf_off)
+       translate([-torch_smm_xcoord_fig_cm * 10, 0])
        import(file="maglite-holder-torch-curve.dxf",
               convexity=10, center=true);
     }
@@ -78,7 +92,6 @@ module ScrewHole(y, rot) {
 }    
 
 module TorchMovement(){
-  // xxx needs torch increasing for slop
   translate([0, -torch_out, 0]) {
     translate([0, 0, -torch_recess])
       Torch();
@@ -112,7 +125,7 @@ module Bracket(){
 }
 
 module Demo(){
-  color("black")
+  color("red")
     translate([0, -torch_out, 0])
     TorchOrig();
   color("blue")