4 arm_pindepth = (16.15 + 18.00)/2;
5 arm_innerwidth = 9.60 - 0.50;
6 arm_innerheight = 8.90 - 0.50;
15 headpart_main_dia = 15 - 0.3;
16 headpart_main_len = 14;
17 headpart_stub_protrude = 2;
18 headpart_stub_width = 11.7 - 0.3;
20 headpart_flatten_angle = 45;
24 armpart_x_unit = armpart_hex_rad * tan(30);
25 headpart_flatten_z = headpart_main_dia/2 * cos(headpart_flatten_angle);
26 headpart_stub_support_x = headpart_stub_width * cos(59) / 2;
27 headpart_stub_len = headpart_stub_protrude + headpart_main_dia/2;
29 sqrt(headpart_main_dia*headpart_main_dia/4 - hingenut_width*hingenut_width/4)
32 module ArmPart(){ ////toplevel
33 translate([-arm_innerwidth/2, 1, 0])
35 cube([arm_innerwidth, arm_depth+1, arm_innerheight]);
37 linear_extrude(height=armpart_hex_thick)
43 [armpart_x_unit*2, armpart_hex_rad],
44 [armpart_x_unit, armpart_hex_rad*2],
45 [-1, armpart_hex_rad*2]]);
46 translate([0,armpart_hex_rad])
47 circle(hingepin_dia/2, $fn=20);
51 module HeadPart(){ ////toplevel
54 translate([-headpart_main_len/2, 0,0])
56 cylinder(r=headpart_main_dia/2, h=headpart_main_len, $fn=40);
58 cylinder(h = headpart_stub_len,
59 r = headpart_stub_width/2,
61 translate([-headpart_stub_support_x,
63 -headpart_main_dia/2])
64 cube([headpart_stub_support_x*2,
66 headpart_main_dia/2]);
68 translate([-100,-100,-100])
69 cube([200,200, 100 - headpart_flatten_z]);
71 translate([0,0, -100])
72 cylinder(r=hingepin_dia/2, h = 200, $fn=20);
73 translate([0,hingenut_depth_y,0])
75 cylinder(r=hingenut_width/2/cos(30), h=20, $fn=6);