My self designed awesome 3D printer
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

rail_mount.scad 2.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. // #######################################################
  2. // ###################### Mechanics ######################
  3. // #######################################################
  4. rail_mount_wall = 5;
  5. rail_mount_len = 10;
  6. rail_mount_block = 22;
  7. rail_dia = 8;
  8. rail_y_off_1 = 10;
  9. cutout_width = 0.5;
  10. rail_mount_height = rail_y_off_1 + 6;
  11. module rail_mount(slot) {
  12. $fn = 20;
  13. difference() {
  14. union() {
  15. // main body
  16. cube([rail_mount_wall, rail_mount_len, 2 * slot]);
  17. // rail clamp
  18. translate([rail_mount_wall, 0, ((2 * slot) - rail_mount_block ) / 2])
  19. cube([rail_mount_height, rail_mount_len, rail_mount_block]);
  20. }
  21. // M4 slot mounting holes
  22. translate([-1, rail_mount_len / 2, slot / 2])
  23. rotate([0, 90, 0])
  24. cylinder(d = 4.2, h = rail_mount_wall + 2);
  25. translate([-1, rail_mount_len / 2, slot * 3 / 2])
  26. rotate([0, 90, 0])
  27. cylinder(d = 4.2, h = rail_mount_wall + 2);
  28. translate([rail_dia / 2 + rail_y_off_1, -1, slot])
  29. rotate([-90, 0, 0])
  30. cylinder(d = rail_dia + 0.1, h = rail_mount_len + 2);
  31. // clamping cutout
  32. translate([rail_y_off_1 + (rail_dia - cutout_width) / 2, -1, ((2 * slot) - (rail_mount_block + 2)) / 2])
  33. cube([cutout_width, rail_mount_len + 2, rail_mount_block + 2]);
  34. translate([-1, rail_mount_len / 2, slot + rail_mount_block / 3])
  35. rotate([0, 90, 0]) {
  36. cylinder(d = 3.2, h = rail_mount_height + rail_mount_wall + 2);
  37. cylinder(d = 6.1, h = 3.8, $fn = 6);
  38. translate([0, 0, rail_mount_height + rail_mount_wall -2.5])
  39. cylinder(d = 6.1, h = 3.8);
  40. }
  41. translate([-1, rail_mount_len / 2, slot - rail_mount_block / 3])
  42. rotate([0, 90, 0]) {
  43. cylinder(d = 3.2, h = rail_mount_height + rail_mount_wall + 2);
  44. cylinder(d = 6.1, h = 3.8, $fn = 6);
  45. translate([0, 0, rail_mount_height + rail_mount_wall -2.5])
  46. cylinder(d = 6.1, h = 3.8);
  47. }
  48. translate([-10, -10, -22])
  49. cube([30, 30, 30]);
  50. translate([-10, -10, 2 * slot - 8])
  51. cube([30, 30, 30]);
  52. }
  53. }
  54. //rail_mount(30);