]> www.fi.muni.cz Git - things.git/commitdiff
LED strip angled holder
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Wed, 15 Jun 2016 12:48:01 +0000 (14:48 +0200)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Wed, 15 Jun 2016 12:48:16 +0000 (14:48 +0200)
led-strip-holder.scad [new file with mode: 0644]

diff --git a/led-strip-holder.scad b/led-strip-holder.scad
new file mode 100644 (file)
index 0000000..6c7a99f
--- /dev/null
@@ -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);
+       }
+}