hingepin_dia = 3;
+headpart_main_dia = 15 - 0.3;
+headpart_main_len = 14;
+headpart_stub_protrude = 2;
+headpart_stub_width = 11.7 - 0.3;
+
+headpart_flatten_angle = 45;
+
// computed
armpart_x_unit = armpart_hex_rad * tan(30);
+headpart_flatten_z = headpart_main_dia/2 * cos(headpart_flatten_angle);
+headpart_stub_support_x = headpart_stub_width * cos(59) / 2;
+headpart_stub_len = headpart_stub_protrude + headpart_main_dia/2;
module ArmPart(){ ////toplevel
translate([-arm_innerwidth/2, 1, 0])
}
}
-ArmPart();
+module HeadPart(){ ////toplevel
+ difference(){
+ union(){
+ translate([-headpart_main_len/2, 0,0])
+ rotate([0,90,0])
+ cylinder(r=headpart_main_dia/2, h=headpart_main_len, $fn=40);
+ rotate([90,0,0])
+ cylinder(h = headpart_stub_len,
+ r = headpart_stub_width/2,
+ $fn = 6);
+ translate([-headpart_stub_support_x,
+ -headpart_stub_len,
+ -headpart_main_dia/2])
+ cube([headpart_stub_support_x*2,
+ headpart_stub_len,
+ headpart_main_dia/2]);
+ }
+ translate([-100,-100,-100])
+ cube([200,200, 100 - headpart_flatten_z]);
+ }
+}
+
+//ArmPart();
+HeadPart();