// -*- C -*- arm_depth = 25; arm_pindepth = (16.15 + 18.00)/2; arm_innerwidth = 9.60 - 0.50; arm_innerheight = 8.90 - 0.50; armpart_hex_rad = 15; armpart_hex_thick = 8; hingepin_dia = 3; // computed armpart_x_unit = armpart_hex_rad * tan(30); module ArmPart(){ ////toplevel translate([-arm_innerwidth/2, 1, 0]) mirror([0,-1,0]) cube([arm_innerwidth, arm_depth+1, arm_innerheight]); rotate([90,0,180]) linear_extrude(height=armpart_hex_thick) for (mir=[0,1]) mirror([mir,0,0]) difference(){ polygon([[-1, 0], [armpart_x_unit, 0], [armpart_x_unit*2, armpart_hex_rad], [armpart_x_unit, armpart_hex_rad*2], [-1, armpart_hex_rad*2]]); translate([0,armpart_hex_rad]) circle(hingepin_dia/2, $fn=20); } } ArmPart();