cable_slot_w = 5;
cable_slot_h = 3;
-foam_horiz = 6 + 0.3;
-foam_vert = 6 + 0.3;
-support_h = 30;
+foam_horiz = 6 + 0.6;
+foam_vert = 6 + 0.6;
+support_h = 50;
top_d = foam_horiz + 8;
+side_w = 40;
module body() {
// base
cylinder(r = base_d/2, h = base_wall);
intersection() {
- cylinder(r1 = base_d/2, r2 = top_d/2,
+ cylinder(r1 = side_w/2, r2 = top_d/2,
h = support_h + base_wall);
union() {
- translate([-base_d/2, -foam_horiz/2-wall, base_wall - eps])
- cube([base_d, foam_horiz + 2*wall, support_h]);
- translate([-foam_vert/2-wall, -base_d/2, base_wall - eps])
- cube([foam_vert + 2*wall, base_d, support_h]);
+ translate([-side_w/2, -foam_horiz/2-wall, 0])
+ cube([side_w, foam_horiz + 2*wall, support_h]);
+ translate([-foam_vert/2-wall, -side_w/2, 0])
+ cube([foam_vert + 2*wall, side_w, support_h]);
}
}
}
cylinder(r1 = screw_hole/2,
r2 = screw_hole/2 + base_wall/2,
h = base_wall/2+eps, $fn = 6);
+ translate([0, 0, base_wall-eps])
+ cylinder(r = screw_hole/2 + base_wall/2, h = 2*base_wall + eps, $fn = 6);
}
difference() {
body();
// screw holes
+ rotate([0, 0, 45]) {
for (x = [-1, 1]) translate([x*screw_d1/2, 0, 0])
screw_hole();
for (y = [-1, 1]) translate([0, y*screw_d2/2, 0])
screw_hole();
+ }
// tube hole
translate([0, 0, -eps])
cylinder(r = center_d/2, h = base_wall + 2*eps);
// cable slot
+ /*
rotate([0, 0, 45])
translate([-cable_slot_w/2, base_d/2-cable_slot_h, -eps])
cube([cable_slot_w, 2*cable_slot_h, infty]);
+ */
// horizontal foam
- translate([-base_d/2-eps, -foam_horiz/2, base_wall])
- cube([base_d + 2*eps, foam_horiz, support_h + eps]);
+ translate([-side_w/2-eps, -foam_horiz/2, base_wall])
+ cube([side_w + 2*eps, foam_horiz, support_h + eps]);
// vertical foam
- translate([-foam_vert/2, -base_d/2-eps, base_wall])
- cube([foam_vert, base_d + 2*eps, support_h + eps]);
+ translate([-foam_vert/2, -side_w/2-eps, base_wall])
+ cube([foam_vert, side_w + 2*eps, support_h + eps]);
}