|
@@ -1,3 +1,12 @@
|
|
1
|
+/*
|
|
2
|
+ * Created by:
|
|
3
|
+ * Thomas Buck <xythobuz@xythobuz.de> in June 2016
|
|
4
|
+ *
|
|
5
|
+ * Licensed under the Creative Commons - Attribution license.
|
|
6
|
+ */
|
|
7
|
+
|
|
8
|
+// -----------------------------------------------------------
|
|
9
|
+
|
1
|
10
|
width = 67;
|
2
|
11
|
height = 67.5;
|
3
|
12
|
hole_nub = 5;
|
|
@@ -10,12 +19,28 @@ wall_size = 1.4;
|
10
|
19
|
depth_top = 3.6;
|
11
|
20
|
depth_pcb = 1.6;
|
12
|
21
|
depth_bottom = 4.1;
|
13
|
|
-depth_gap = 0.4;
|
|
22
|
+depth_gap = 1.8;
|
14
|
23
|
depth = depth_top + depth_pcb + depth_bottom + depth_gap;
|
15
|
24
|
screw_nub_depth = depth_bottom + depth_gap;
|
16
|
25
|
|
|
26
|
+switch_width = 11.8;
|
|
27
|
+switch_height = 5.8;
|
|
28
|
+switch_hole = 2.2;
|
|
29
|
+switch_hole_dist = 15;
|
|
30
|
+switch_x = 2.5;
|
|
31
|
+switch_y = 0;
|
|
32
|
+
|
|
33
|
+cutout_width = 12;
|
|
34
|
+cutout_height = 2;
|
|
35
|
+cutout_x = 25.6;
|
|
36
|
+
|
|
37
|
+helper_disc = 5;
|
|
38
|
+helper_disc_height = 0.4;
|
|
39
|
+
|
17
|
40
|
$fn = 20;
|
18
|
41
|
|
|
42
|
+// -----------------------------------------------------------
|
|
43
|
+
|
19
|
44
|
module nub() {
|
20
|
45
|
difference() {
|
21
|
46
|
cylinder(d = hole_nub, h = screw_nub_depth);
|
|
@@ -37,6 +62,19 @@ module nubs() {
|
37
|
62
|
nub();
|
38
|
63
|
}
|
39
|
64
|
|
|
65
|
+module switch() {
|
|
66
|
+ translate([0, 0, switch_height / 2])
|
|
67
|
+ rotate([0, 90, 0])
|
|
68
|
+ cylinder(d = switch_hole, h = wall_size + 2);
|
|
69
|
+ translate([0, (switch_hole_dist - switch_width) / 2, 0])
|
|
70
|
+ cube([wall_size + 2, switch_width, switch_height]);
|
|
71
|
+ translate([0, switch_hole_dist, switch_height / 2])
|
|
72
|
+ rotate([0, 90, 0])
|
|
73
|
+ cylinder(d = switch_hole, h = wall_size + 2);
|
|
74
|
+}
|
|
75
|
+
|
|
76
|
+// -----------------------------------------------------------
|
|
77
|
+
|
40
|
78
|
// base
|
41
|
79
|
cube([width + (2 * wall_size), height + (2 * wall_size), wall_size]);
|
42
|
80
|
|
|
@@ -47,6 +85,9 @@ difference() {
|
47
|
85
|
|
48
|
86
|
translate([-1, wall_size + height - hole_offset_top - hole_height + hole_nub, wall_size])
|
49
|
87
|
cube([wall_size + 2, hole_nub, hole]);
|
|
88
|
+
|
|
89
|
+ translate([-1, (switch_hole / 2) + wall_size + switch_x, wall_size + switch_y])
|
|
90
|
+ switch();
|
50
|
91
|
}
|
51
|
92
|
|
52
|
93
|
// bottom wall
|
|
@@ -58,8 +99,20 @@ translate([width + wall_size, 0, wall_size])
|
58
|
99
|
cube([wall_size, height + (2 * wall_size), depth]);
|
59
|
100
|
|
60
|
101
|
// top wall
|
61
|
|
-translate([0, height + wall_size, wall_size])
|
62
|
|
- cube([width + (2 * wall_size), wall_size, depth]);
|
|
102
|
+difference() {
|
|
103
|
+ translate([0, height + wall_size, wall_size])
|
|
104
|
+ cube([width + (2 * wall_size), wall_size, depth]);
|
|
105
|
+ translate([wall_size + cutout_x, height + wall_size - 1, wall_size + depth - cutout_height])
|
|
106
|
+ cube([cutout_width, wall_size + 2, cutout_height + 1]);
|
|
107
|
+}
|
63
|
108
|
|
64
|
109
|
translate([wall_size + (width - hole_width) / 2, wall_size + height - hole_height - hole_offset_top, wall_size])
|
65
|
110
|
nubs();
|
|
111
|
+
|
|
112
|
+cylinder(d = helper_disc, h = helper_disc_height);
|
|
113
|
+translate([width + (2 * wall_size), height + (2 * wall_size), 0])
|
|
114
|
+ cylinder(d = helper_disc, h = helper_disc_height);
|
|
115
|
+translate([0, height + (2 * wall_size), 0])
|
|
116
|
+ cylinder(d = helper_disc, h = helper_disc_height);
|
|
117
|
+translate([width + (2 * wall_size), 0, 0])
|
|
118
|
+ cylinder(d = helper_disc, h = helper_disc_height);
|