10 cylinder(r = d_out/2, h = body_h);
11 translate([0, 0, -eps])
12 cylinder(r = d_in/2, h = body_h + 2*eps);
23 translate([-cube_d/2, -cube_d/2, 0])
24 cube([cube_d, cube_d, cube_d]);
26 translate([0, 0, -eps])
27 cylinder(r = hole_d/2, h = cube_d + 2*eps);
28 // hole - moiddle ring
29 translate([0, 0, cube_d/2])
30 for (z = [-1, 1]) scale([1, 1, z])
31 cylinder(r1 = hole_d2/2, r2 = hole_d/2, h = 1.5);
33 for (x = [-1, 1]) scale([x, 1, 1])
34 translate([cube_d/2-side_cut, -infty/2, 0])
38 for (x = [-1, 1]) scale([x, 1, 1])
39 translate([cube_d/2, -infty/2, cube_d-side_cut])
47 translate([d_out, 0, 0]) inner();