Rev 4079 Rev 4085
1 use<Write.scad> 1 use<Write.scad>
2 $fn=100; 2 $fn=100;
3   3  
4 x_size = 20; // horizontal outer size of the aquarium pedestal. 4 x_size = 20; // horizontal outer size of the aquarium pedestal.
5 y_size = 20; // 5 y_size = 20; //
6 mount_hole = 3.5; 6 mount_hole = 3.5;
7 nut_size = 6.8; 7 nut_size = 6.8;
8 SMA_dia = 7.1; 8 SMA_dia = 7.1;
9 thickness = 10; // 9 thickness = 10; //
10 wall_thickness = 3; 10 wall_thickness = 3;
11 height = 55; 11 height = 55;
12   12  
13 mount_hole = 3.7; 13 mount_hole = 3.7;
14 clear = 0.175; 14 clear = 0.175;
15   15  
16 MLAB_grid = 10.16; 16 MLAB_grid = 10.16;
17   17  
18 x_holes = floor(x_size / MLAB_grid); 18 x_holes = floor(x_size / MLAB_grid);
19 y_holes = floor(y_size / MLAB_grid); 19 y_holes = floor(y_size / MLAB_grid);
20   20  
21 MLAB_grid_xoffset = (x_size - (x_holes * MLAB_grid))/2; 21 MLAB_grid_xoffset = (x_size - (x_holes * MLAB_grid))/2;
22 MLAB_grid_yoffset = (y_size - (y_holes * MLAB_grid))/2; 22 MLAB_grid_yoffset = (y_size - (y_holes * MLAB_grid))/2;
23   23  
24 //Top part 24 //Top part
25   25  
26 union () { 26 union () {
27   27  
28 difference () { 28 difference () {
29 cube([x_size, y_size , thickness ]); 29 cube([x_size, y_size , thickness ]);
30   30  
31 // MLAB grid holes 31 // MLAB grid holes
32 grid_list = [for (j = [MLAB_grid_xoffset : MLAB_grid: x_size], i = [MLAB_grid_yoffset :MLAB_grid: y_size]) [j, i] ]; 32 grid_list = [for (j = [MLAB_grid_xoffset : MLAB_grid: x_size], i = [MLAB_grid_yoffset :MLAB_grid: y_size]) [j, i] ];
33 33
34 for (j = grid_list) { 34 for (j = grid_list) {
35 translate (concat(j, [0])) 35 translate (concat(j, [0]))
36 cylinder (h = 3, r= nut_size/2, $fn=6); 36 cylinder (h = 3, r= nut_size/2, $fn=6);
37 translate (concat(j, [3.2])) // one solid layer for slicer (the holes will be pierced on demand ) 37 translate (concat(j, [3.2])) // one solid layer for slicer (the holes will be pierced on demand )
38 cylinder (h = thickness /3, r= mount_hole/2, $fn=30); 38 cylinder (h = thickness /3, r= mount_hole/2, $fn=30);
39 translate (concat(j, [6.0])) 39 translate (concat(j, [6.0]))
40 cylinder (h = 10, r= nut_size/2, $fn=6); 40 cylinder (h = 10, r= nut_size/2, $fn=6);
41 } 41 }
42 }; 42 };
43   43  
44 difference () { 44 difference () {
45   45  
46 translate ([0, -wall_thickness, 0]) 46 translate ([0, -wall_thickness, 0])
47 cube([y_size, wall_thickness , height ]); 47 cube([y_size, wall_thickness , height ]);
48   48  
49 translate ([ x_size/2, wall_thickness/2, (height - thickness)/3 + thickness - SMA_dia/2]) 49 translate ([ x_size/2, wall_thickness/2, (height - thickness)/3 + thickness - SMA_dia/2])
50 rotate([90,0,0]) { 50 rotate([90,0,0]) {
51 translate([ 0, -11, wall_thickness/2 + wall_thickness ]) -  
52 rotate([0,0,180]) -  
53 write("GPS",h=5,t=2,space= 1.1, font = "orbitron.dxf", center=true); -  
54 difference () { 51 difference () {
55 cylinder (h = 2*wall_thickness, r= SMA_dia/2, $fn=50); 52 cylinder (h = 2*wall_thickness, r= SMA_dia/2, $fn=50);
56 translate([ 0, -SMA_dia/2 , wall_thickness/2 + wall_thickness ]) 53 translate([ 0, -SMA_dia/2 , wall_thickness/2 + wall_thickness ])
57 cube([SMA_dia, 1 , thickness ], center=true); 54 cube([SMA_dia, 1 , thickness ], center=true);
58 } 55 }
59 } 56 }
60   57  
61 translate ([ x_size/2, wall_thickness/2, 2*(height - thickness)/3 + thickness + SMA_dia/2 ]) 58 translate ([ x_size/2, wall_thickness/2, 2*(height - thickness)/3 + thickness + SMA_dia/2 ])
62 rotate([90,0,0]){ 59 rotate([90,0,0]){
63 translate([ 0, -11, wall_thickness/2 + wall_thickness]) -  
64 rotate([0,0,180]) -  
65 write("ANT",h=5,t=2, space= 1.1, font = "orbitron.dxf",center=true); -  
66 difference () { 60 difference () {
67 cylinder (h = 2*wall_thickness, r= SMA_dia/2, $fn=50); 61 cylinder (h = 2*wall_thickness, r= SMA_dia/2, $fn=50);
68 translate([ 0, -SMA_dia/2 , wall_thickness/2 + wall_thickness ]) 62 translate([ 0, -SMA_dia/2 , wall_thickness/2 + wall_thickness ])
69 cube([SMA_dia, 1 , thickness ], center=true); 63 cube([SMA_dia, 1 , thickness ], center=true);
70 } 64 }
71 } 65 }
72 } 66 }
-   67  
-   68 translate ([ x_size/2, wall_thickness/2, (height - thickness)/3 + thickness - SMA_dia/2])
-   69 rotate([90,0,0]) {
-   70 translate([ 0, -11, wall_thickness/2 + wall_thickness ])
-   71 rotate([0,0,180])
-   72 write("GPS",h=5,t=1,space= 1.1, font = "orbitron.dxf", center=true);
-   73 }
-   74
-   75 translate ([ x_size/2, wall_thickness/2, 2*(height - thickness)/3 + thickness + SMA_dia/2 ])
-   76 rotate([90,0,0]){
-   77 translate([ 0, -11, wall_thickness/2 + wall_thickness])
-   78 rotate([0,0,180])
-   79 write("ANT",h=5,t=1, space= 1.1, font = "orbitron.dxf",center=true);
-   80 }
-   81
73 } 82 }
74   83  
75   84