From 21d0d644fe20d2cd9fcf9b8d71323098ad68fd30 Mon Sep 17 00:00:00 2001 From: "Jan \"Yenya\" Kasprzak" Date: Thu, 18 Oct 2018 06:53:29 +0200 Subject: [PATCH] led torch - printed version --- led-torch.scad | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/led-torch.scad b/led-torch.scad index 7f2f749..5a49740 100644 --- a/led-torch.scad +++ b/led-torch.scad @@ -8,6 +8,11 @@ int_d = 19/cos(30); barrier_h = 8; body_l = 70 + barrier_h; +clip_l = 2; +clip_w = 0.8; +clip_dist = 3; + +// main cylinder difference() { cylinder(r = int_d/2 + wall/cos(30), $fn = 6, h = body_l); translate([0, 0, wall]) @@ -27,10 +32,6 @@ intersection() { } // rear end clip -clip_l = 2; -clip_w = 0.8; -clip_dist = 3; - for (angle = [0:60:360]) rotate([0, 0, angle]) translate([-clip_l/2, int_d*cos(30)/2+wall, body_l - clip_dist]) { scale([1, 1, 3]) @@ -40,20 +41,38 @@ translate([-clip_l/2, int_d*cos(30)/2+wall, body_l - clip_dist]) { // lid +switch_w = 14; +switch_h = 9; + lid_d = int_d + 2*wall/cos(30) + 2*clip_w/cos(30); -lid_h = clip_dist + 3*wall+3*clip_w; +lid_h = clip_dist + 3*wall+3*clip_w + switch_h; +support_w = 4; +support_off = 3; translate([0, int_d + 5, 0]) difference() { cylinder(r = lid_d/2 + wall/cos(30), $fn = 6, h = lid_h); + translate([-switch_w/2, 0, wall+eps]) + cube([switch_w, infty, switch_h]); difference() { - translate([0, 0, wall]) - cylinder(r = lid_d/2, $fn = 6, h = lid_h); - for (angle = [0:180:360]) rotate([0, 0, angle]) - translate([-clip_l/2, lid_d*cos(30)/2, clip_dist + 2*wall]) { + union() { + translate([0, 0, wall+switch_h]) + cylinder(r = lid_d/2, $fn = 6, h = lid_h); + translate([0, 0, wall]) + cylinder(r = lid_d/2-2*wall/cos(30), $fn = 6, h = lid_h); + intersection() { // switch side w/o support + translate([0, 0, wall]) + cylinder(r = lid_d/2, $fn = 6, h = lid_h); + translate([-infty/2, 0, 0]) cube(infty); + } + } + for (angle = [60:180:360]) rotate([0, 0, angle]) + translate([-clip_l/2, lid_d*cos(30)/2, switch_h+clip_dist + 2*wall]) { scale([1, 1, 3]) rotate([0, 90, 0]) cylinder(r = clip_w, h = clip_l, $fn = 4); } + translate([-infty/2, -support_w-support_off, switch_h-eps]) + cube([infty, support_w, wall]); } } -- 2.43.0