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.

i3-button.scad 1.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. front_width = 20;
  2. front_height = 31;
  3. button_hole = 16.5;
  4. button_off = 3;
  5. wall_size = 5;
  6. hole_dist = 25;
  7. hole_size = 3.2;
  8. mount_wall = 2.0;
  9. mount_height = 32;
  10. mount_width_in = 4;
  11. mount_width_out = 20;
  12. mount_button_off_x = 10;
  13. mount_button_off_y = 5;
  14. support_height = 7;
  15. $fn = 15;
  16. module button() {
  17. difference() {
  18. cube([front_width, wall_size, front_height]);
  19. translate([front_width / 2, wall_size + 1, button_off + (button_hole / 2)])
  20. rotate([90, 0, 0])
  21. cylinder(d = button_hole, h = wall_size + 2);
  22. }
  23. }
  24. module mount() {
  25. difference() {
  26. cube([mount_width_in + mount_width_out, mount_height, mount_wall]);
  27. translate([mount_width_in, (mount_height - hole_dist) / 2, -1])
  28. union() {
  29. cylinder(d = hole_size, h = mount_wall + 2);
  30. translate([0, hole_dist, 0])
  31. cylinder(d = hole_size, h = mount_wall + 2);
  32. }
  33. }
  34. }
  35. button();
  36. translate([-mount_width_in - mount_button_off_x, mount_button_off_y, front_height - mount_wall])
  37. mount();
  38. translate([0, 0, front_height - support_height])
  39. cube([mount_width_out - mount_button_off_x, mount_button_off_y + mount_height, support_height]);