17 motor_angle_right = 4;
22 translate([-body_w/2, -body_h/2, 0])
23 cube([body_w, body_h, base_wall]);
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);
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);
46 translate([-body_w/2+foam_w+wall, -body_h/2+foam_w+wall, -eps])
47 cube([8, 6, base_wall + 2*eps]);
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]);
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]);
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]);
77 translate([-infty/2, -infty/2, -infty+eps]) cube(infty);