X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=maglite-holder.scad;h=529aedba5f826bdbbbd4f5d63d6904ccbed4beff;hb=9b8f86b2f188f9fa6aac24243bf86d88cd53cb92;hp=f661c1c2a233ee000e2a482fd500a2fb8288b7fd;hpb=a930b125371c77c4276be3226de945cb2665d9e8;p=reprap-play.git diff --git a/maglite-holder.scad b/maglite-holder.scad index f661c1c..529aedb 100644 --- a/maglite-holder.scad +++ b/maglite-holder.scad @@ -13,13 +13,18 @@ torch_clear_below = 10; stem_width = 20; stem_thick = 8; -torch_recess = 14; +torch_recess = 11; arm_width = 10; block_thick = 15; torch_out_more = 10; -brace = [ 40, 10, 20 ]; +brace = [ 40, 20, 20 ]; + +hole_dia = 4 + 0.5; +hole_slot = 5; + +slop = 2; // total, not each side $fa=5; @@ -39,7 +44,7 @@ block_width = arm_width*2 + torch_big_dia; block_out = torch_out + torch_big_dia/2/sqrt(2); -module Torch(){ +module TorchOrig(){ mirror([0,0,1]){ hull(){ rotate_extrude() @@ -52,6 +57,26 @@ module Torch(){ } } +module Torch(){ + scale(slop/torch_lit_dia + 1.0) + TorchOrig(); +} + +module ScrewHole(y, rot) { + translate([0,0, above -y]){ + rotate([0,rot,0]){ + hull(){ + for (d= [-1,+1] * hole_slot/2) { + translate([d,0,0]) + rotate([90,0,0]) + translate([0,0,-stem_thick*2]) + cylinder(r= hole_dia/2, h= stem_thick*4); + } + } + } + } +} + module TorchMovement(){ // xxx needs torch increasing for slop translate([0, -torch_out, 0]) { @@ -75,7 +100,8 @@ module Bracket(){ cube([brace[0], brace[1], 1]); } } - // xxx needs screw holes + ScrewHole(holes[0], 90); + ScrewHole(holes[1], 0); } difference(){ mirror([0,1,0]) @@ -86,8 +112,12 @@ module Bracket(){ } module Demo(){ - translate([0, -torch_out, 0]) - %Torch(); + color("black") + translate([0, -torch_out, 0]) + TorchOrig(); + color("blue") + translate([0, -torch_out, above]) + cylinder(r=torch_big_dia/2, h=1); Bracket(); }