9 tip_rv_off = base_l/2-2;
19 translate([-base_l/2, 0 ])
20 cube([base_l, wall, base_w]);
26 translate([base_l/2, tip_r, 0])
27 cylinder(r = tip_r, h = base_w, $fn = 128);
28 translate([base_l/2, tip_r, -eps])
29 cylinder(r = tip_r - wall, h = base_w+2*eps, $fn = 128);
31 // the appropriate quarter of the tube only
32 translate([base_l/2, -eps, -eps])
33 cube([tip_r + eps, tip_r + eps, base_w+2*eps]);
35 translate([tip_rv_off, -eps, base_w/2-eps])
37 cylinder(r = tip_rv, h = base_w + 2*eps);
42 translate([axle_off - axle_cube/2, wall, 0])
43 cube([axle_cube, axle_cube/2 + axle_h, axle_cube]);
44 translate([axle_off, axle_h + wall, -eps])
45 cylinder(r = axle_hole/2, h = axle_cube + 2*eps);
49 // left and right part
50 for (i = [-1, 1]) scale([1, i, 1])
51 translate([0, axle_h, 0])