rohrreiniger2.scad 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. use <threads.scad>
  2. $fn=180;
  3. Delta = 0.01;
  4. Inch = 25.4;
  5. Gewinde=11;
  6. Bohrung=10;
  7. Kugel=25;
  8. module oben() {
  9. difference() {
  10. union() {
  11. // Außenform Oval
  12. intersection() {
  13. translate([0,0,7]) difference() {
  14. scale([1,1,2]) sphere(d=Kugel);
  15. // 4x breiter Strahl nach hinten
  16. for(i=[0:360/6:359]) hull() {
  17. rotate([0,0,i]) translate([8,0,7]) rotate([75,0,0]) scale([1,1.25,1]) cylinder(d=20, h=1, center=true);
  18. }
  19. }
  20. translate([0,0,50]) cube([100,100,100], center=true);
  21. }
  22. // Duschkopf-Gewinde an Schlauch
  23. translate([0,0,-Gewinde]) metric_thread (diameter=20, pitch=Inch/14, length=Gewinde, leadin=2, test=false);
  24. }
  25. // Innenbohrung
  26. #hull() {
  27. translate([0,0,Kugel*0.9]) sphere(d=Bohrung);
  28. translate([0,0,-Gewinde]) sphere(d=Bohrung*1.25);
  29. }
  30. }
  31. }
  32. module unten() {
  33. R=2;
  34. difference() {
  35. translate([0,0,R]) hull() {
  36. rotate_extrude(convexity = 10) translate([(Kugel*0.95-2*R)/2, 0, 0]) circle(r = R);
  37. cylinder(d=Kugel*0.95, h=Gewinde+1.5);
  38. }
  39. translate([0,0,R]) metric_thread (diameter=20+0.1, pitch=Inch/14, length=Gewinde+2, leadin=2, test=false);
  40. for(i=[0:360/2:359]) rotate([0,0,i]) translate([3,0,0]) cylinder(d=2, h=40, center=true);
  41. }
  42. }
  43. // intersection() {
  44. // union() {
  45. // oben();
  46. // translate([0,0,-(Gewinde+3.5)]) unten();
  47. // }
  48. // #translate([0,50,0]) cube([100,100,100], center=true);
  49. // }
  50. translate([-20,0,11]) oben();
  51. translate([20,0,0]) unten();