//see posting in mikrocontroller.net r=60;$fn=48;d=0.7;xf= 0.08; xo=171;u0=104;u1=108;u2=128;u3=145;u4=171;u5=194;u6=217;u7=234;u8=238; yf=-0.08;yo=136;v1= 86;v2=122;v3=135;v4=167;v5=198; x0=(u0-xo)*xf;x1=(u1-xo)*xf;x2=(u2-xo)*xf;x3=(u3-xo)*xf;x4=(u4-xo)*xf; x5=(u5-xo)*xf;x6=(u6-xo)*xf;x7=(u7-xo)*xf;x8=(u8-xo)*xf;y1=(v1-yo)*yf; y2=(v2-yo)*yf;y3=(v3-yo)*yf;y4=(v4-yo)*yf;y5=(v5-yo)*yf; r1=13.5/2;//Nase r2=13.8/2;//Buchsenhalter außen = Rundschlitz innen r3=15.5/2;//Rundschlitz außen r4=17.4/2;//Bajonettbahn r5=18.2/2;//outer body z0=0; z1=1;//Kabelplatz z2=4;//Beginn des Bodens des runden Schlitzes z3=5;//Kontaktarretierung (bisher nicht verwendet) z4=12;//oberes Ende der Kontakte z5=8;//untere Bajonettbahn z6=12;//obere Bajonettbahn z7=14;//oberer Rand difference(){ cylinder(z7,r5,r5);//Body difference(){union(){//upper bajonett translate([0,0,z5])cube([10,10,z6-z5]);//Quadrat der Bajonettbahn translate([-2,-10,z5])cube([4.0,20,10]);//beide Bajonetteingänge } translate([0, 0,0])cylinder(20,r4,r4);//Body der Bajonettbahn translate([4,5.8,0])cylinder(20,2,2);//Rastnase snapping hill translate([10.2,-6,0])rotate(18)cube([9,9,20]);//Abschlussquadrat } rotate(180)difference(){union(){ //lower bajonett translate([0,0,z5])cube([10,10,z6-z5]);//Quadrat der Bajonettbahn // translate([-2,-10,11.1])cube([4.0,20,10]);//beide Bajonetteingänge } translate([0, 0,0])cylinder(20,r4,r4);//Body der Bajonettbahn translate([4,5.8,0])cylinder(20,2,2);//Rastnase snapping hill translate([10.2,-6,0])rotate(18)cube([9,9,20]);//Abschlussquadrat } //translate([-1,-16.9,12.1])cube([2.0,8.0,8.0]);//Einbuchtung außen unten translate([ 0, 0,z4])cylinder(15,r2,r3);//Einbuchtung innen (Kontaktebene) difference(){ translate([0,0,4])cylinder(23,r3,r3);//runder Schlitz außen translate([0,0,1])cylinder(25,r2,r2);//runder Schlitz innen } //Kabelplatz herausgenommen, da schwer zu drucken //translate([0,0,-1])cylinder(2,r2,r2);//runder Schlitz innen / Kabelplatz translate([ 0.0,r1,-1])cylinder(21.1,1,1);//Nase am Pin 9 //translate([ 0, 0,-5])cylinder(20,0.1,0.1);//Center translate([x2,y1,-5])cylinder(20,d,d);//1 translate([x4,y1,-5])cylinder(20,d,d);//9 translate([x6,y1,-5])cylinder(20,d,d);//8 translate([x0,y2,-5])cylinder(20,d,d);//2 translate([x8,y2,-5])cylinder(20,d,d);//7 translate([x3,y3,-5])cylinder(20,d,d);//A translate([x5,y3,-5])cylinder(20,d,d);//C translate([x1,y4,-5])cylinder(20,d,d);//3 translate([x4,y4,-5])cylinder(20,d,d);//B translate([x7,y4,-5])cylinder(20,d,d);//6 translate([x3,y5,-5])cylinder(20,d,d);//4 translate([x5,y5,-5])cylinder(20,d,d);//5 // translate([x5,y5,-5])text("1"); } translate([x2+0.3,y1-1.9,z4])linear_extrude(0.2)text("1",1); translate([x4-0.4,y1-1.9,z4])linear_extrude(0.2)text("9",1); translate([x6-0.9,y1-1.9,z4])linear_extrude(0.2)text("8",1); translate([x0+1.0,y2-0.9,z4])linear_extrude(0.2)text("2",1); translate([x8-1.8,y2-0.9,z4])linear_extrude(0.2)text("7",1); translate([x3+0.0,y3+1.0,z4])linear_extrude(0.2)text("A",1); translate([x5-0.6,y3+1.0,z4])linear_extrude(0.2)text("C",1); translate([x1+1.0,y4+0.2,z4])linear_extrude(0.2)text("3",1); translate([x4-0.4,y4+1.0,z4])linear_extrude(0.2)text("B",1); translate([x7-1.7,y4+0.2,z4])linear_extrude(0.2)text("6",1); translate([x3-0.2,y5+0.9,z4])linear_extrude(0.2)text("4",1); translate([x5-0.6,y5+0.9,z4])linear_extrude(0.2)text("5",1);