Rev Author Line No. Line
4484 kaklik 1  
2 pedestal_height = 13; // designed for use the MLAB standard 12mm screws.
3 mount_hole = 3.5;
4 clear = 0.175;
5 nut_size = 6.6;
6 inch = 25.4; // dimensions of mesa card are documented in inches therefore a conversion is needed.
7 MLAB_grid = 10.16;
8 x_size = 4 * inch;
9 y_size = 4 * inch;
10  
11 x_holes = floor((x_size - 10) / MLAB_grid);
12 y_holes = floor((y_size - 20) / MLAB_grid);
13  
14 MLAB_grid_xoffset = (x_size - (x_holes * MLAB_grid))/2;
15 MLAB_grid_yoffset = (y_size - (y_holes * MLAB_grid))/2;
16  
17 7i90HD_holes_offset = 0.15 * inch;
18 7i90HD_holes_xdistance = 3.7 * inch;
19 7i90HD_holes_ydistance = 3.7 * inch;
20  
21 difference () {
22 cube([x_size, y_size,pedestal_height]); // base plastics brick
23  
24 //mount holes for 7i90HD
25  
26 translate ([7i90HD_holes_offset, 7i90HD_holes_offset,0])
27 cylinder (h = 6, r= (nut_size+clear)/2, $fn=6);
28 translate ([7i90HD_holes_offset, 7i90HD_holes_offset, 6.2]) // one solid layer for slicer (the holes will be pierced on demand )
29 cylinder (h = pedestal_height, r= mount_hole/2, $fn=10);
30  
31 translate ([7i90HD_holes_offset + 7i90HD_holes_xdistance, 7i90HD_holes_offset, 0])
32 cylinder (h = 6, r= (nut_size+clear)/2, $fn=6);
33 translate ([7i90HD_holes_offset + 7i90HD_holes_xdistance, 7i90HD_holes_offset, 6.2]) // one solid layer for slicer (the holes will be pierced on demand )
34 cylinder (h = pedestal_height, r= mount_hole/2, $fn=10);
35  
36 translate ([7i90HD_holes_offset, 7i90HD_holes_offset + 7i90HD_holes_ydistance,0])
37 cylinder (h = 6, r= (nut_size+clear)/2, $fn=6);
38 translate ([7i90HD_holes_offset, 7i90HD_holes_offset + 7i90HD_holes_ydistance, 6.2]) // one solid layer for slicer (the holes will be pierced on demand )
39 cylinder (h = pedestal_height, r= mount_hole/2, $fn=10);
40  
4489 kaklik 41 translate ([2.35 * inch, 7i90HD_holes_offset + 7i90HD_holes_ydistance,0]) // middle holes
42 cylinder (h = 6, r= (nut_size+clear)/2, $fn=6);
43 translate ([2.35 * inch, 7i90HD_holes_offset + 7i90HD_holes_ydistance, 6.2]) // one solid layer for slicer (the holes will be pierced on demand )
44 cylinder (h = pedestal_height, r= mount_hole/2, $fn=10);
45  
46 translate ([2.35 * inch, 7i90HD_holes_offset, 0]) // middle holes
47 cylinder (h = 6, r= (nut_size+clear)/2, $fn=6);
48 translate ([2.35 * inch, 7i90HD_holes_offset, 6.2]) // one solid layer for slicer (the holes will be pierced on demand )
49 cylinder (h = pedestal_height, r= mount_hole/2, $fn=10);
50  
4484 kaklik 51 translate ([7i90HD_holes_offset + 7i90HD_holes_xdistance, 7i90HD_holes_offset + 7i90HD_holes_ydistance,0])
52 cylinder (h = 6, r= (nut_size+clear)/2, $fn=6);
53 translate ([7i90HD_holes_offset + 7i90HD_holes_xdistance, 7i90HD_holes_offset + 7i90HD_holes_ydistance, 6.2]) // one solid layer for slicer (the holes will be pierced on demand )
54 cylinder (h = pedestal_height, r= mount_hole/2, $fn=10);
55  
56 /////////////////////////////////////////
57 // holes for components at the bottom side of the PCB.
58  
59 translate ([0, 17 , pedestal_height - 3]) // RS422 IO connector
60 cube([17, 18, 5]);
61  
62 translate ([1, 42 , pedestal_height - 3]) // W3 jumper
63 cube([3, 8, 5]);
64  
65 translate ([49, 2 , pedestal_height - 3]) // W6 jumper
66 cube([3, 8, 5]);
67  
68 translate ([49, 91 , pedestal_height - 3]) // W1 jumper
69 cube([3, 8, 5]);
70  
71 translate ([57, 18 , pedestal_height - 3]) // P1 jumper
72 cube([6, 65, 5]);
73  
74 translate ([76, 18 , pedestal_height - 3]) // P2 jumper
75 cube([6, 65, 5]);
76  
77 translate ([93.5, 18 , pedestal_height - 3]) // P3 jumper
78 cube([6, 65, 5]);
79  
4489 kaklik 80 translate ([4, 9 , pedestal_height - 3]) // P7 Power connector
81 cube([4, 7, 5]);
82  
83 translate ([5, 56 , pedestal_height - 3]) // P4 interface connector
84 cube([6, 34, 5]);
4484 kaklik 85 ////////////////////////////////////////
86  
87 // MLAB grid holes
88 grid_list = [for (j = [MLAB_grid_xoffset : MLAB_grid: x_size - MLAB_grid_xoffset], i = [MLAB_grid_yoffset :MLAB_grid: y_size - MLAB_grid_yoffset ])
89 if (!(j>10 && i>20 && j<90 && i<90)) // exception for board mount holes
90 [j, i] ];
91 for (j = grid_list) {
92 translate (concat(j, [0]))
93 cylinder (h = 3, r= (nut_size+clear)/2, $fn=6);
94 translate (concat(j, [3.2])) // one solid layer for slicer (the holes will be pierced on demand )
95 cylinder (h = pedestal_height /3, r= mount_hole/2, $fn=10);
96 translate (concat(j, [6.0]))
97 cylinder (h = 10, r= nut_size/2, $fn=6);
98 }
99  
100  
101 //// lightening central holes
102  
103 translate ([11,15, 0])
104 cube([45,72,pedestal_height ]);
105  
106 // translate ([12.5,42, 0])
107 // cube([71,40,pedestal_height ]);
108  
109 }
110  
111