12 base_beam_w = spring_l + 2;
14 rear_beam_w = rear_spring_l + 3;
20 translate([0, w/2, base_h + hook_in/2])
24 cylinder(r = hook_in/2 + hook_wall/2, h = w, $fn = 6);
25 translate([hook_in/2, 0, 0])
26 cube([eps, hook_in/2 + hook_wall, w]);
28 translate([0, 0, -eps])
29 cylinder(r = hook_in/2, h = w + 2*eps, $fn = 6);
30 translate([-infty/2, -infty, -infty/2]) cube(infty);
31 translate([hook_in/2 + eps,, -infty/2, -infty/2]) cube(infty);
38 translate([0, -base_w/2, 0])
39 cube([base_beam_w, base_w, base_h]);
41 translate([0, -rear_beam_w/2, 0])
42 cube([base_l, rear_beam_w, base_h]);
45 translate([gear_l, 0, 0])
48 translate([gear_l - hook_in/2, 0, 0])
53 for (y = [-1, 1]) scale([1, y, 1])
54 translate([1, gear_w/2, 0])
56 translate([0, -spring_l/2, 0])