My self-made 3D-printable designs, mainly in OpenSCAD
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

bottlecap.scad 1.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. include <threads.scad>
  2. outer_dia = 32;
  3. thread_dia = 28.3;
  4. thread_pitch = 3.5;
  5. thread_width = 4.0;
  6. thread_angle = 45 + 15;
  7. thread_height = thread_pitch * 2;
  8. thread_min_dia = 26;
  9. height = 15;
  10. top_wall = 2;
  11. hose_hole = 6.7;
  12. air_hole = 2.0;
  13. bot_height = height - top_wall - thread_height;
  14. show_cutout = false;
  15. $fn = 42;
  16. module cutout() {
  17. translate([0, 0, -0.01])
  18. cylinder(d = thread_dia, h = bot_height + 0.02);
  19. cylinder(d = thread_min_dia, h = bot_height + thread_height);
  20. translate([0, 0, bot_height])
  21. metric_thread(diameter=thread_dia, pitch=thread_pitch, length=thread_height, internal=true, thread_size=thread_width, rectangle=0, angle=thread_angle);
  22. translate([0, 0, bot_height + thread_height - 1]) {
  23. translate([3, 0, 0])
  24. cylinder(d = hose_hole, h = top_wall + 2);
  25. translate([-5, 0, 0])
  26. cylinder(d = air_hole, h = top_wall + 2);
  27. }
  28. }
  29. module bottlecap() {
  30. difference() {
  31. cylinder(d = outer_dia, h = height);
  32. cutout();
  33. }
  34. }
  35. if (show_cutout) {
  36. cutout();
  37. } else {
  38. translate([0, 0, height])
  39. rotate([180, 0, 0])
  40. bottlecap();
  41. }