use $fn=180; Delta = 0.01; Inch = 25.4; Gewinde=11; Bohrung=10; Kugel=25; module oben() { difference() { union() { // Außenform Oval intersection() { translate([0,0,7]) difference() { scale([1,1,2]) sphere(d=Kugel); // 4x breiter Strahl nach hinten for(i=[0:360/6:359]) hull() { rotate([0,0,i]) translate([8,0,7]) rotate([75,0,0]) scale([1,1.25,1]) cylinder(d=20, h=1, center=true); } } translate([0,0,50]) cube([100,100,100], center=true); } // Duschkopf-Gewinde an Schlauch translate([0,0,-Gewinde]) metric_thread (diameter=20, pitch=Inch/14, length=Gewinde, leadin=2, test=false); } // Innenbohrung #hull() { translate([0,0,Kugel*0.9]) sphere(d=Bohrung); translate([0,0,-Gewinde]) sphere(d=Bohrung*1.25); } } } module unten() { R=2; difference() { translate([0,0,R]) hull() { rotate_extrude(convexity = 10) translate([(Kugel*0.95-2*R)/2, 0, 0]) circle(r = R); cylinder(d=Kugel*0.95, h=Gewinde+1.5); } translate([0,0,R]) metric_thread (diameter=20+0.1, pitch=Inch/14, length=Gewinde+2, leadin=2, test=false); for(i=[0:360/2:359]) rotate([0,0,i]) translate([3,0,0]) cylinder(d=2, h=40, center=true); } } intersection() { union() { oben(); translate([0,0,-(Gewinde+3.5)]) unten(); } #translate([0,50,0]) cube([100,100,100], center=true); }