34 translate([-beam_len/2, -beam_w/2, 0])
35 cube([beam_len, beam_w, beam_h]);
38 scale([x, 1, 1]) translate([beam_len/2, 0, 0]) scale([1, leg_asym, 1])
39 cylinder(r1 = beam_w/(2*leg_asym), r2 = leg_d/(2*leg_asym), h = leg_h);
42 // reinforcement for the screw hole
43 cylinder(r = screw_bot_d/2 + 2, h = beam_h);
45 // reinforcement for the lever hole
47 translate([lever_hole_x, 0, 0])
48 cylinder(r = lever_space_d/2 + 2, h = beam_h);
49 translate([-infty/2, -infty, 0]) cube(infty);
55 translate([-tail_w1/2, -beam_w/2, 0])
56 cube([tail_w1, eps, tail_h]);
57 translate([-tail_w2/2, -beam_w/2-tail_len, 0])
58 cube([tail_w2, eps, tail_h]);
68 hull() for (x = [-1, 1])
69 scale([x, leg_asym, 1])
70 translate([beam_len/2, 0, beam_h+eps])
71 cylinder(r1 = (beam_w-2*leg_wall)/(2*leg_asym),
72 r2 = (leg_d-2*leg_wall)/(2*leg_asym),
73 h = leg_h - beam_h + eps);
75 for (x = [-1, 1]) scale([x, 1 ,1])
76 translate([beam_len/2, 0, 0])
78 translate([0, -infty/2, -infty/2])
83 cylinder(r = screw_d/2, h = infty, $fn = 4);
86 translate([0, 0, screw_head_h])
87 cylinder(r = screw_head_d/2, h = infty);
91 translate([0, 0, -eps])
92 cylinder(r = screw_bot_d/2, h = screw_bot_h+eps);
93 translate([screw_d/2, -infty/2, -infty/2])
98 translate([lever_hole_x, 0, -eps])
100 cylinder(r = lever_hole_d/2, h = infty, $fn = 4);
104 translate([lever_hole_x, 0, -eps])
105 cylinder(r = lever_space_d/2, h=beam_h-lever_h+eps);
106 translate([lever_hole_x - lever_space_d2/2, beam_w/2, -eps])
107 cube([lever_space_d2, infty, beam_h-lever_h+eps]);