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