Açıklama Yok
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

tamb_mount.scad 1.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. $fa=1/1;
  2. $fs=1/2;
  3. bissl=1/100;
  4. part="inner";//[inner,outer,all_visualize]
  5. od_tamb=251;
  6. id_tamb=239;
  7. wall_tamb=(od_tamb-id_tamb)/2;
  8. hole_tamb=23;
  9. lip=3;
  10. air=1;
  11. hole=3;
  12. wall=1.6;
  13. beam_width=7;
  14. module inner_mount() {
  15. difference() {
  16. union() {
  17. intersection() {
  18. cylinder(d=hole_tamb+2*lip-2*air,h=2*lip+wall_tamb);
  19. translate([0,0,-id_tamb/2+2*lip])rotate([90,0,0])cylinder(d=id_tamb,h=hole_tamb+2*lip,center=true);
  20. }
  21. intersection() {
  22. cylinder(d=hole_tamb-2*air,h=2*lip+wall_tamb);
  23. translate([0,0,-id_tamb/2+2*lip])rotate([90,0,0])cylinder(d=id_tamb+wall_tamb-air,h=hole_tamb+2*lip,center=true);
  24. }
  25. }
  26. hull() {
  27. translate([0,hole_tamb/2-air-hole/2-wall,-bissl])cylinder(h=wall_tamb+3*lip+2*bissl,d=hole);
  28. translate([0,-hole_tamb/2+air+hole/2+wall,-bissl])cylinder(h=wall_tamb+3*lip+2*bissl,d=hole);
  29. }
  30. translate([-beam_width/2-air/2,-hole_tamb/2-lip,-bissl]) cube([beam_width+air,hole_tamb+2*lip,lip]);
  31. }
  32. }
  33. module outer_mount() {
  34. difference() {
  35. union() {
  36. difference(){
  37. cylinder(d=hole_tamb+2*lip-2*air,h=2*lip+wall_tamb);
  38. translate([0,0,od_tamb/2+lip])rotate([90,0,0])cylinder(d=od_tamb,h=hole_tamb+2*lip,center=true);
  39. }
  40. difference(){
  41. cylinder(d=hole_tamb-2*air,h=2*lip+wall_tamb);
  42. translate([0,0,od_tamb/2+lip])rotate([90,0,0])cylinder(d=od_tamb-wall_tamb+air,h=hole_tamb+2*lip,center=true);
  43. }
  44. }
  45. hull() {
  46. translate([0,hole_tamb/2-air-hole/2-wall,-bissl])cylinder(h=wall_tamb+3*lip+2*bissl,d=hole);
  47. translate([0,-hole_tamb/2+air+hole/2+wall,-bissl])cylinder(h=wall_tamb+3*lip+2*bissl,d=hole);
  48. }
  49. }
  50. }
  51. if (part=="inner") inner_mount();
  52. if (part=="outer") outer_mount();
  53. if (part=="all_visualize") {
  54. inner_mount();
  55. translate([0,0,wall_tamb+3*lip])rotate([180,0,0])outer_mount();
  56. }