15 translate([-width/2, 0, 0])
16 rotate([hole_angle, 0, 0])
17 cube([width, eps, front_h]);
19 translate([0, depth, 0])
20 rotate([hole_angle, 0, 0])
21 translate([0, 0, -infty/2])
22 cylinder(r = hole_d/2 + hole_wall, h = infty);
23 translate([-infty/2, -infty/2, 0]) cube(infty); // z > 0
24 translate([0, 0, wall])
25 rotate([-90+wall_angle, 0, 0])
26 translate([-infty/2, 0, 0]) cube(infty); // upper side
30 translate([0, depth, 0])
31 rotate([hole_angle, 0, 0])
32 translate([0, 0, -infty/2])
33 cylinder(r = hole_d/2, h = infty);