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.

lack-simple-bracket.scad 1.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. lack_foot_width = 50;
  2. lack_foot_height = 100;
  3. lack_foot_dist = 5;
  4. bracket_height = 70;
  5. bracket_width = 40;
  6. bracket_wall = 10;
  7. screw_head_length = 4.5;
  8. screw_head_dia_max = 8.0;
  9. screw_head_dia_min = 3.2;
  10. screw_body_dia = 2.4;
  11. screw_body_length = 25;
  12. $fn = 20;
  13. module screw() {
  14. cylinder(d1 = screw_body_dia, d2 = screw_head_dia_min, h = screw_body_length + 0.1);
  15. translate([0, 0, screw_body_length])
  16. cylinder(d1 = screw_head_dia_min, d2 = screw_head_dia_max, h = screw_head_length);
  17. }
  18. module screw_block() {
  19. translate([bracket_width / 3, screw_body_length + screw_head_length - bracket_wall - 0.1, 10])
  20. rotate([90, 0, 0])
  21. screw();
  22. translate([bracket_width * 2 / 3, screw_body_length + screw_head_length - bracket_wall - 0.1, 20])
  23. rotate([90, 0, 0])
  24. screw();
  25. }
  26. module bracket_body() {
  27. translate([-bracket_wall, -bracket_wall, 0])
  28. cube([bracket_width + bracket_wall, bracket_wall, bracket_height]);
  29. translate([-bracket_wall, 0, 0])
  30. cube([bracket_wall, bracket_width, bracket_height]);
  31. }
  32. module bracket() {
  33. difference() {
  34. bracket_body();
  35. screw_block();
  36. translate([0, 0, bracket_height / 2 + lack_foot_dist])
  37. screw_block();
  38. translate([0, bracket_width, 0])
  39. rotate([0, 0, -90])
  40. screw_block();
  41. translate([0, bracket_width, bracket_height / 2 + lack_foot_dist])
  42. rotate([0, 0, -90])
  43. screw_block();
  44. }
  45. }
  46. // feet visualization
  47. %translate([0, 0, -lack_foot_height])
  48. cube([lack_foot_width, lack_foot_width, lack_foot_height]);
  49. translate([0, 0, lack_foot_dist])
  50. %cube([lack_foot_width, lack_foot_width, lack_foot_height]);
  51. translate([0, 0, (lack_foot_dist - bracket_height) / 2])
  52. bracket();