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.

Fan Feet.scad 1.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /*
  2. * Created by:
  3. * Thomas Buck <xythobuz@xythobuz.de> in April 2016
  4. *
  5. * Licensed under the Creative Commons - Attribution license.
  6. */
  7. // -----------------------------------------------------------
  8. fan_width = 120; // [1:200]
  9. fan_depth = 25.5; // [1:100]
  10. hole_diameter = 4; // [1:10]
  11. hole_distance = 7.5; // in x and z direction
  12. wall_size = 5; // [1:10]
  13. height = 20; // [1:100]
  14. width = 25; // [1:100]
  15. // minimum: fan_depth + (2 * wall_size)
  16. base_depth = 60; // [1:100]
  17. // -----------------------------------------------------------
  18. /* [Hidden] */
  19. $fn = 15;
  20. depth = fan_depth + (2 * wall_size);
  21. // -----------------------------------------------------------
  22. module foot_walls() {
  23. // bottom wall
  24. translate([0, -(base_depth - depth) / 2, 0])
  25. cube([width, base_depth, wall_size]);
  26. // outer wall
  27. translate([0, 0, wall_size])
  28. cube([wall_size, depth, height - wall_size]);
  29. // back wall
  30. translate([wall_size, 0, wall_size])
  31. cube([width - wall_size, wall_size, height - wall_size]);
  32. // front wall
  33. translate([wall_size, fan_depth + wall_size, wall_size])
  34. cube([width - wall_size, wall_size, height - wall_size]);
  35. }
  36. module foot() {
  37. difference() {
  38. // solid parts
  39. foot_walls();
  40. // cut out screw hole
  41. translate([wall_size + hole_distance, depth + (wall_size / 2), wall_size + hole_distance])
  42. rotate([90, 0, 0])
  43. cylinder(d = hole_diameter, h = depth + wall_size);
  44. }
  45. }
  46. // -----------------------------------------------------------
  47. // Visualize fan
  48. %translate([wall_size, wall_size, wall_size])
  49. cube([fan_width, fan_depth, fan_width]);
  50. foot();
  51. // Visualize second foot (print twice!)
  52. %translate([fan_width + (2 * wall_size), depth, 0])
  53. rotate([0, 0, 180])
  54. foot();