nortec-mokrofon.scad 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. use <threads.scad>
  2. // set false for FDM, true for UV-SLA
  3. print_SLA = false;
  4. // set false to render thread
  5. debug = true;
  6. B=5; // [2:1:10]
  7. $fn=4*36;
  8. intersection() {
  9. difference() {
  10. hull() {
  11. intersection() {
  12. cylinder(h = 6, r = (20/sqrt(3)), $fn=6);
  13. cylinder(h = 80, r = 0.95*(20/sqrt(3)), center=true);
  14. }
  15. #translate(v = [0,0,27]) {
  16. rotate([90,0,0]) {
  17. cylinder(h = 10, d1=18, d2=15);
  18. mirror([0,0,1]) cylinder(h = 10, d1=18, d2=15);
  19. }
  20. }
  21. }
  22. translate(v = [0,0,27]) {
  23. rotate([90,0,0]) {
  24. cylinder(h = 25, d=7.5, center=true);
  25. translate(v = [0,0,10]) cylinder(h = 3, r = (10.2/sqrt(3)), $fn=6, center=true);
  26. translate(v = [0,0,-10]) cylinder(h = 5, r = (10.2/sqrt(3)), center=true);
  27. }
  28. }
  29. translate(v = [0,0,30]) cube([30,6,30], center=true);
  30. translate(v = [0,0,-0.01]) cylinder(h = 1.01, d1=12, d2=10);
  31. translate([0,0,10]) cylinder(h = 6, d1=9, d2=6);
  32. translate([0,0,0.99]) metric_thread (diameter=10.2, pitch=1, length=12, internal=true, test=debug);
  33. if (print_SLA) for(i=[0:360/3:360]) rotate([0,0,i]) rotate([90,0,0]) scale([1,1.5,1]) cylinder(h = 40, d=1.5, center=true);
  34. }
  35. //if (debug) translate(v = [0,0,25]) rotate([90,0,0]) #cylinder(d=16, h=5, center=true);
  36. //cube([B,70,70], center=true);
  37. }