From 8839e3aa9bf45fe2891610833fad00fad158c3d8 Mon Sep 17 00:00:00 2001 From: "Jan \"Yenya\" Kasprzak" Date: Tue, 12 Apr 2016 11:02:23 +0200 Subject: [PATCH] LED strip holders --- led-strip-holder1.scad | 60 ++++++++++++++++++++++++++++++++ led-strip-holder2.scad | 42 +++++++++++++++++++++++ vesak.svg | 78 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 180 insertions(+) create mode 100644 led-strip-holder1.scad create mode 100644 led-strip-holder2.scad create mode 100644 vesak.svg diff --git a/led-strip-holder1.scad b/led-strip-holder1.scad new file mode 100644 index 0000000..d31fb39 --- /dev/null +++ b/led-strip-holder1.scad @@ -0,0 +1,60 @@ +infty = 1000; +eps = 0.01; + +wall = 2; +screw_hole = 3.5; +screw_l = 3; +screw_off = 10; + +cable_w = 7; +cable_h = 3; +cable_off = 24; + +led_w = 10; +led_h = 2.5; +led_d = (pow(led_w/2, 2) - pow(led_h, 2)) + / (2 * led_h); + +holder_w = 8.5; + +vert_l = 20; + +module body() { + cube([wall, vert_l + wall, holder_w]); +// translate([-10, -wall, 0]) +// cube([10+wall, wall+eps, holder_w]); + hull() { + for (x = [0, cable_w - 2*cable_h]) + translate([0, cable_off+x, 0]) + cylinder(r = cable_h + wall, h = holder_w, $fn = 64); + } + translate([-led_w/2, led_d, 0]) + cylinder(r = led_d + led_h + wall, h = holder_w); +} + +difference() { + body(); + translate([-50, 0, -50/2]) cube(50); + // screw hole + hull() { + for (x = [0, screw_l]) + translate([-eps, screw_off + x, holder_w/2]) + rotate([0, 90, 0]) + rotate([0, 0, 90]) + cylinder(r = screw_hole/2, h = wall + 2*eps, $fn = 6); + } + // cable hole + hull() { + for (x = [0, cable_w - 2*cable_h]) + translate([0, cable_off+x, -eps]) + cylinder(r = cable_h, h = holder_w + 2*eps, $fn = 64); + } + // led strip + intersection() { + translate([-led_w/2, led_d, -eps]) + cylinder(r = led_d + led_h, h = holder_w + 2*eps); + translate([-50, -50/2, -50/2]) cube(50); + } + // strip off the vertical part of led strip cylinder + translate([wall, -50+screw_off, -50/2]) cube(50); +} diff --git a/led-strip-holder2.scad b/led-strip-holder2.scad new file mode 100644 index 0000000..a0e7e96 --- /dev/null +++ b/led-strip-holder2.scad @@ -0,0 +1,42 @@ +infty = 1000; +eps = 0.01; + +wall = 2; +screw_hole = 3.5; +screw_l = 1; +screw_head = 9; +holder_w = 8.5; +strip_w = 13; +strip_h = 0.5; +holder_l = strip_w + wall; + +module body_solid() { + cube([wall + strip_h, holder_l, holder_w]); + translate([wall-eps, 0, 0]) + cube([screw_head + screw_l + eps, wall, holder_w]); +// translate([holder_w/2, holder_w/2, wall-eps]) +// cylinder(r = screw_head/2, h = wall+eps, $fn = 128); +} + +module body() { + difference() { + body_solid(); + // LED strip + translate([-eps, -eps, -eps]) + cube([strip_h + eps, strip_w, holder_w + 2*eps]); + // screw hole + hull() for (x = [0, screw_l]) + translate([wall + screw_head/2 + x, -eps, holder_w/2]) + rotate([-90, 0, 0]) + cylinder(r = screw_hole/2, h = wall + 2*eps); +/* + hull() for (x = [0,1]) + translate([holder_w/2, wall + screw_hole/2 + screw_l*x, -eps]) + cylinder(r = screw_hole/2, h = wall + strip_h + 2*eps); + translate([-eps, holder_l - wall - strip_w, -eps]) + cube([holder_w + 2*eps, strip_w, strip_h+eps]); +*/ + } +} + +body(); diff --git a/vesak.svg b/vesak.svg new file mode 100644 index 0000000..96220ca --- /dev/null +++ b/vesak.svg @@ -0,0 +1,78 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + -- 2.43.0