outer_wall = 2;
-body_w = 60 - 2*outer_wall;
-body_h = 30 - outer_wall;
+body_w = 60 - 2*outer_wall - 0.5;
+body_h = 32 - outer_wall - 0.5;
body_depth = 25;
-strut_h = 12;
+strut_h = 9;
corner_l = 8;
motor_plate_h = 2.5; // base thickness of the motor mount
motor_plate_add = 2; // horizontal size added to the holes
-wall = 1; // base thickness of other parts
+wall = 1.5; // base thickness of other parts
side_overhang = 1.5;
for (x = [-1, 1]) for (y = [-1, 1]) scale([x, y, 1]) hull() {
translate([body_w/2-corner_l, body_h/2-wall/2, 0])
cylinder(r = wall/2, h = strut_h);
- translate([motor_screw_dist2/2, motor_screw_head/2 + motor_plate_add - wall/2, 0])
+ translate([motor_screw_dist2/2 + motor_screw_head/2 + motor_plate_add - wall/2, 0, 0])
cylinder(r = wall/2, h = motor_plate_h);
}
-hole_l = 12;
-hole_h = 1.5;
-hole_z = 0;
+for (x = [-1, 1]) for (y = [-1, 1]) scale([x, y, 1]) hull() {
+ translate([body_w/2-corner_l, body_h/2-wall/2, 0])
+ cylinder(r = wall/2, h = strut_h);
+ translate([motor_screw_head/2 + motor_plate_add - wall/2, motor_screw_dist1/2, 0])
+ cylinder(r = wall/2, h = motor_plate_h);
+}
// corners
for (x = [-1, 1]) scale([x, 1, 1]) {
- difference() {
- translate([body_w/2-wall, -body_h/2, 0])
- cube([wall, body_h, strut_h]);
- translate([body_w/2-wall-eps, -hole_l/2, hole_z + wall])
- cube([wall + 2*eps, hole_l, hole_h]);
- }
+ translate([body_w/2-wall, -body_h/2, 0])
+ cube([wall, body_h, strut_h]);
for (y = [-1, 1]) scale ([1, y, 1]) {
translate([body_w/2-corner_l, body_h/2 - wall, 0])
}
}
+// sides
+for (y = [-1, 1]) scale([1, y, 1])
+ translate([-body_w/2, body_h/2-wall, 0])
+ cube([body_w, wall, strut_h/2]);