chiark / gitweb /
maglite-holder: compute scaling and centre translation factor from fig
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 1 Feb 2017 21:35:29 +0000 (21:35 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 1 Feb 2017 21:35:29 +0000 (21:35 +0000)
maglite-holder-torch.fig
maglite-holder.scad

index 904cea3..9c25deb 100644 (file)
@@ -16,4 +16,4 @@ Single
 2 2 0 1 2 1 75 -1 -1 0.000 0 0 -1 0 0 5
         -859 13 857 13 857 -795 -859 -795 -859 13
 2 3 0 1 1 1 50 -1 -1 0.000 0 0 -1 0 0 6
-        -1201 1100 -1204 2667 -116 1204 -74 -148 -846 17 -1201 1100
+        -1201 1100 -1204 2667 -231 1187 -225 -159 -846 17 -1201 1100
index e6bfe32..459b1df 100644 (file)
@@ -28,13 +28,15 @@ slop = 2; // 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;
+//$fa=5;
 
 // calculated
 
 torch_dxf_scale =
-  [ torch_big_dia / (-torch_min_xcoord_fig_cm * 10 * 2),
+  [ (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);
@@ -57,8 +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);
     }