Advertisement
Guest User

die.scad

a guest
Nov 27th, 2021
19
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. $fn = $preview ? 32 : 64;
  2.  
  3. w = 20; //width of die
  4. r = w/2; //radius of die
  5. dr = 1; //radius of dots
  6. dd = 1/sqrt(2); //depth of dots
  7. dm = 5; //margin between dots and edge of die
  8. dc = r-dm; //distance from center of face to dots on edge
  9. er = 1.5; //radius of rounded edges and corners
  10.  
  11. intersection() {
  12. minkowski() {
  13. intersection() {
  14. cube(w-er*2, true);
  15. sphere((r-er)*1.5, $fn=$preview ? 64 : 128);
  16. }
  17. sphere(er, $fn=$preview ? 32 : 64);
  18. }
  19. difference() {
  20. cube(w, true);
  21.  
  22. dr2 = (dr*dr + dd*dd) / (2*dd);
  23. r2 = r + dr2 - dd;
  24.  
  25. union() {
  26. //1
  27. translate([0, 0, r2])sphere(dr2);
  28.  
  29. //2
  30. translate([dc, r2, dc])sphere(dr2);
  31. translate([-dc, r2, -dc])sphere(dr2);
  32.  
  33. //3
  34. translate([-r2, 0, 0])sphere(dr2);
  35. translate([-r2, -dc, dc])sphere(dr2);
  36. translate([-r2, dc, -dc])sphere(dr2);
  37.  
  38. //4
  39. translate([r2, dc, dc])sphere(dr2);
  40. translate([r2, dc, -dc])sphere(dr2);
  41. translate([r2, -dc, dc])sphere(dr2);
  42. translate([r2, -dc, -dc])sphere(dr2);
  43.  
  44. //5
  45. translate([0, -r2, 0])sphere(dr2);
  46. translate([dc, -r2, dc])sphere(dr2);
  47. translate([dc, -r2, -dc])sphere(dr2);
  48. translate([-dc, -r2, dc])sphere(dr2);
  49. translate([-dc, -r2, -dc])sphere(dr2);
  50.  
  51. //6
  52. translate([-dc, -dc, -r2])sphere(dr2);
  53. translate([-dc, dc, -r2])sphere(dr2);
  54. translate([dc, -dc, -r2])sphere(dr2);
  55. translate([dc, dc, -r2])sphere(dr2);
  56. translate([0, -dc, -r2])sphere(dr2);
  57. translate([0, dc, -r2])sphere(dr2);
  58. }
  59. }
  60. }
  61.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement