hardKwith2drives.scad 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. module plate(){
  2. difference(){
  3. cube([170,115,2]);
  4. //cube([130,115,2]);
  5. //cube([85,85,2]);
  6. for(x=[1:33],y=[1:22]){
  7. translate([x*5,y*5,0]){
  8. cylinder(5,2,2);
  9. }
  10. }
  11. }
  12. }
  13. module plateX(){
  14. difference(){
  15. cube([110,85,2]);
  16. //cube([130,115,2]);
  17. //cube([85,85,2]);
  18. for(x=[1:31],y=[1:22]){
  19. translate([x*5,y*5,0]){
  20. cylinder(5,2,2);
  21. }
  22. }
  23. }
  24. }
  25. module standoff(){
  26. difference(){
  27. cylinder(6,5,2);
  28. cylinder(6,1,1);
  29. }
  30. }
  31. module standoffLarge(){
  32. difference(){
  33. cylinder(14,5,2);
  34. cylinder(14,1,1);
  35. }
  36. }
  37. module rasPI(){
  38. standoff();
  39. translate([58,0,0]) standoff();
  40. translate([58,49,0]) standoff();
  41. translate([0,49,0]) standoff();
  42. }
  43. module hardKernel(){
  44. standoffLarge();
  45. translate([102,0,0]) standoffLarge();
  46. translate([0,81.4,0]) standoffLarge();
  47. translate([102,88.4,0]) standoffLarge();
  48. }
  49. module hardKernelX(){
  50. standoffLarge();
  51. translate([76,0,0]) standoffLarge();
  52. translate([0,52,0]) standoffLarge();
  53. translate([76,52,0]) standoffLarge();
  54. }
  55. module driveBay(){
  56. difference(){
  57. cube([2.5,100,12]);
  58. translate([-1,10,6.5])driveBayHoles();
  59. }
  60. }
  61. module driveBayHoles(){
  62. rotate([0,90,0])cylinder(5,3,3);
  63. translate([0,76.6,0])rotate([0,90,0])cylinder(5,3,3);
  64. }
  65. plate();
  66. //translate([15,15,0]) rasPI();
  67. translate([50,15,0]) hardKernel();
  68. translate([18,15,0])driveBay();
  69. translate([8.5,15,0])driveBay();
  70. translate([28,15,0])driveBay();
  71. translate([38,15,0])driveBay();
  72. //plateX();
  73. //translate([15,15,0]) hardKernelX();