]> www.fi.muni.cz Git - things.git/blobdiff - led-strip-holder1.scad
LED strip holders
[things.git] / led-strip-holder1.scad
diff --git a/led-strip-holder1.scad b/led-strip-holder1.scad
new file mode 100644 (file)
index 0000000..d31fb39
--- /dev/null
@@ -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);
+}