19 cylinder(r = base_d/2, h = base_wall);
22 rotate([0, motor_angle, 0])
23 cylinder(r = tube_d/2 + tube_wall, h = tube_h);
24 translate([-infty/2, -infty/2, 0])
28 for (angle = [45, 135, 225, 315])
29 rotate([0, 0, angle]) hull() {
30 translate([-eps/2, -tube_d/2, -eps/2])
31 cube([eps, tube_d, eps]);
32 translate([base_d/2, -eps/2, -eps/2])
34 translate([tube_d/2, -eps/2, 0.9*tube_h])
40 translate([0, 0, -eps])
41 cylinder(r = screw_hole/2, h = base_wall + 2*eps, $fn = 6);
42 translate([0, 0, base_wall/2])
43 cylinder(r1 = screw_hole/2,
44 r2 = screw_hole/2 + base_wall/2,
45 h = base_wall/2+eps, $fn = 6);
51 for (x = [-1, 1]) translate([x*screw_d1/2, 0, 0])
53 for (y = [-1, 1]) translate([0, y*screw_d2/2, 0])
56 rotate([0, motor_angle, 0])
57 translate([0, 0, -infty/2])
58 cylinder(r = tube_d/2, h = infty);