|
@@ -20,9 +20,9 @@ lip_width = cage_lip_hole_dist + 10.0;
|
20
|
20
|
rail_height = 7.5;
|
21
|
21
|
rail_height_front = 13.0;
|
22
|
22
|
rail_radius = 7.0;
|
23
|
|
-rail_length = 117;
|
|
23
|
+rail_length = 120;
|
24
|
24
|
rail_width = lip_wall + 2;
|
25
|
|
-rail_dist = 27.5;
|
|
25
|
+rail_dist = 27.5 - 8;
|
26
|
26
|
rail_off_front = 7.8;
|
27
|
27
|
|
28
|
28
|
nub_small = 6.6;
|
|
@@ -34,11 +34,13 @@ stable_cut_height = 15.0;
|
34
|
34
|
stable_cut_depth = 20.0;
|
35
|
35
|
stable_cut_width = 7.5;
|
36
|
36
|
|
|
37
|
+add_after_rail = 6;
|
|
38
|
+
|
37
|
39
|
$fn = 20;
|
38
|
40
|
|
39
|
41
|
module cage_hold() {
|
40
|
42
|
translate([cage_hold_large / 2, cage_hold_large / 2, 0])
|
41
|
|
- union() {
|
|
43
|
+ hull() {
|
42
|
44
|
cylinder(d = cage_hold_large, h = cage_wall + 2);
|
43
|
45
|
|
44
|
46
|
translate([0, cage_hold_length - (cage_hold_large / 2) - (cage_hold_small / 2), 0])
|
|
@@ -142,26 +144,24 @@ module mount_lip() {
|
142
|
144
|
}
|
143
|
145
|
}
|
144
|
146
|
|
145
|
|
-add_after_rail = 15;
|
146
|
|
-
|
147
|
147
|
module rail_wall() {
|
148
|
148
|
difference() {
|
149
|
|
- cube([lip_wall, rail_length + add_after_rail, rail_dist + rail_height + (rail_dist / 2)]);
|
|
149
|
+ cube([lip_wall, rail_length + add_after_rail, rail_dist + rail_height + (rail_dist / 3)]);
|
150
|
150
|
|
151
|
151
|
// bubbles
|
152
|
152
|
translate([-1, 10, 10])
|
153
|
153
|
for (i = [0 : 15 : (rail_length + add_after_rail - 20)]) {
|
154
|
|
- translate([0, i, 0])
|
|
154
|
+ translate([0, i + 1, 0])
|
155
|
155
|
rotate([0, 90, 0])
|
156
|
156
|
cylinder(d = 7, h = lip_wall + 2);
|
157
|
157
|
|
158
|
|
- translate([0, i + 8, 10])
|
159
|
|
- rotate([0, 90, 0])
|
160
|
|
- cylinder(d = 7, h = lip_wall + 2);
|
|
158
|
+ //translate([0, i + 8, 10])
|
|
159
|
+ // rotate([0, 90, 0])
|
|
160
|
+ // cylinder(d = 7, h = lip_wall + 2);
|
161
|
161
|
|
162
|
|
- translate([0, i + 4, 32.5])
|
163
|
|
- rotate([0, 90, 0])
|
164
|
|
- cylinder(d = 7, h = lip_wall + 2);
|
|
162
|
+ //translate([0, i + 4, 32.5])
|
|
163
|
+ // rotate([0, 90, 0])
|
|
164
|
+ // cylinder(d = 7, h = lip_wall + 2);
|
165
|
165
|
}
|
166
|
166
|
}
|
167
|
167
|
}
|
|
@@ -219,8 +219,27 @@ module mount() {
|
219
|
219
|
stabilizer();
|
220
|
220
|
|
221
|
221
|
// bottom/top horizontal plate
|
222
|
|
- translate([-lip_wall, -lip_wall, cage_lip + rail_dist + rail_height + (rail_dist / 2)])
|
|
222
|
+ difference() {
|
|
223
|
+ translate([-lip_wall, -lip_wall, cage_lip + rail_dist + rail_height + (rail_dist / 3)])
|
223
|
224
|
cube([cage_width + (2 * lip_wall), rail_length + add_after_rail, lip_wall]);
|
|
225
|
+
|
|
226
|
+ translate([0, 0, cage_lip + rail_dist + rail_height + (rail_dist / 3)])
|
|
227
|
+ union() {
|
|
228
|
+ translate([cage_hold_off_left, cage_hold_off_bot, -1])
|
|
229
|
+ cage_hold();
|
|
230
|
+
|
|
231
|
+ translate([cage_hold_off_left + cage_hold_large + cage_hold_off_right, cage_hold_off_bot, -1])
|
|
232
|
+ cage_hold();
|
|
233
|
+
|
|
234
|
+ translate([cage_hold_off_left, cage_hold_off_bot + cage_hold_length + cage_hold_off_top, -1])
|
|
235
|
+ cage_hold();
|
|
236
|
+
|
|
237
|
+ translate([cage_hold_off_left + cage_hold_large + cage_hold_off_right, cage_hold_off_bot + cage_hold_length + cage_hold_off_top, -1])
|
|
238
|
+ cage_hold();
|
|
239
|
+ }
|
|
240
|
+ }
|
224
|
241
|
}
|
225
|
242
|
|
226
|
|
-mount();
|
|
243
|
+translate([60, 120, 1])
|
|
244
|
+rotate([90, 0, -90])
|
|
245
|
+ mount();
|