7 angle = 15; // from the vertical axis
17 translate([0, 0, (can_d/2+wall)*sin(angle)])
19 cylinder(r = can_d/2 + wall, h = side_h + wall);
20 translate([0, 0, (can_d/2+wall)*sin(angle)])
22 translate([0, 0, wall/cos(angle)]) {
23 cylinder(r1 = can_d/2-cone_h, r2 = can_d/2, h = cone_h + eps);
24 translate([0, 0, cone_h])
25 cylinder(r = can_d/2, h = side_h + eps);
26 translate([-can_d/2-wall-eps, 0, side_h])
28 scale([side_h/center_slot, 1, 1])
29 cylinder(r = center_slot, h = can_d + 2*wall + 2*eps);
31 translate([-infty/2, -infty/2, -infty]) cube(infty);
35 translate([0, 0, (can_d/2+wall)*sin(angle)])
37 cylinder(r = can_d/2 + wall, h = eps);
38 scale([cos(angle), 1, 1])
39 cylinder(r = can_d/2 + wall, h = wall);
42 translate([-(can_d/2+wall)*cos(angle), -side_w-wall-can_d/2, 0])
43 cube([(can_d+2*wall)*cos(angle)+wall*tan(angle), 2*side_w+2*wall+can_d, wall]);