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  
41 translate ([7i90HD_holes_offset + 7i90HD_holes_xdistance, 7i90HD_holes_offset + 7i90HD_holes_ydistance,0])
42 cylinder (h = 6, r= (nut_size+clear)/2, $fn=6);
43 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 )
44 cylinder (h = pedestal_height, r= mount_hole/2, $fn=10);
45  
46 /////////////////////////////////////////
47 // holes for components at the bottom side of the PCB.
48  
49 translate ([0, 17 , pedestal_height - 3]) // RS422 IO connector
50 cube([17, 18, 5]);
51  
52 translate ([1, 42 , pedestal_height - 3]) // W3 jumper
53 cube([3, 8, 5]);
54  
55 translate ([49, 2 , pedestal_height - 3]) // W6 jumper
56 cube([3, 8, 5]);
57  
58 translate ([49, 91 , pedestal_height - 3]) // W1 jumper
59 cube([3, 8, 5]);
60  
61 translate ([57, 18 , pedestal_height - 3]) // P1 jumper
62 cube([6, 65, 5]);
63  
64 translate ([76, 18 , pedestal_height - 3]) // P2 jumper
65 cube([6, 65, 5]);
66  
67 translate ([93.5, 18 , pedestal_height - 3]) // P3 jumper
68 cube([6, 65, 5]);
69  
70 ////////////////////////////////////////
71  
72 // MLAB grid holes
73 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 ])
74 if (!(j>10 && i>20 && j<90 && i<90)) // exception for board mount holes
75 [j, i] ];
76 for (j = grid_list) {
77 translate (concat(j, [0]))
78 cylinder (h = 3, r= (nut_size+clear)/2, $fn=6);
79 translate (concat(j, [3.2])) // one solid layer for slicer (the holes will be pierced on demand )
80 cylinder (h = pedestal_height /3, r= mount_hole/2, $fn=10);
81 translate (concat(j, [6.0]))
82 cylinder (h = 10, r= nut_size/2, $fn=6);
83 }
84  
85  
86 //// lightening central holes
87  
88 translate ([11,15, 0])
89 cube([45,72,pedestal_height ]);
90  
91 // translate ([12.5,42, 0])
92 // cube([71,40,pedestal_height ]);
93  
94 }
95  
96