My self-made 3D-printable designs, mainly in OpenSCAD
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.

relay-mount.scad 1.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. bodyHeight = 8;
  2. wallSize = 3;
  3. lipSize = 3;
  4. fullSize = 20;
  5. gap = 5;
  6. $fn = 15;
  7. // -----------------------------------------------------------
  8. module holder() {
  9. // lower body
  10. cube([wallSize, fullSize - wallSize, bodyHeight]);
  11. // upper border
  12. translate([0, fullSize - wallSize, 0])
  13. cube([(2 * wallSize) + gap, wallSize, bodyHeight]);
  14. // upper lip
  15. translate([wallSize + gap, fullSize - (2 * wallSize), 0])
  16. cube([wallSize, wallSize, bodyHeight]);
  17. // lower border
  18. translate([wallSize, 0, 0])
  19. cube([lipSize, lipSize, bodyHeight]);
  20. }
  21. module holes() {
  22. cylinder(d = 2.7, h = wallSize + 2);
  23. translate([45.6, 0, 0])
  24. cylinder(d = 2.7, h = wallSize + 2);
  25. }
  26. module mount() {
  27. difference() {
  28. union() {
  29. cube([45.6 + (2 * 4), 4, wallSize]);
  30. cube([8, 8, wallSize]);
  31. translate([45.6 + (2 * 4) - 8, 0, 0])
  32. cube([8, 8, wallSize]);
  33. }
  34. translate([4, 2.65 + 1.35, -1])
  35. holes();
  36. }
  37. }
  38. module mountA() {
  39. mount();
  40. translate([45.6 + (2 * 4), bodyHeight, wallSize])
  41. rotate([90, 90, 0])
  42. holder();
  43. }
  44. module mountB() {
  45. translate([45.6 + (2 * 4), bodyHeight, 0])
  46. rotate([0, 0, 180])
  47. mount();
  48. translate([45.6 + (2 * 4), bodyHeight, wallSize])
  49. rotate([90, 90, 0])
  50. holder();
  51. }
  52. mountB();
  53. /*
  54. rotate([90, 0, 0])
  55. mountA();
  56. translate([0, 20, bodyHeight])
  57. rotate([-90, 0, 0])
  58. mountB();
  59. */