Rev 4073 Rev 4074
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 = 6.5; 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 ]) 51 translate([ 0, -11, wall_thickness/2 + wall_thickness ])
52 rotate([0,0,180]) 52 rotate([0,0,180])
53 write("GPS",h=3,t=1,center=true); 53 write("GPS",h=5,t=2,space= 1.1, font = "Letters.dxf", center=true);
-   54 difference () {
54 cylinder (h = 2*wall_thickness, r= SMA_dia/2, $fn=50); 55 cylinder (h = 2*wall_thickness, r= SMA_dia/2, $fn=50);
-   56 translate([ 0, -SMA_dia/2 , wall_thickness/2 + wall_thickness ])
-   57 cube([SMA_dia, 1 , thickness ], center=true);
-   58 }
55 } 59 }
56   60  
57 translate ([ x_size/2, wall_thickness/2, 2*(height - thickness)/3 + thickness + SMA_dia/2 ]) 61 translate ([ x_size/2, wall_thickness/2, 2*(height - thickness)/3 + thickness + SMA_dia/2 ])
58 rotate([90,0,0]){ 62 rotate([90,0,0]){
59 translate([ 0, -11, wall_thickness/2 + wall_thickness]) 63 translate([ 0, -11, wall_thickness/2 + wall_thickness])
60 rotate([0,0,180]) 64 rotate([0,0,180])
61 write("ANT",h=3,t=1,center=true); 65 write("ANT",h=5,t=2, space= 1.1, font = "Letters.dxf",center=true);
-   66 difference () {
62 cylinder (h = 2*wall_thickness, r= SMA_dia/2, $fn=50); 67 cylinder (h = 2*wall_thickness, r= SMA_dia/2, $fn=50);
-   68 translate([ 0, -SMA_dia/2 , wall_thickness/2 + wall_thickness ])
-   69 cube([SMA_dia, 1 , thickness ], center=true);
-   70 }
63 } 71 }
64 } 72 }
65 } 73 }
66   74  
67   75