3 dxf_off = [ -40, -85 ];
11 torch_clear_below = 10;
22 brace = [ 40, 20, 20 ];
27 slop = 2; // total, not each side
33 above = torch_big_len + torch_clear + torch_clear_below;
37 stem_below = stem_width/2;
39 stem_len = holes[1] - above + stem_below;
41 torch_out = stem_thick + torch_big_dia/2 + torch_out_more;
43 block_width = arm_width*2 + torch_big_dia;
45 block_out = torch_out + torch_big_dia/2/sqrt(2);
52 import(file="maglite-holder-torch-curve.dxf",
53 convexity=10, center=true);
56 cylinder(r=torch_lit_dia/2, h= torch_tot_len - torch_big_len + 1);
61 scale(slop/torch_lit_dia + 1.0)
65 module ScrewHole(y, rot) {
66 translate([0,0, above -y]){
69 for (d= [-1,+1] * hole_slot/2) {
72 translate([0,0,-stem_thick*2])
73 cylinder(r= hole_dia/2, h= stem_thick*4);
80 module TorchMovement(){
81 // xxx needs torch increasing for slop
82 translate([0, -torch_out, 0]) {
83 translate([0, 0, -torch_recess])
86 linear_extrude(height= block_out)
87 projection() rotate([-90,0,0]) Torch();
94 translate([-stem_width/2, 0, -stem_len])
95 cube([stem_width, stem_thick, stem_len]);
96 translate([0,0, -block_thick]) hull(){
97 translate([-stem_width/2, 0, -brace[2]])
98 cube([stem_width, stem_thick, 1]);
99 translate([-brace[0]/2, 0, 0])
100 cube([brace[0], brace[1], 1]);
103 ScrewHole(holes[0], 90);
104 ScrewHole(holes[1], 0);
108 translate([-block_width/2, 0, -block_thick])
109 cube([block_width, block_out, block_thick]);