16 hole_step = 1.5*hole_d;
25 translate([slot_off, 0, 0])
26 cube([base_l, wall, wall]);
28 for (y = [1:n_holes]) {
29 translate([0, hole_h -(y-1)*hole_step, 0])
30 cylinder(r = hole_d/2 + hole_side,
35 for (y = [1:n_holes]) {
36 translate([0, hole_h -(y-1)*hole_step, -eps])
37 cylinder(r = hole_d/2, h = wall + 2*eps, $fn = 6);
43 translate([slot_off, 0, 0])
44 cube([base_l, wall, side_w]);
48 translate([slot_off + (base_l - slot_l)/2, -slot_depth/2, 0])
49 cube([slot_l, slot_depth/2, wall]);
50 translate([slot_off + (base_l - slot_l)/2 + wall, -slot_depth, 0])
51 cube([slot_l - 2*wall, slot_depth/2+eps, wall]);
55 for (x = [-1, 1]) scale([x, 1, 1])
56 translate([hole_side + hole_d/2 + 2*wall, 0, 0]) horn();