sd300_z100.scad 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. // from https://github.com/janssen86/OpenSCAD-Getriebebibliothek
  2. use <getriebe.scad>
  3. /* [OpenSCAD] */
  4. cross_section = false;
  5. /* [Zahnrad] */
  6. // Number of teeth in this gear
  7. Teeth = 70; // [20:5:120]
  8. // [20,30,35,40,50,55,60,65,70,75,80,100,120]
  9. /* [Hidden] */
  10. $fn=120;
  11. // Proxxon SD300 / Hobbymat MD65 use modul 1.0
  12. Modul = 1.0; // (0.05,0.06,0.08,0.10,0.12,0.16,0.20,0.25,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,1.25,1.5,2,2.5,3,4,5,6,8,10,12,16,20,25,32,40,50,60)
  13. Teeth_Limit = 55;
  14. intersection() {
  15. difference() {
  16. H=[8,1.7]; // heights
  17. B=[20.05,32]; // bore
  18. union() {
  19. translate([0,0,-H[0]/2]) stirnrad(Modul, Teeth, H[0], 0); // center
  20. if (Teeth>30) translate([0,0,H[0]/2]) cylinder(d=B[1], h=H[1]);
  21. if (Teeth>Teeth_Limit) {
  22. R=(Teeth*Modul)/2*2/3;
  23. translate([0,R,H[0]/2]) linear_extrude(height=0.5) text(text=str(Teeth), size=3.5, halign="center", valign="center");
  24. }
  25. }
  26. if (Teeth>=30) { // central axis
  27. cylinder(d=B[0], h=3*H[0], center=true);
  28. #translate([0,-B[0]/2,0]) cube([4.1,4.1,2*H[0]], center=true); // Notch
  29. }
  30. else {
  31. cylinder(d=6, h=3*H[0], center=true);
  32. }
  33. if (Teeth==30) translate([0,B[0]/2+2,H[0]/2-0.5])
  34. linear_extrude(height=0.6) text(text=str(Teeth), size=2.5, halign="center", valign="center");
  35. else if (Teeth<=Teeth_Limit) translate([0,B[0]/2+2.5,(H[0]+H[1])/2+0.2])
  36. linear_extrude(height=1) text(text=str(Teeth), size=3.5, halign="center", valign="center");
  37. }
  38. if (cross_section) translate([-50,0,0]) cube(100, center=true); // cross section view for debugging
  39. }
  40. // Further info: https://www.weltderfertigung.de/archiv/jahrgang-2018/ausgabe-januar-2018/wechselradberechnung-leichtgemacht.php