$fn=50; hight=24; pinScale = 1.5; difference() { union() { translate([0,-2.5,0]) cube([46,35,4]); translate([46-4,-2.5,0]) cube([4,35,hight+6],center=false); translate([0,0,hight]) rotate([45,0,0]) translate([46/2,45/2,2]) rotate([0,0,180]) union(){ //top pair of points translate([23-2,-45/2+2*pinScale,5]) scale([1,pinScale,1]) cylinder(h=10, r=2, center=true); translate([-23+2,-45/2+2*pinScale,5]) scale([1,pinScale,1]) cylinder(h=10, r=2, center=true); //bottom pair of points translate([23-2,45/2-2*pinScale,5]) scale([1,pinScale,1]) cylinder(h=10, r=2, center=true); translate([-23+2,45/2-2*pinScale,5]) scale([1,pinScale,1]) cylinder(h=10, r=2, center=true); difference() { translate([0,0,1]) cube([46,45,6], center=true); translate([0,0,2]) { cylinder(h=4, r=23, center=true); cylinder(h=8, d=16, center=true); cube([40-2,60,4], center=true); translate([16,0,]) cube([14,13,8],center=true); } } } } translate([3+10-1,5,0]) cube([30,20,4]); }