My self-made 3D-printable designs, mainly in OpenSCAD
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

Display Holder.scad 1.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /*
  2. * Created by:
  3. * Thomas Buck <xythobuz@xythobuz.de> in March 2016
  4. *
  5. * Licensed under the Creative Commons - Attribution license.
  6. */
  7. // -----------------------------------------------------------
  8. $fn = 25;
  9. height = 10;
  10. // works properly from around 40 to 80 degrees
  11. display_angle = 60; // in degrees
  12. // "right", "left", "both" or "none"
  13. hole_position = "right";
  14. hole_diameter = 2.9;
  15. // -----------------------------------------------------------
  16. module holder() {
  17. // front part
  18. translate([10, 0, 0])
  19. difference() {
  20. translate([-13 + (5 * sin(display_angle - 45)),
  21. -6 - (3 * sin(display_angle - 45)), 0])
  22. rotate([0, 0, display_angle])
  23. cube([13, 6, height]);
  24. // cut off top edge
  25. translate([-15, 5, 0])
  26. cube([10, 3, height]);
  27. }
  28. // upper body
  29. translate([0, 0, 0])
  30. cube([10, 5, height]);
  31. // lower body
  32. translate([5, -24, 0])
  33. cube([4, 24, height]);
  34. // upper border
  35. translate([10, 0, 0])
  36. cube([7, 5, height]);
  37. // upper lip
  38. translate([14, -5, 0])
  39. cube([3, 5, height]);
  40. // lower border
  41. translate([9, -24, 0])
  42. cube([3, 3, height]);
  43. }
  44. difference() {
  45. holder();
  46. // insert holes
  47. if ((hole_position == "right") || (hole_position == "both")) {
  48. rotate([0, 90, 90 + display_angle])
  49. translate([-8, -0.5 + (4 * sin(display_angle - 45)), -4])
  50. cylinder(d=hole_diameter, h=10);
  51. }
  52. if ((hole_position == "left") || (hole_position == "both")) {
  53. rotate([0, 90, 90 + display_angle])
  54. translate([-2, -0.5 + (4 * sin(display_angle - 45)), -4])
  55. cylinder(d=hole_diameter, h=10);
  56. }
  57. }