From: Jan "Yenya" Kasprzak Date: Wed, 15 Jun 2016 12:48:01 +0000 (+0200) Subject: LED strip angled holder X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=commitdiff_plain;h=514b46c5922461648a980b2f5be82b6a05ada8a2;p=things.git LED strip angled holder --- diff --git a/led-strip-holder.scad b/led-strip-holder.scad new file mode 100644 index 0000000..6c7a99f --- /dev/null +++ b/led-strip-holder.scad @@ -0,0 +1,60 @@ +eps = 0.01; +infty = 50; + +bar_w = 15; +bar_h = 2; + +cable_w = 7; +cable_h = 4; + +screw_d = 4; +screw_head = 8; + +strip_angle =30; + +wall = 1.5; + +holder_w = 15; + +difference() { + hull($fn =32) { + translate([wall + bar_h/2, wall + bar_h/2 + (bar_w-bar_h)*sin(strip_angle) +screw_head/2, 0]) { + cylinder(r = bar_h/2 + wall, h = holder_w); + rotate([0, 0, -strip_angle]) translate([bar_w-bar_h, 0, 0]) + cylinder(r = bar_h/2 + wall, h = holder_w); + } + translate([0, -wall -screw_head/2, 0]) { + cube([wall, screw_head + 2*wall, holder_w]); + } + } + // bar itself + hull($fn =32) { + translate([wall + bar_h/2, wall + bar_h/2 + (bar_w-bar_h)*sin(strip_angle) +screw_head/2, -eps]) { + cylinder(r = bar_h/2, h = holder_w+2*eps); + rotate([0, 0, -strip_angle]) translate([bar_w-bar_h, 0, 0]) + cylinder(r = bar_h/2, h = holder_w+2*eps); + } + } + // above the bar + translate([0, wall + bar_h/2 + (bar_w-bar_h)*sin(strip_angle) + screw_head/2, 0]) + rotate([0, 0, -strip_angle]) translate([wall + bar_h/2, bar_h/2 -eps, -eps]) + cube([bar_w - bar_h, infty, holder_w + 2*eps]); + + // screw hole + translate([-eps, 0, holder_w/2]) rotate([0, 90, 0]) { + rotate([0, 0, 90]) { + cylinder(r = screw_d/2, h = infty, $fn = 6); + translate([0, 0, wall]) + cylinder(r = screw_head/2, h = infty, $fn = 6); + } + } + // cable hole + translate([0, screw_head/2+cable_h/2+wall+(bar_w-bar_h)*sin(strip_angle)+eps, 0]) + rotate([0, 0, -strip_angle]) + translate([wall + bar_w/2 - cable_w/2 + cable_h/2, -cable_h/2, -eps]) + hull() { + cylinder(r = cable_h/2, h = holder_w + 2*eps); + translate([cable_w - cable_h, 0, 0]) + cylinder(r = cable_h/2, h = holder_w + 2*eps); + } +}