4 arm_innerwidth = 9.60 - 0.50;
5 arm_innerheight = 8.90 - 0.50;
6 arm_pin_depth = (16.15 + 18.00)/2;
10 armpart_hex_thick = 8;
16 headpart_main_dia = 15 - 0.3;
17 headpart_main_len = 14;
18 headpart_stub_protrude = 2;
19 headpart_stub_width = 11.7 - 0.3;
21 headpart_flatten_angle = 45;
25 armpart_x_unit = armpart_hex_rad * tan(30);
26 headpart_flatten_z = headpart_main_dia/2 * cos(headpart_flatten_angle);
27 headpart_stub_support_x = headpart_stub_width * cos(59) / 2;
28 headpart_stub_len = headpart_stub_protrude + headpart_main_dia/2;
30 sqrt(headpart_main_dia*headpart_main_dia/4 - hingenut_width*hingenut_width/4)
33 module ArmPart(){ ////toplevel
35 translate([-arm_innerwidth/2, 1, 0])
37 cube([arm_innerwidth, arm_depth+1, arm_innerheight]);
38 translate([0, -arm_pin_depth, -50])
39 cylinder(r=arm_pin_dia/2, h=100);
42 linear_extrude(height=armpart_hex_thick)
48 [armpart_x_unit*2, armpart_hex_rad],
49 [armpart_x_unit, armpart_hex_rad*2],
50 [-1, armpart_hex_rad*2]]);
51 translate([0,armpart_hex_rad])
52 circle(hingepin_dia/2, $fn=20);
56 module HeadPart(){ ////toplevel
59 translate([-headpart_main_len/2, 0,0])
61 cylinder(r=headpart_main_dia/2, h=headpart_main_len, $fn=40);
63 cylinder(h = headpart_stub_len,
64 r = headpart_stub_width/2,
66 translate([-headpart_stub_support_x,
68 -headpart_main_dia/2])
69 cube([headpart_stub_support_x*2,
71 headpart_main_dia/2]);
73 translate([-100,-100,-100])
74 cube([200,200, 100 - headpart_flatten_z]);
76 translate([0,0, -100])
77 cylinder(r=hingepin_dia/2, h = 200, $fn=20);
78 translate([0,hingenut_depth_y,0])
80 cylinder(r=hingenut_width/2/cos(30), h=20, $fn=6);