My self-made 3D-printable designs, mainly in OpenSCAD
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

y_bearing_mount.scad 3.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. bearing_dia = 15.0;
  2. bearing_len = 23.8;
  3. mount_hole = bearing_dia + 0.4;
  4. hole_dia = 4.2;
  5. hole_dist_x = 24.0;
  6. hole_dist_y = 18.0;
  7. screw_nut = 7.75;
  8. screw_nut_off = 2.5;
  9. base_side = 5.0;
  10. base_wall = 5.0;
  11. mount_bearing_dist = 13.0;
  12. shim_width = 16.0;
  13. cutout = 5.0;
  14. top_screw_dia = 3.2;
  15. top_screw_head = 6.0;
  16. top_screw_head_off = base_side;
  17. top_screw_nut = 6.2;
  18. top_screw_nut_off = 3.0;
  19. base_width = hole_dist_x + base_side * 2;
  20. base_length = hole_dist_y + base_side * 2;
  21. $fn = 42;
  22. module bearing() {
  23. difference() {
  24. cylinder(d = bearing_dia, h = bearing_len);
  25. translate([0, 0, -1])
  26. cylinder(d = 8.0, h = bearing_len + 2);
  27. }
  28. }
  29. module mount() {
  30. %translate([0, (base_length - bearing_len) / 2, bearing_dia / 2 + mount_bearing_dist])
  31. rotate([-90, 0, 0])
  32. bearing();
  33. difference() {
  34. union() {
  35. // base
  36. translate([-base_width / 2, 0, 0])
  37. cube([base_width, base_length, base_wall]);
  38. hull() {
  39. // bearing outer hull
  40. translate([0, 0, bearing_dia / 2 + mount_bearing_dist])
  41. rotate([-90, 0, 0])
  42. cylinder(d = mount_hole + 2 * base_side, h = base_length);
  43. // top clamp for screw
  44. translate([-cutout / 2 - base_side, 0, bearing_dia + mount_bearing_dist])
  45. cube([cutout + 2 * base_side, base_length, base_wall + 1]);
  46. }
  47. // shim
  48. translate([-shim_width / 2, 0, base_wall])
  49. cube([shim_width, base_length, mount_bearing_dist - base_wall]);
  50. }
  51. // screw holes for mounting to carriage
  52. for (x = [-hole_dist_x / 2, hole_dist_x / 2])
  53. for (y = [-hole_dist_y / 2, hole_dist_y / 2])
  54. translate([x, base_length / 2 + y, -1])
  55. cylinder(d = hole_dia, h = base_wall + 2);
  56. // nut holes for mounting to carriage
  57. for (x = [-hole_dist_x / 2, hole_dist_x / 2])
  58. for (y = [-hole_dist_y / 2, hole_dist_y / 2])
  59. translate([x, base_length / 2 + y, screw_nut_off])
  60. rotate([0, 0, 90])
  61. cylinder(d = screw_nut, h = base_wall - screw_nut_off + 1, $fn = 6);
  62. // bearing hole
  63. translate([0, -1, bearing_dia / 2 + mount_bearing_dist])
  64. rotate([-90, 0, 0])
  65. cylinder(d = mount_hole, h = base_length + 2);
  66. // top cutout
  67. translate([-cutout / 2, -1, bearing_dia + mount_bearing_dist - 1])
  68. cube([cutout, base_length + 2, base_side + 5]);
  69. // top screw
  70. translate([-base_width / 2, base_length / 2, mount_bearing_dist + bearing_dia + base_wall / 2])
  71. rotate([0, 90, 0])
  72. cylinder(d = top_screw_dia, h = base_width);
  73. // top screw head
  74. translate([cutout / 2 + top_screw_head_off, base_length / 2, mount_bearing_dist + bearing_dia + base_wall / 2])
  75. rotate([0, 90, 0])
  76. cylinder(d = top_screw_head, h = base_width);
  77. // top screw nut
  78. translate([-cutout / 2 - top_screw_nut_off - base_width, base_length / 2, mount_bearing_dist + bearing_dia + base_wall / 2])
  79. rotate([0, 90, 0])
  80. rotate([0, 0, 90])
  81. cylinder(d = top_screw_nut, h = base_width, $fn = 6);
  82. }
  83. }
  84. rotate([90, 0, 0])
  85. mount();