Absaugung-Bommel.scad 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /* [OpenSCAD] */
  2. use <threads.scad>
  3. $fn=90;
  4. debug=false;
  5. /* [Teil] */
  6. Teil = 1; // [1:Oben, 2:Unten, 3:Gewindestange]
  7. module Oberteil() {
  8. difference() {
  9. intersection() { // Halbe Kugel
  10. sphere(d=40);
  11. translate([0,0,30]) cube(60, center=true);
  12. }
  13. render() metric_thread (diameter=12, pitch=1,75, length=12, internal=true, test=debug); // M12 Gewinde
  14. cylinder(d1=13, d2=12, h=1); // Fase
  15. translate([0,0,12]) cylinder(d1=12, d2=3, h=3 ); // Konus über Gewinde
  16. cylinder(d=3, h=40); // Bohrung für Schnur
  17. cylinder(d=27.5, h=12.5, center=true); // halbe M16 Mutter
  18. }
  19. }
  20. module Unterteil() {
  21. difference() {
  22. intersection() { // Halbe Kugel
  23. sphere(d=40);
  24. translate([0,0,30]) cube(60, center=true);
  25. }
  26. metric_thread (diameter=12, pitch=1,75, length=12, internal=true, test=debug); // M12 Gewinde
  27. cylinder(d=27.5, h=12.5, center=true); // halbe M16 Mutter
  28. }
  29. }
  30. module Gewindestange() {
  31. difference() {
  32. metric_thread (diameter=12, pitch=1,75, length=21, internal=false, test=debug); // M12 Gewinde
  33. cylinder(d=3, h=40); // Bohrung für Schnur
  34. translate([0,0,21]) sphere(d=6);
  35. }
  36. }
  37. intersection() {
  38. if (Teil==1) Oberteil();
  39. if (Teil==2) Unterteil();
  40. if (Teil==3) Gewindestange();
  41. if (debug) cube(100);
  42. }