kocher-pressure.scad 777 B

123456789101112131415161718192021222324252627282930313233
  1. use <threads.scad>;
  2. $fn=90;
  3. Debug=false;
  4. Schnitt=false;
  5. /* [Hidden] */
  6. Inch=25.4;
  7. Delta=0.01;
  8. function sump(a,i) = (i==0)?a[0]:a[i]+sump(a,i-1);
  9. function sumt(a) = sump(a,len(a)-1);
  10. intersection() {
  11. difference() {
  12. L=[7,1.5,3];
  13. echo(sum(L,len(L)-1));
  14. // aussen
  15. union() {
  16. metric_thread(diameter=10.9, pitch=1, length=L[0], test=Debug);
  17. translate([0,0,sump(L,0)]) cylinder(d=10, h=L[1]);
  18. translate([0,0,sump(L,1)]) intersection() {
  19. R=13/sqrt(3);
  20. cylinder(r=R, h=L[2], $fn=6);
  21. cylinder(r=R-0.5, h=L[2]);
  22. }
  23. }
  24. // innen
  25. translate([0,0,-Delta]) metric_thread(diameter=0.305*Inch+0.15, pitch=Inch/32, length=sumt(L)+2*Delta, test=Debug);
  26. }
  27. translate([0,(Schnitt)?50:0,0]) cube(100, center=true);
  28. }