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
+
+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),
+ 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 ];
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);
}
}
module TorchMovement(){
- // xxx needs torch increasing for slop
translate([0, -torch_out, 0]) {
translate([0, 0, -torch_recess])
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])
}
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])
}
}
-module Demo(){
- %TorchOrig();
- Bracket();
+module BracketPrint(){ ////toplevel
+ scale(1/miniature)
+ rotate([-90,0,0])
+ Bracket();
}
-Demo();
+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();
+ color("blue")
+ translate([0, -torch_out, above])
+ cylinder(r=torch_big_dia/2, h=1);
+ Bracket();
+}
+//Demo();
+//BracketPrint();
+//TestTorchPrint();