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.

esr-case.scad 1.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. width = 67;
  2. height = 67.5;
  3. hole_nub = 5;
  4. hole = 2;
  5. hole_width = 60;
  6. hole_height = 40;
  7. hole_offset_top = 3;
  8. wall_size = 1.4;
  9. depth_top = 3.6;
  10. depth_pcb = 1.6;
  11. depth_bottom = 4.1;
  12. depth_gap = 0.4;
  13. depth = depth_top + depth_pcb + depth_bottom + depth_gap;
  14. screw_nub_depth = depth_bottom + depth_gap;
  15. $fn = 20;
  16. module nub() {
  17. difference() {
  18. cylinder(d = hole_nub, h = screw_nub_depth);
  19. translate([0, 0, -1])
  20. cylinder(d = hole, h = screw_nub_depth + 2);
  21. }
  22. }
  23. module nubs() {
  24. nub();
  25. translate([hole_width, 0, 0])
  26. nub();
  27. translate([0, hole_height, 0])
  28. nub();
  29. translate([hole_width, hole_height, 0])
  30. nub();
  31. }
  32. // base
  33. cube([width + (2 * wall_size), height + (2 * wall_size), wall_size]);
  34. // left wall
  35. difference() {
  36. translate([0, 0, wall_size])
  37. cube([wall_size, height + (2 * wall_size), depth]);
  38. translate([-1, wall_size + height - hole_offset_top - hole_height + hole_nub, wall_size])
  39. cube([wall_size + 2, hole_nub, hole]);
  40. }
  41. // bottom wall
  42. translate([0, 0, wall_size])
  43. cube([width + (2 * wall_size), wall_size, depth]);
  44. // right wall
  45. translate([width + wall_size, 0, wall_size])
  46. cube([wall_size, height + (2 * wall_size), depth]);
  47. // top wall
  48. translate([0, height + wall_size, wall_size])
  49. cube([width + (2 * wall_size), wall_size, depth]);
  50. translate([wall_size + (width - hole_width) / 2, wall_size + height - hole_height - hole_offset_top, wall_size])
  51. nubs();