Rev 4157 Rev 4159
1 use <./../../../../../Library/Graphics/MLAB_logo.scad> 1 use <./../../../../../Library/Graphics/MLAB_logo.scad>
2   2  
3 pedestal_height = 13; // designed for use the MLAB standard 12mm screws. 3 pedestal_height = 13; // designed for use the MLAB standard 12mm screws.
4 mount_hole = 3.5; 4 mount_hole = 3.5;
5 clear = 0.175; 5 clear = 0.175;
6 nut_size = 6.6; 6 nut_size = 6.6;
7   7  
8 MLAB_grid_xoffset = 3.6; 8 MLAB_grid_xoffset = 3.6;
9 MLAB_grid_yoffset = 1.5; 9 MLAB_grid_yoffset = 1.5;
10   10  
11 difference () { 11 difference () {
12 // translate ([-1,-16,0]) 12 // translate ([-1,-16,0])
13 cube([58,87,pedestal_height]); 13 cube([58,87,pedestal_height]);
14   14  
15 //mount holes for ODROID 15 //mount holes for ODROID
16   16  
17 translate ([4.5, 4.5,0]) 17 translate ([4.5, 4.5,0])
18 cylinder (h = 6, r= (nut_size+clear)/2, $fn=6); 18 cylinder (h = 6, r= (nut_size+clear)/2, $fn=6);
19 translate ([4.5, 4.5, 6.2]) // one solid layer for slicer (the holes will be pierced on demand ) 19 translate ([4.5, 4.5, 6.2]) // one solid layer for slicer (the holes will be pierced on demand )
20 cylinder (h = pedestal_height, r= mount_hole/2, $fn=10); 20 cylinder (h = pedestal_height, r= mount_hole/2, $fn=10);
21   21  
22 translate ([4.5 + 49, 4.5,0]) 22 translate ([4.5 + 49, 4.5,0])
23 cylinder (h = 6, r= (nut_size+clear)/2, $fn=6); 23 cylinder (h = 6, r= (nut_size+clear)/2, $fn=6);
24 translate ([4.5 + 49, 4.5, 6.2]) // one solid layer for slicer (the holes will be pierced on demand ) 24 translate ([4.5 + 49, 4.5, 6.2]) // one solid layer for slicer (the holes will be pierced on demand )
25 cylinder (h = pedestal_height, r= mount_hole/2, $fn=10); 25 cylinder (h = pedestal_height, r= mount_hole/2, $fn=10);
26   26  
27 translate ([4.5, 4.5 + 58,0]) 27 translate ([4.5, 4.5 + 58,0])
28 cylinder (h = 6, r= (nut_size+clear)/2, $fn=6); 28 cylinder (h = 6, r= (nut_size+clear)/2, $fn=6);
29 translate ([4.5, 4.5 + 58, 6.2]) // one solid layer for slicer (the holes will be pierced on demand ) 29 translate ([4.5, 4.5 + 58, 6.2]) // one solid layer for slicer (the holes will be pierced on demand )
30 cylinder (h = pedestal_height, r= mount_hole/2, $fn=10); 30 cylinder (h = pedestal_height, r= mount_hole/2, $fn=10);
31   31  
32 translate ([4.5 + 49, 4.5 + 58,0]) 32 translate ([4.5 + 49, 4.5 + 58,0])
33 cylinder (h = 6, r= (nut_size+clear)/2, $fn=6); 33 cylinder (h = 6, r= (nut_size+clear)/2, $fn=6);
34 translate ([4.5 + 49, 4.5 + 58, 6.2]) // one solid layer for slicer (the holes will be pierced on demand ) 34 translate ([4.5 + 49, 4.5 + 58, 6.2]) // one solid layer for slicer (the holes will be pierced on demand )
35 cylinder (h = pedestal_height, r= mount_hole/2, $fn=10); 35 cylinder (h = pedestal_height, r= mount_hole/2, $fn=10);
36   36  
37 //////////////////////////////////// 37 ////////////////////////////////////
38 translate ([1, 66 , pedestal_height - 4.5]) // HOLE for ODROD's USB and Ethernet connectors 38 translate ([1, 66 , pedestal_height - 4.5]) // HOLE for ODROD's USB and Ethernet connectors
39 cube([54,15.5,5]); 39 cube([54,15.5,5]);
40   40  
41 translate ([15, 14 , pedestal_height - 3.5]) // HOLE for ODROD's Passive components 41 translate ([15, 14 , pedestal_height - 3.5]) // HOLE for ODROD's Passive components
42 cube([35.5,46,5]); 42 cube([35.5,46,5]);
43   43  
44 translate ([6, 31.5 , pedestal_height - 3.5]) // eMMc Card 44 translate ([6, 31.5 , pedestal_height - 3.5]) // eMMc Card
45 cube([14,20,5]); 45 cube([14,20,5]);
46   46  
47 translate ([19, 54 , pedestal_height - 3.5]) // SD Card 47 translate ([19, 54 , pedestal_height - 3.5]) // SD Card
48 cube([30,20,5]); 48 cube([30,20,5]);
49   49  
50 translate ([2, 8 , pedestal_height - 1.7]) // IO connector 50 translate ([2, 8 , pedestal_height - 1.7]) // IO connector
51 cube([4.5,50.5,5]); 51 cube([4.5,50.5,5]);
52   52  
53 translate ([37,3, pedestal_height - 3]) // ODROID serial connector 53 translate ([37,3, pedestal_height - 3]) // ODROID serial connector
54 cube([10,2,5]); 54 cube([10,2,5]);
55 55
56 rotate([20,0,0]) 56 rotate([30,0,0])
57 translate ([15,4, 0.3]) // ODROID eMMC adapter pocket 57 translate ([15,5.8, -3.0]) // ODROID eMMC adapter pocket
58 cube([25,2,15]); 58 cube([25,2,15]);
59   59  
60 translate ([9,3.5, pedestal_height - 3]) // ODROID IR receiver 60 translate ([9,3.5, pedestal_height - 3]) // ODROID IR receiver
61 cube([7.5,2,5]); 61 cube([7.5,2,5]);
62   62  
63 translate ([19,10, pedestal_height - 5]) // Heatsink mount holes 63 translate ([19,10, pedestal_height - 5]) // Heatsink mount holes
64 cylinder (h = 6, r= 3, $fn=10); 64 cylinder (h = 6, r= 3, $fn=10);
65 translate ([39,61.6, pedestal_height - 5]) // Heatsink mount holes 65 translate ([39,61.6, pedestal_height - 5]) // Heatsink mount holes
66 cylinder (h = 6, r= 3, $fn=10); 66 cylinder (h = 6, r= 3, $fn=10);
67   67  
68   68  
69 //////////////////////////////////////// 69 ////////////////////////////////////////
70   70  
71 // MLAB grid holes 71 // MLAB grid holes
72   72  
73 for (j = [0 : 5], i = [1 : 5]) { 73 for (j = [0 : 5], i = [1 : 5]) {
74 translate ([MLAB_grid_xoffset + j*10.16, MLAB_grid_yoffset + i*10.16,0]) 74 translate ([MLAB_grid_xoffset + j*10.16, MLAB_grid_yoffset + i*10.16,0])
75 cylinder (h = 3, r= (nut_size+clear)/2, $fn=6); 75 cylinder (h = 3, r= (nut_size+clear)/2, $fn=6);
76 translate ([MLAB_grid_xoffset + j*10.16, MLAB_grid_yoffset + i*10.16, 3.2]) // one solid layer for slicer (the holes will be pierced on demand ) 76 translate ([MLAB_grid_xoffset + j*10.16, MLAB_grid_yoffset + i*10.16, 3.2]) // one solid layer for slicer (the holes will be pierced on demand )
77 cylinder (h = pedestal_height /3, r= mount_hole/2, $fn=10); 77 cylinder (h = pedestal_height /3, r= mount_hole/2, $fn=10);
78 translate ([MLAB_grid_xoffset + j*10.16, MLAB_grid_yoffset + i*10.16, 6.0]) 78 translate ([MLAB_grid_xoffset + j*10.16, MLAB_grid_yoffset + i*10.16, 6.0])
79 cylinder (h = 10, r= nut_size/2, $fn=6); 79 cylinder (h = 10, r= nut_size/2, $fn=6);
80 } 80 }
81   81  
82 for (j = [0 : 5], i = [7 : 8]) { 82 for (j = [0 : 5], i = [7 : 8]) {
83 translate ([MLAB_grid_xoffset + j*10.16, MLAB_grid_yoffset + i*10.16,0]) 83 translate ([MLAB_grid_xoffset + j*10.16, MLAB_grid_yoffset + i*10.16,0])
84 cylinder (h = 3, r= (nut_size+clear)/2, $fn=6); 84 cylinder (h = 3, r= (nut_size+clear)/2, $fn=6);
85 translate ([MLAB_grid_xoffset + j*10.16, MLAB_grid_yoffset + i*10.16, 3.2]) // one solid layer for slicer (the holes will be pierced on demand ) 85 translate ([MLAB_grid_xoffset + j*10.16, MLAB_grid_yoffset + i*10.16, 3.2]) // one solid layer for slicer (the holes will be pierced on demand )
86 cylinder (h = pedestal_height /3, r= mount_hole/2, $fn=10); 86 cylinder (h = pedestal_height /3, r= mount_hole/2, $fn=10);
87 translate ([MLAB_grid_xoffset + j*10.16, MLAB_grid_yoffset + i*10.16, 6.0]) 87 translate ([MLAB_grid_xoffset + j*10.16, MLAB_grid_yoffset + i*10.16, 6.0])
88 cylinder (h = 10, r= nut_size/2, $fn=6); 88 cylinder (h = 10, r= nut_size/2, $fn=6);
89 } 89 }
90   90  
91 91
92 92
93 93
94 //// lightening central holes 94 //// lightening central holes
95 95
96 translate ([9,16, 0]) // ODROIDs passive components hole. 96 translate ([9,16, 0]) // ODROIDs passive components hole.
97 cube([40,43,pedestal_height ]); 97 cube([40,43,pedestal_height ]);
98 98
99 translate ([10,67, 0]) // ODROIDs passive components hole. 99 translate ([10,67, 0]) // ODROIDs passive components hole.
100 cube([38,11,pedestal_height ]); 100 cube([38,11,pedestal_height ]);
101 101
102 // MLAB logo on the side 102 // MLAB logo on the side
103 union (){ 103 union (){
104 translate ([29,0.5, 6.5]) // ODROIDs passive components hole. 104 translate ([29,0.5, 6.5]) // ODROIDs passive components hole.
105 rotate ([90,0,0]) 105 rotate ([90,0,0])
106 scale(v = [0.4, 0.4, 0.4]) 106 scale(v = [0.4, 0.4, 0.4])
107 MLAB_logo_long(); 107 MLAB_logo_long();
108 } 108 }
109 } 109 }