Rev Author Line No. Line
4409 kaklik 1  
2 x_holes = 6;
3 y_holes = 8;
4 pedestal_height = 9; // designed for use the MLAB standard 20mm screws.
5  
6 MLAB_grid = 10.16;
7 thickness = 1; // thickness of bottom belt
8 pile_radius = 4; // radius of pile around screw
9 x_size = x_holes * MLAB_grid ;
10 y_size = y_holes * MLAB_grid ;
11 mount_hole = 3.5;
12 //nut_size = 6.8; //size suitable for PLA material
13 nut_size = 6.7; //size suitable for ABS material
14 clear = 0.175;
15  
16  
17  
18  
4519 kaklik 19  
4409 kaklik 20 MLAB_grid_xoffset = MLAB_grid/2;
21 MLAB_grid_yoffset = MLAB_grid/2;
22  
23 grid_list = [for (j = [MLAB_grid_xoffset : MLAB_grid: x_size], i = [MLAB_grid_yoffset :MLAB_grid: y_size])
24 if ((j>(x_size-10) && i>(y_size-10)) || (j<10 && i<10) || (j<10 && i>(y_size-10)) || (j>(x_size-10) && i<10) ) [j, i] ];
25  
26  
4522 kaklik 27 //------------ Safety grid parameters---------------------------
4519 kaklik 28  
29 nY = 8;
30 nX = 6;
31  
32  
33 meshX=x_size-4*pile_radius;
34 meshY=y_size-4*pile_radius;
35  
36 // width of solid part of grid
37 meshSolid=1.2;
38  
39 meshSpaceX = (meshX - meshSolid*nX)/nX;
40 meshSpaceY = (meshY - meshSolid*nY)/nY;
41  
42  
4409 kaklik 43 difference () {
44 union () {
45 for (j = grid_list) {
46 translate (concat(j, [0]))
47 cylinder (h = pedestal_height, r= pile_radius, $fn=20);
48 }
49  
50 translate ([MLAB_grid_xoffset , MLAB_grid_yoffset , 0])
51 minkowski() {
52 cube([x_size - 2*(MLAB_grid/2 - pile_radius) - 2*pile_radius, y_size - 2*(MLAB_grid/2 - pile_radius) - 2*pile_radius, thickness]); // base plastics brick
53 cylinder(r=pile_radius,h=0.1);
54 }
55 }
56  
57 translate ([2*pile_radius, 2*pile_radius, 0]) // central hole in module support
58 cube([x_size-4*pile_radius, y_size-4*pile_radius, 2*thickness]);
59  
60 // MLAB grid holes
61 for (j = grid_list) {
62 translate (concat(j, [0]))
63 cylinder (h = 3, r= (nut_size+clear)/2, $fn=6);
64 translate (concat(j, [3.2])) // one solid layer for slicer (the holes will be pierced on demand )
65 cylinder (h = pedestal_height, r= mount_hole/2, $fn=10);
66 }
4519 kaklik 67  
68  
4409 kaklik 69 }
70  
4519 kaklik 71 translate ([2*pile_radius, 2*pile_radius, 0]) // central hole in module support
72 union()
73 {
74 for (i=[1:nX-1]) {
75 translate([i*(meshSolid+meshSpaceX) - meshSolid/2,0,0]) cube(size=[meshSolid, meshY, thickness],center=false);
76 }
77  
78 for (i=[1:nY-1]) {
79 translate([0,i*(meshSolid+meshSpaceY) - meshSolid/2,0]) cube(size=[meshX, meshSolid, thickness],center=false);
80  
81 }
82 }
83