$fa=1; $fs=.25; module connectorj1772() { difference() { union() { //difference(){ swtwlock(); // difference(){ // translate([0,0,-40.1]) cylinder(h=9.5,r=26); // translate([0,0,-40.2]) cylinder(h=9.7,r=23.65); // } // } // shellwithtabs(); centerPlug(); //translate([-28,-32.5,-32.5]) cube([56,65,2]); // ### INDEX } union() { //actual pins through bottom translate([0,-10.8,-40.1]) cylinder(h=40.2,r=2.8); // pinhole chassis ground translate([-7.8,6.8,-40.1]) cylinder(h=40.2,r=3.6); // pinhole L1 translate([7.8,6.8,-40.1]) cylinder(h=40.2,r=3.6); // pinhole L2 translate([-10.65,-5.6,-40.1]) cylinder(h=40.2,r=1.5); // pinhole control pilot translate([10.65,-5.6,-40.1]) cylinder(h=40.2,r=1.5); // pinhole prox detect translate([-28,-32.5,-40.1]) cube([56,65,3.1]); // ### INDEX reduce to 2mm bottom } } } module swtwlock() { union() { difference() { difference() { translate([-9.5,23.2,-30.6]) cube([19,8.5,30.6]); // side guard union() { translate([-5.5,30,-21]) cube([11,4.2,11.8]); // slider part translate([-5.5,34.2,-15.1]) rotate([39.13,0,0]) cube([11,15.8,18]); // top ramp translate([-5.5,34.2,-41.5]) rotate([84,0,0]) cube([11,20.8,13]); // bottom catch } } union() { translate([-14.4,21,-40.1]) rotate([0,0,-18]) cube([4,13,40.2]); translate([14.4,21,-40.1]) rotate([0,0,18]) translate([-4,0, 0]) cube([4,13,40.2]); } } translate([-5.5,23,-30.6]) cube([11,3,11.6]); // bottom flat part shellwithtabs(); } } module shell() { difference() { // pinless shell translate([0,0,-40]) cylinder(h=40,r=25.2); // outside translate([0,0,-35]) cylinder(h=35.02,r=22.1); // open area + 0.2 for clearance } } module shellwithtabs() { difference() { // thing with bottom keyhole union() { // thing with bottom bump intersection() { // bottom outer bump translate([0,0,-40]) cylinder(h=40,r=30.7); // outside radius translate([-9.35,-30.8,-40]) cube([18.7,8.6,40]); // ### plus .1 on both sides } shell(); } intersection() { translate([0,0,-35.]) cylinder(h=35.2,r=25.6); // bottom keyway cyl +.2 for clearance translate([-4.25,-25.7,-35.]) cube([8.5,4.5,35.2]); // boundary +.2 for clearance } } } module centerPlug() { difference() { union() { // center pin barrel difference() { // center plug union() { // center plug solid translate([0,0,-35]) cylinder(h=12,r=17.4); // plug base translate([0,0,-23]) cylinder(h=5,r1=17.4,r2=16.9); // plug middle translate([0,0,-18]) cylinder(h=18,r=16.9); // plug top } translate([0,0,-25]) cylinder(h=25.2,r=14.9); // center plug solid open area + 0.2 for clearance ### WARNING? bad spec Modified to 2mm wall } intersection() { union() { // all pin sleeves translate([0,-10.8,-25]) cylinder(h=25,r=6.9); // sleeve chassis ground ### Modified to 2mm wall translate([-7.8,6.8,-25]) cylinder(h=25,r=7.3); // sleeve L1 ### Modified to 2mm wall translate([7.8,6.8,-25]) cylinder(h=25,r=7.3); // sleeve L2 ### Modified to 2mm wall translate([-10.65,-5.6,-25]) cylinder(h=25.,r=5.65); // sleeve control pilot ### Modified to 2mm wall translate([10.65,-5.6,-25]) cylinder(h=25,r=5.65); // sleeve prox detect ### Modified to 2mm wall } translate([0,0,-25.1]) cylinder(h=25.2,r=15); // to get rid of excess } } translate([0,-10.8,-28]) cylinder(h=28.1,r=4.9); // pinhole chassis ground + 0.1 for clearance translate([-7.8,6.8,-24]) cylinder(h=24.1,r=5.3); // pinhole L1 + 0.1 for clearance translate([7.8,6.8,-24]) cylinder(h=24.1,r=5.3); // pinhole L2 + 0.1 for clearance translate([-10.65,-5.6,-24.5]) cylinder(h=24.6,r=3.65); // pinhole control pilot + 0.1 for clearance translate([10.65,-5.6,-24.5]) cylinder(h=24.6,r=3.65); // pinhole prox detect + 0.1 for clearance } } translate([0,0,37]) { connectorj1772(); } /* translate([0,0,40]) { cube([1,1,1]); // dummy difference() { // for cross section translate([-30,0,-60]) // cube([60,30,120]); // for cross section cube([1,1,1]); //dummy */ // % translate([-52.5,-60,0]) cube([105,120,130]);