]> www.fi.muni.cz Git - things.git/blob - led-strip-end-round.scad
switch holder.scad
[things.git] / led-strip-end-round.scad
1 include <yenyalib.scad>
2
3 base_wall = 0.6;
4 // base_wall = 0.45*3;
5 inside_z = base_wall + 5;
6 inside_wall = 0.45*3;
7
8 /*
9 base_w = 18;
10 base_h1 = 7.5;
11 base_h2 = 14;
12
13 inside_yoff = 2.3;
14 inside_w = 12.4-0.2;
15 inside_h = 3.9-0.2;
16
17 inside_w1 = inside_w - 2;
18 inside_h1 = 2;
19 */
20
21 base_w = 23.5;
22 base_h1 = 10;
23 base_h2 = 11;
24
25 inside_yoff = 1.3;
26 inside_w = 20.9;
27 inside_h = 1.8;
28
29 inside_w1 = inside_w - 2;
30 inside_h1 = 2;
31
32 /*
33 cable_w = 7;
34 cable_h = 3 + inside_yoff;
35 */
36
37 module body() {
38         // base
39         union() {
40                 intersection() {
41                         let(r = (base_w^2)/(8*(base_h2-base_h1))
42                                 + (base_h2-base_h1)/2)
43                                 Ty(-r+base_h2)
44                                 cylinder(r = r, h = base_wall, $fn = 256);
45                         Tx(-base_w/2) cube([base_w, infty, base_wall]);
46                 }
47                 Tx(-base_w/2) cube([base_w, base_h1, base_wall]);
48         }
49
50         difference() {
51                 union() {
52                         // inside
53                         Tx(-inside_w/2) Ty(inside_yoff)
54                                 cube([inside_w, inside_h, inside_z]);
55
56                         // inside upper
57                         Tx(-inside_w1/2) Ty(inside_yoff+inside_h-eps)
58                                 cube([inside_w1, inside_h1+eps, inside_z]);
59                 }
60                 translate([-inside_w1/2+inside_wall,
61                         inside_yoff+inside_wall, -eps])
62                         cube([inside_w1-2*inside_wall,
63                                 inside_h + inside_h1, inside_z+2*eps]);
64         } 
65 }
66
67 difference() {
68         body();
69         // cable hole
70         if (cable_w != undef) {
71                 translate([-cable_w/2, -eps, -eps])
72                         cube([cable_w, cable_h+eps, inside_z+2*eps]);
73         }
74 }
75