]> www.fi.muni.cz Git - things.git/blob - ita-firewall.scad
switch holder.scad
[things.git] / ita-firewall.scad
1 eps = 0.01;
2 infty = 100;
3
4 body_w = 34;
5 body_h = 30;
6 foam_w = 3;
7
8 screw_d1 = 19;
9 screw_d2 = 16;
10 screw_hole = 3.5;
11 base_wall = 1.5;
12
13 center_hole_d = 9;
14
15 insert_h = 10;
16
17 motor_angle_right = 4;
18
19 wall = 1;
20
21 difference() {
22         translate([-body_w/2, -body_h/2, 0])
23                 cube([body_w, body_h, base_wall]);
24         // center hole
25         translate([0, 0, -eps])
26                 cylinder(r = center_hole_d/2, h = base_wall + 2*eps);
27         // screw_d2 screw holes
28         for (y = [-1, 1]) scale([1, y, 1])
29                 translate([0, screw_d2/2, -eps]) {
30                         cylinder(r = screw_hole/2, h = base_wall + 2*eps, $fn=6);
31                         translate([0, 0, base_wall/2])
32                                 cylinder(r1 = screw_hole/2,
33                                         r2 = screw_hole/2 + base_wall/2,
34                                         h = base_wall/2 + 2*eps, $fn = 6);
35                 }
36         // screw_d1 screw holes
37         for (x = [-1, 1]) scale([x, 1, 1])
38                 translate([screw_d1/2, 0, -eps]) {
39                         cylinder(r = screw_hole/2, h = base_wall + 2*eps, $fn=6);
40                         translate([0, 0, base_wall/2])
41                                 cylinder(r1 = screw_hole/2,
42                                         r2 = screw_hole/2 + base_wall/2,
43                                         h = base_wall/2 + 2*eps, $fn = 6);
44                 }
45         // cable hole
46         translate([-body_w/2+foam_w+wall, -body_h/2+foam_w+wall, -eps])
47                 cube([8, 6, base_wall + 2*eps]);
48 }
49
50 side_ext = 0.7;
51
52 difference() {
53         hull() {
54                 translate([-body_w/2+foam_w, -body_h/2+foam_w, base_wall-eps])
55                         cube([body_w-2*foam_w, body_h-2*foam_w, eps]);
56                 translate([-body_w/2+foam_w-side_ext*insert_h/2, -body_h/2+foam_w-side_ext*insert_h/2, insert_h + base_wall - eps])
57                         cube([body_w-2*foam_w+side_ext*insert_h, body_h-2*foam_w+side_ext*insert_h, eps]);
58         }
59         hull() {
60                 translate([-body_w/2+foam_w+wall, -body_h/2+foam_w+wall, base_wall-2*eps])
61                         cube([body_w-2*foam_w-2*wall, body_h-2*foam_w-2*wall, eps]);
62                 translate([-body_w/2+foam_w+wall-side_ext*insert_h/2, -body_h/2+foam_w+wall-side_ext*insert_h/2, insert_h + base_wall])
63                         cube([body_w-2*foam_w+side_ext*insert_h-2*wall, body_h-2*foam_w+side_ext*insert_h-2*wall, eps]);
64         }
65 };
66
67 /*
68 %difference() {
69         rotate([0, motor_angle_right, 0]) difference() {
70                 translate([-body_w/2+foam_w, -body_h/2+foam_w, -infty/2])
71                         cube([body_w-2*foam_w, body_h-foam_w,
72                                 insert_h+base_wall+infty/2]);
73                 translate([-body_w/2+foam_w+wall, -body_h/2+foam_w+wall, -infty/2])
74                         cube([body_w-2*foam_w-2*wall, body_h-foam_w-2*wall,
75                                 insert_h+base_wall+infty/2+2*eps]);
76         }
77         translate([-infty/2, -infty/2, -infty+eps]) cube(infty);
78 }
79 */