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