]> www.fi.muni.cz Git - things.git/blob - solarograph-stand.scad
switch holder.scad
[things.git] / solarograph-stand.scad
1 $fn = 128;
2 eps = 0.01;
3 infty = 200;
4
5 can_d = 65 + 1.5;
6 cone_h = 3;
7 angle = 15; // from the vertical axis
8
9 side_h = 25;
10
11 wall = 1.5;
12 side_w = 12;
13
14 center_slot = 20;
15
16 difference() {
17         translate([0, 0, (can_d/2+wall)*sin(angle)])
18         rotate([0, angle, 0])
19                 cylinder(r = can_d/2 + wall, h = side_h + wall);
20         translate([0, 0, (can_d/2+wall)*sin(angle)])
21         rotate([0, angle, 0])
22         translate([0, 0, wall/cos(angle)]) {
23                 cylinder(r1 = can_d/2-cone_h, r2 = can_d/2, h = cone_h + eps);
24                 translate([0, 0, cone_h])
25                         cylinder(r = can_d/2, h = side_h + eps);
26                 translate([-can_d/2-wall-eps, 0, side_h])
27                 rotate([0, 90, 0])
28                 scale([side_h/center_slot, 1, 1])
29                         cylinder(r = center_slot, h = can_d + 2*wall + 2*eps);
30         } 
31         translate([-infty/2, -infty/2, -infty]) cube(infty);
32 }
33
34 hull() {
35         translate([0, 0, (can_d/2+wall)*sin(angle)])
36         rotate([0, angle, 0])
37                 cylinder(r = can_d/2 + wall, h = eps);
38         scale([cos(angle), 1, 1])
39                 cylinder(r = can_d/2 + wall, h = wall);
40 }
41
42 translate([-(can_d/2+wall)*cos(angle), -side_w-wall-can_d/2, 0])
43         cube([(can_d+2*wall)*cos(angle)+wall*tan(angle), 2*side_w+2*wall+can_d, wall]);