1 |
|
1 |
|
2 |
pedestal_height = 13; // designed for use the MLAB standard 12mm screws. |
2 |
pedestal_height = 13; // designed for use the MLAB standard 12mm screws. |
3 |
mount_hole = 3.5; |
3 |
mount_hole = 3.5; |
4 |
clear = 0.175; |
4 |
clear = 0.175; |
5 |
nut_size = 6.6; |
5 |
nut_size = 6.6; |
6 |
|
6 |
|
7 |
MLAB_grid_xoffset = 7.36; |
7 |
MLAB_grid_xoffset = 7.36; |
8 |
MLAB_grid_yoffset = 5.61; |
8 |
MLAB_grid_yoffset = 5.61; |
9 |
MLAB_grid = 10.16; |
9 |
MLAB_grid = 10.16; |
10 |
|
10 |
|
11 |
ODROID_holes_offset = 5.25; |
11 |
ODROID_holes_offset = 5.25; |
12 |
ODROID_holes_ydistance = 82; |
- |
|
13 |
ODROID_holes_xdistance = 86; |
12 |
ODROID_holes_xdistance = 86; |
- |
|
13 |
ODROID_holes_ydistance = 82; |
14 |
|
14 |
|
15 |
difference () { |
15 |
difference () { |
16 |
cube([96,92.5,pedestal_height]); // base plastics brick |
16 |
cube([96,92.5,pedestal_height]); // base plastics brick |
17 |
|
17 |
|
18 |
//mount holes for ODROID 86x82mm |
18 |
//mount holes for ODROID 86x82mm |
19 |
|
19 |
|
20 |
translate ([ODROID_holes_offset, ODROID_holes_offset,0]) |
20 |
translate ([ODROID_holes_offset, ODROID_holes_offset,0]) |
21 |
cylinder (h = 6, r= (nut_size+clear)/2, $fn=6); |
21 |
cylinder (h = 6, r= (nut_size+clear)/2, $fn=6); |
22 |
translate ([ODROID_holes_offset, ODROID_holes_offset, 6.2]) // one solid layer for slicer (the holes will be pierced on demand ) |
22 |
translate ([ODROID_holes_offset, ODROID_holes_offset, 6.2]) // one solid layer for slicer (the holes will be pierced on demand ) |
23 |
cylinder (h = pedestal_height, r= mount_hole/2, $fn=10); |
23 |
cylinder (h = pedestal_height, r= mount_hole/2, $fn=10); |
24 |
|
24 |
|
25 |
translate ([ODROID_holes_offset + ODROID_holes_xdistance, ODROID_holes_offset, 0]) |
25 |
translate ([ODROID_holes_offset + ODROID_holes_xdistance, ODROID_holes_offset, 0]) |
26 |
cylinder (h = 6, r= (nut_size+clear)/2, $fn=6); |
26 |
cylinder (h = 6, r= (nut_size+clear)/2, $fn=6); |
27 |
translate ([ODROID_holes_offset + ODROID_holes_xdistance, ODROID_holes_offset, 6.2]) // one solid layer for slicer (the holes will be pierced on demand ) |
27 |
translate ([ODROID_holes_offset + ODROID_holes_xdistance, ODROID_holes_offset, 6.2]) // one solid layer for slicer (the holes will be pierced on demand ) |
28 |
cylinder (h = pedestal_height, r= mount_hole/2, $fn=10); |
28 |
cylinder (h = pedestal_height, r= mount_hole/2, $fn=10); |
29 |
|
29 |
|
30 |
translate ([ODROID_holes_offset, ODROID_holes_offset + ODROID_holes_ydistance,0]) |
30 |
translate ([ODROID_holes_offset, ODROID_holes_offset + ODROID_holes_ydistance,0]) |
31 |
cylinder (h = 6, r= (nut_size+clear)/2, $fn=6); |
31 |
cylinder (h = 6, r= (nut_size+clear)/2, $fn=6); |
32 |
translate ([ODROID_holes_offset, ODROID_holes_offset + ODROID_holes_ydistance, 6.2]) // one solid layer for slicer (the holes will be pierced on demand ) |
32 |
translate ([ODROID_holes_offset, ODROID_holes_offset + ODROID_holes_ydistance, 6.2]) // one solid layer for slicer (the holes will be pierced on demand ) |
33 |
cylinder (h = pedestal_height, r= mount_hole/2, $fn=10); |
33 |
cylinder (h = pedestal_height, r= mount_hole/2, $fn=10); |
34 |
|
34 |
|
35 |
translate ([ODROID_holes_offset + ODROID_holes_xdistance, ODROID_holes_offset + ODROID_holes_ydistance,0]) |
35 |
translate ([ODROID_holes_offset + ODROID_holes_xdistance, ODROID_holes_offset + ODROID_holes_ydistance,0]) |
36 |
cylinder (h = 6, r= (nut_size+clear)/2, $fn=6); |
36 |
cylinder (h = 6, r= (nut_size+clear)/2, $fn=6); |
37 |
translate ([ODROID_holes_offset + ODROID_holes_xdistance, ODROID_holes_offset + ODROID_holes_ydistance, 6.2]) // one solid layer for slicer (the holes will be pierced on demand ) |
37 |
translate ([ODROID_holes_offset + ODROID_holes_xdistance, ODROID_holes_offset + ODROID_holes_ydistance, 6.2]) // one solid layer for slicer (the holes will be pierced on demand ) |
38 |
cylinder (h = pedestal_height, r= mount_hole/2, $fn=10); |
38 |
cylinder (h = pedestal_height, r= mount_hole/2, $fn=10); |
39 |
|
39 |
|
40 |
///////////////////////////////////////// |
40 |
///////////////////////////////////////// |
41 |
// holes for components at the bottom side of the PCB. |
41 |
// holes for components at the bottom side of the PCB. |
42 |
|
42 |
|
43 |
translate ([15.5, 83.1 , pedestal_height - 1.7]) // IO connector |
43 |
translate ([15.5, 84 , pedestal_height - 3]) // IO connector |
44 |
cube([64, 5, 5]); |
44 |
cube([64, 6, 5]); |
45 |
|
45 |
|
46 |
translate ([3, 9, pedestal_height - 3.5]) // USB connector |
46 |
translate ([3, 9, pedestal_height - 3.5]) // USB connector |
47 |
cube([18,31,5]); |
47 |
cube([18,33,5]); |
48 |
|
48 |
|
49 |
|
49 |
|
50 |
translate ([9, 1.1 , pedestal_height - 3.5]) // HOLE for ODROD's USB and Ethernet connectors |
50 |
translate ([9, 1.1 , pedestal_height - 3.5]) // HOLE for ODROD's USB and Ethernet connectors |
51 |
cube([73,27,5]); |
51 |
cube([73,27,5]); |
52 |
|
52 |
|
53 |
translate ([66, 0 , pedestal_height - 3.5]) // HOLE for ODROD's Passive components |
53 |
translate ([66, 0 , pedestal_height - 3.5]) // HOLE for ODROD's Passive components |
54 |
cube([20,79,5]); |
54 |
cube([20,79,5]); |
55 |
|
55 |
|
56 |
translate ([0, 52 , pedestal_height - 3.5]) // Jack connectors |
56 |
translate ([0, 54 , pedestal_height - 3]) // Jack connectors |
57 |
cube([30,20,5]); |
57 |
cube([30,28.5,5]); |
58 |
|
58 |
|
59 |
|
59 |
|
60 |
translate ([22, 43 , pedestal_height - 3.5]) // eMMc Card |
60 |
translate ([22, 43 , pedestal_height - 3.5]) // eMMc Card |
61 |
cube([27,18,5]); |
61 |
cube([27,18,5]); |
62 |
|
62 |
|
63 |
|
63 |
|
64 |
/* |
64 |
/* |
65 |
translate ([37,3, pedestal_height - 3]) // ODROID serial connector |
65 |
translate ([37,3, pedestal_height - 3]) // ODROID serial connector |
66 |
cube([10,2,5]); |
66 |
cube([10,2,5]); |
67 |
|
67 |
|
68 |
|
68 |
|
69 |
translate ([19,10, pedestal_height - 5]) // Heatsink mount holes |
69 |
translate ([19,10, pedestal_height - 5]) // Heatsink mount holes |
70 |
cylinder (h = 6, r= 3, $fn=10); |
70 |
cylinder (h = 6, r= 3, $fn=10); |
71 |
translate ([39,61.6, pedestal_height - 5]) // Heatsink mount holes |
71 |
translate ([39,61.6, pedestal_height - 5]) // Heatsink mount holes |
72 |
cylinder (h = 6, r= 3, $fn=10); |
72 |
cylinder (h = 6, r= 3, $fn=10); |
73 |
*/ |
73 |
*/ |
74 |
|
74 |
|
75 |
//////////////////////////////////////// |
75 |
//////////////////////////////////////// |
76 |
|
76 |
|
77 |
// MLAB grid holes |
77 |
// MLAB grid holes |
78 |
grid_list = [for (j = [MLAB_grid_xoffset : MLAB_grid: 90], i = [MLAB_grid_yoffset :MLAB_grid: 95]) if (!(j>80 && i>80) && !(j<10 && i<10) && !(j<10 && i>80) && !(j>80 && i<10) ) [j, i] ]; |
78 |
grid_list = [for (j = [MLAB_grid_xoffset : MLAB_grid: 90], i = [MLAB_grid_yoffset :MLAB_grid: 95]) if (!(j>80 && i>80) && !(j<10 && i<10) && !(j<10 && i>80) && !(j>80 && i<10) ) [j, i] ]; |
79 |
for (j = grid_list) { |
79 |
for (j = grid_list) { |
80 |
translate (concat(j, [0])) |
80 |
translate (concat(j, [0])) |
81 |
cylinder (h = 3, r= (nut_size+clear)/2, $fn=6); |
81 |
cylinder (h = 3, r= (nut_size+clear)/2, $fn=6); |
82 |
translate (concat(j, [3.2])) // one solid layer for slicer (the holes will be pierced on demand ) |
82 |
translate (concat(j, [3.2])) // one solid layer for slicer (the holes will be pierced on demand ) |
83 |
cylinder (h = pedestal_height /3, r= mount_hole/2, $fn=10); |
83 |
cylinder (h = pedestal_height /3, r= mount_hole/2, $fn=10); |
84 |
translate (concat(j, [6.0])) |
84 |
translate (concat(j, [6.0])) |
85 |
cylinder (h = 10, r= nut_size/2, $fn=6); |
85 |
cylinder (h = 10, r= nut_size/2, $fn=6); |
86 |
} |
86 |
} |
87 |
|
87 |
|
88 |
|
88 |
|
89 |
//// lightening central holes |
89 |
//// lightening central holes |
90 |
|
90 |
|
91 |
translate ([12.5,10, 0]) // ODROIDs passive components hole. |
91 |
translate ([12.5,10, 0]) // ODROIDs passive components hole. |
92 |
cube([71,22,pedestal_height ]); |
92 |
cube([71,22,pedestal_height ]); |
93 |
|
93 |
|
94 |
translate ([12.5,42, 0]) // ODROIDs passive components hole. |
94 |
translate ([12.5,42, 0]) // ODROIDs passive components hole. |
95 |
cube([71,40,pedestal_height ]); |
95 |
cube([71,40,pedestal_height ]); |
96 |
|
96 |
|
97 |
} |
97 |
} |
98 |
|
98 |
|
99 |
|
99 |
|