]> www.fi.muni.cz Git - things.git/commitdiff
LED strip holders
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Tue, 12 Apr 2016 09:02:23 +0000 (11:02 +0200)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Tue, 12 Apr 2016 09:02:23 +0000 (11:02 +0200)
led-strip-holder1.scad [new file with mode: 0644]
led-strip-holder2.scad [new file with mode: 0644]
vesak.svg [new file with mode: 0644]

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);
+}
diff --git a/led-strip-holder2.scad b/led-strip-holder2.scad
new file mode 100644 (file)
index 0000000..a0e7e96
--- /dev/null
@@ -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 (file)
index 0000000..96220ca
--- /dev/null
+++ b/vesak.svg
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="210mm"
+   height="297mm"
+   viewBox="0 0 744.09448819 1052.3622047"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="vesak.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.8"
+     inkscape:cx="220.81103"
+     inkscape:cy="500.47034"
+     inkscape:document-units="cm"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:object-nodes="true"
+     inkscape:snap-smooth-nodes="true"
+     inkscape:window-width="1851"
+     inkscape:window-height="1170"
+     inkscape:window-x="49"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid4136"
+       units="mm"
+       spacingx="3.5433071"
+       spacingy="3.5433072"
+       empspacing="10" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <path
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 212.59842,474.80314 -7.6e-4,14.17376 c 0.24904,11.07191 -21.25908,17.71601 -21.25908,28.34593 l -6.9e-4,17.71657 10.63061,-7e-4 0,-14.17382 10.62916,7e-4 0,102.75571 c 0.24904,11.07191 -21.25908,17.7173 -21.25977,28.34765 l 0,17.7168 10.63061,-7e-4 0,-14.17383 10.62916,7e-4 7.6e-4,14.17313 c 14.17323,0 14.17323,-7.08662 14.17323,-24.80315 0,-53.14961 56.69291,-85.03937 56.69292,-120.47245 -10e-6,-21.25984 -56.69292,81.49607 -56.69292,-3.5433 0,-35.43308 0.30494,-45.64128 -14.17323,-46.063 z"
+       id="path4138"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccccccccccccsccc" />
+    <path
+       style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 207.76715,506.66478 Z"
+       id="path4140"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+  </g>
+</svg>