Rev Author Line No. Line
4550 jacho 1 $fn=40; // model faces resolution.
2 include <WINDGAUGE02A_D02.scad>
3  
4 //WINDGAUGE02A_D01 //uchyt velky
5 D01_material_pod_zavitem=5;
6 D01_material_za_zavitem=3;
7 D01_material_pred_zavitem=2;
8 D01_delka_tyce=60;
9 D01_sirka_tyce=10;
10  
11 //WINDGAUGE02A_D02 //uchyt na sloup
12 D02_sila_materialu=5;
13 D02_vyska_uchytky=40;
14 D02_prumer_obruby=27; //3/4 trubka
15 D02_delka_celeho_uchytu=60;
16 D02_dotahova_vzdalenost=1.5;
17 D02_prumer_uchytneho_sroubu=4.2;
18 D02_sirka_matky=9.2; //pro M4
19 D02_vyska_matky=3;
20  
21  
22 pocet_der1=10;
23 pocet_der2=3;
24 radidus_hrany=5;
25 vzdalenost_der=10.16;
26 vzdalenost_od_okraje=vzdalenost_der/2;
27 prumer_sroubu=3.4;
28 tloustka_plbase=2;
29 prekryti_der=-2;
30  
31 D02_vyska_boxu_pod_plbase=6;
32 D02_vyska_boxu_nad_plbase=60;
33 D02_zapusteni_spodniho_krytu=10;
34 D02_sila_materialu=1.2;
35 D02_dolerance_na_zasunuti=0.4; //tolerance je pro obě strany
36  
37 drzak_sroubu_hloubka=15;
38 drzak_sroubu_vyska=10;
39 matka_vyska=3;
40  
41  
42  
43  
44  
45 plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der);
46  
47 module plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der){
48  
49 difference () {
50 union () {
51  
52 //uchyt na sloup
53 translate([((pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje+2*radidus_hrany+2*D02_sila_materialu+D02_dolerance_na_zasunuti)/2,-D02_prumer_obruby/2-2.5-D02_dotahova_vzdalenost/2,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-1*radidus_hrany+2*radidus_hrany+D02_zapusteni_spodniho_krytu-D02_vyska_uchytky/2])
54 rotate([0,0,90])
55 WINDGAUGE02A_D02(5);
56  
57  
58 translate([radidus_hrany,radidus_hrany,0])
59 minkowski()
60 {
61 cube([(pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*D02_sila_materialu+D02_dolerance_na_zasunuti,D02_vyska_boxu_pod_plbase+D02_vyska_boxu_nad_plbase+2*D02_sila_materialu,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*radidus_hrany+D02_zapusteni_spodniho_krytu]); // base plastics brick
62 cylinder(r=radidus_hrany,h=0.1);
63 }
64  
65 //válce
66 //vrchní zakulacení 1
67 translate([((pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*D02_sila_materialu+D02_dolerance_na_zasunuti)/2+radidus_hrany,radidus_hrany,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*radidus_hrany+D02_zapusteni_spodniho_krytu])
68  
69 rotate([0,90,0])
70 cylinder(h=(pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*D02_sila_materialu+D02_dolerance_na_zasunuti, r=radidus_hrany, center=true);
71  
72 //vrchní zakulacení 2
73 translate([((pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*D02_sila_materialu+D02_dolerance_na_zasunuti)/2+radidus_hrany,radidus_hrany+D02_vyska_boxu_pod_plbase+D02_vyska_boxu_nad_plbase+2*D02_sila_materialu,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*radidus_hrany+D02_zapusteni_spodniho_krytu])
74  
75 rotate([0,90,0])
76 cylinder(h=(pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*D02_sila_materialu+D02_dolerance_na_zasunuti, r=radidus_hrany, center=true);
77  
78 //vrchní zakulacení 3
79 translate([radidus_hrany,radidus_hrany+(D02_vyska_boxu_pod_plbase+D02_vyska_boxu_nad_plbase+2*D02_sila_materialu)/2,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*radidus_hrany+D02_zapusteni_spodniho_krytu])
80  
81 rotate([0,90,90])
82 cylinder(h=D02_vyska_boxu_pod_plbase+D02_vyska_boxu_nad_plbase+2*D02_sila_materialu, r=radidus_hrany, center=true);
83  
84 //vrchní zakulacení 4
85 translate([radidus_hrany+(pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*D02_sila_materialu+D02_dolerance_na_zasunuti,radidus_hrany+(D02_vyska_boxu_pod_plbase+D02_vyska_boxu_nad_plbase+2*D02_sila_materialu)/2,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*radidus_hrany+D02_zapusteni_spodniho_krytu])
86  
87 rotate([0,90,90])
88 cylinder(h=D02_vyska_boxu_pod_plbase+D02_vyska_boxu_nad_plbase+2*D02_sila_materialu, r=radidus_hrany, center=true);
89  
90 //zakulacení koule
91 //1
92 translate([radidus_hrany+(pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*D02_sila_materialu+D02_dolerance_na_zasunuti,D02_vyska_boxu_pod_plbase+D02_vyska_boxu_nad_plbase+2*D02_sila_materialu+radidus_hrany,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*radidus_hrany+D02_zapusteni_spodniho_krytu])
93  
94  
95 sphere(d = 2*radidus_hrany, center=true, $fn=100);
96  
97 //2
98 translate([radidus_hrany+(pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*D02_sila_materialu+D02_dolerance_na_zasunuti,radidus_hrany,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*radidus_hrany+D02_zapusteni_spodniho_krytu])
99  
100  
101 sphere(d = 2*radidus_hrany, center=true, $fn=100);
102  
103 //3
104 translate([radidus_hrany,radidus_hrany,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*radidus_hrany+D02_zapusteni_spodniho_krytu])
105  
106  
107 sphere(d = 2*radidus_hrany, center=true, $fn=100);
108  
109  
110  
111  
112 //4
113 translate([radidus_hrany,D02_vyska_boxu_pod_plbase+D02_vyska_boxu_nad_plbase+2*D02_sila_materialu+radidus_hrany,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*radidus_hrany+D02_zapusteni_spodniho_krytu])
114  
115 sphere(d = 2*radidus_hrany, center=true, $fn=100);
116  
117  
118 //vrchní kvádr
119 translate([radidus_hrany,radidus_hrany,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*radidus_hrany+D02_zapusteni_spodniho_krytu])
120  
121 cube([(pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*D02_sila_materialu+D02_dolerance_na_zasunuti,D02_vyska_boxu_pod_plbase+D02_vyska_boxu_nad_plbase+2*D02_sila_materialu,radidus_hrany]);
122  
123 }
124  
125 //odečet spodního kvádru
126  
127 translate([D02_sila_materialu+D02_dolerance_na_zasunuti+radidus_hrany,D02_sila_materialu+radidus_hrany,-0.005])
128 minkowski()
129 {
130 cube([(pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany,D02_vyska_boxu_pod_plbase+D02_vyska_boxu_nad_plbase,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*radidus_hrany+D02_zapusteni_spodniho_krytu+0.01]); // base plastics brick
131 cylinder(r=radidus_hrany,h=0.1);
132 }
133  
134 //odečet vrchního kvádru
135  
136 translate([radidus_hrany,radidus_hrany,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*radidus_hrany+D02_zapusteni_spodniho_krytu])
137  
138 cube([(pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*D02_sila_materialu+D02_dolerance_na_zasunuti,D02_vyska_boxu_pod_plbase+D02_vyska_boxu_nad_plbase+2*D02_sila_materialu,radidus_hrany-D02_sila_materialu]);
139  
140 //válce odečet
141 //vrchní zakulacení 1
142 translate([((pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*D02_sila_materialu+D02_dolerance_na_zasunuti)/2+radidus_hrany,radidus_hrany,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*radidus_hrany+D02_zapusteni_spodniho_krytu])
143  
144 rotate([0,90,0])
145 cylinder(h=(pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*D02_sila_materialu+D02_dolerance_na_zasunuti, r=radidus_hrany-D02_sila_materialu, center=true);
146  
147 //vrchní zakulacení 2
148 translate([((pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*D02_sila_materialu+D02_dolerance_na_zasunuti)/2+radidus_hrany,radidus_hrany+D02_vyska_boxu_pod_plbase+D02_vyska_boxu_nad_plbase+2*D02_sila_materialu,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*radidus_hrany+D02_zapusteni_spodniho_krytu])
149  
150 rotate([0,90,0])
151 cylinder(h=(pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*D02_sila_materialu+D02_dolerance_na_zasunuti, r=radidus_hrany-D02_sila_materialu, center=true);
152  
153 //vrchní zakulacení 3
154 translate([radidus_hrany,radidus_hrany+(D02_vyska_boxu_pod_plbase+D02_vyska_boxu_nad_plbase+2*D02_sila_materialu)/2,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*radidus_hrany+D02_zapusteni_spodniho_krytu])
155  
156 rotate([0,90,90])
157 cylinder(h=D02_vyska_boxu_pod_plbase+D02_vyska_boxu_nad_plbase+2*D02_sila_materialu, r=radidus_hrany-D02_sila_materialu, center=true);
158  
159 //vrchní zakulacení 4
160 translate([radidus_hrany+(pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*D02_sila_materialu+D02_dolerance_na_zasunuti,radidus_hrany+(D02_vyska_boxu_pod_plbase+D02_vyska_boxu_nad_plbase+2*D02_sila_materialu)/2,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*radidus_hrany+D02_zapusteni_spodniho_krytu])
161  
162 rotate([0,90,90])
163 cylinder(h=D02_vyska_boxu_pod_plbase+D02_vyska_boxu_nad_plbase+2*D02_sila_materialu, r=radidus_hrany-D02_sila_materialu, center=true);
164  
165 //zakulacení koule odečet
166 //1
167 translate([radidus_hrany+(pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*D02_sila_materialu+D02_dolerance_na_zasunuti,D02_vyska_boxu_pod_plbase+D02_vyska_boxu_nad_plbase+2*D02_sila_materialu+radidus_hrany,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*radidus_hrany+D02_zapusteni_spodniho_krytu])
168  
169  
170 sphere(d = 2*radidus_hrany-2*D02_sila_materialu, center=true, $fn=100);
171  
172 //2
173 translate([radidus_hrany+(pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*D02_sila_materialu+D02_dolerance_na_zasunuti,radidus_hrany,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*radidus_hrany+D02_zapusteni_spodniho_krytu])
174  
175  
176 sphere(d = 2*radidus_hrany-2*D02_sila_materialu, center=true, $fn=100);
177  
178 //3
179 translate([radidus_hrany,radidus_hrany,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*radidus_hrany+D02_zapusteni_spodniho_krytu])
180  
181  
182 sphere(d = 2*radidus_hrany-2*D02_sila_materialu, center=true, $fn=100);
183  
184  
185  
186  
187 //4
188 translate([radidus_hrany,D02_vyska_boxu_pod_plbase+D02_vyska_boxu_nad_plbase+2*D02_sila_materialu+radidus_hrany,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*radidus_hrany+D02_zapusteni_spodniho_krytu])
189  
190 sphere(d = 2*radidus_hrany-2*D02_sila_materialu, center=true, $fn=100);
191  
192 }
193 //lišty na zasunutí plbase
194 translate([D02_sila_materialu,D02_sila_materialu+D02_vyska_boxu_pod_plbase-(2*D02_sila_materialu+tloustka_plbase+D02_dolerance_na_zasunuti)/2,D02_zapusteni_spodniho_krytu])
195  
196 lista();
197  
198  
199 translate([(pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje+2*D02_sila_materialu+D02_dolerance_na_zasunuti-D02_sila_materialu,D02_sila_materialu+D02_vyska_boxu_pod_plbase-(2*D02_sila_materialu+tloustka_plbase+D02_dolerance_na_zasunuti)/2+radidus_hrany,D02_zapusteni_spodniho_krytu])
200 rotate([0,0,180])
201 lista();
202  
203 //drzáky spodního krytu
204  
205 translate([0,(D02_vyska_boxu_pod_plbase+D02_vyska_boxu_nad_plbase+2*D02_sila_materialu+2*radidus_hrany)/2-(prumer_sroubu+3*D02_sila_materialu)/2,D02_zapusteni_spodniho_krytu+matka_vyska])
206  
207 drzak_sroubu();
208  
209  
210 translate([(pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje+2*D02_sila_materialu+D02_dolerance_na_zasunuti,(D02_vyska_boxu_pod_plbase+D02_vyska_boxu_nad_plbase+2*D02_sila_materialu+2*radidus_hrany)/2+(prumer_sroubu+3*D02_sila_materialu)/2,D02_zapusteni_spodniho_krytu+matka_vyska])
211 rotate([0,0,180])
212 drzak_sroubu();
213 }
214  
215 module lista(){
216 translate([0,0,D02_sila_materialu])
217 difference () {
218  
219 union () {
220 cube([D02_sila_materialu,2*D02_sila_materialu+tloustka_plbase+D02_dolerance_na_zasunuti,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*radidus_hrany-2*D02_sila_materialu]);
221  
222  
223 translate([0,(2*D02_sila_materialu+tloustka_plbase+D02_dolerance_na_zasunuti)/2,0])
224  
225 rotate([0,90,90])
226 cylinder(h=2*D02_sila_materialu+tloustka_plbase+D02_dolerance_na_zasunuti, r=D02_sila_materialu, center=true);
227  
228 //vrchni zakulaceni
229 translate([0,(2*D02_sila_materialu+tloustka_plbase+D02_dolerance_na_zasunuti)/2,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*radidus_hrany-2*D02_sila_materialu])
230 rotate([0,90,90])
231 cylinder(h=2*D02_sila_materialu+tloustka_plbase+D02_dolerance_na_zasunuti, r=D02_sila_materialu, center=true);
232 }
233  
234  
235 translate([0,D02_sila_materialu,-D02_sila_materialu])
236 cube([D02_sila_materialu,tloustka_plbase+D02_dolerance_na_zasunuti,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*radidus_hrany-D02_sila_materialu]);
237  
238 }
239  
240  
241 }
242  
243  
244 module drzak_sroubu(){
245 translate([0,0,0])
246 difference () {
247  
248 union () {
249 //spodní kvádr
250 cube([drzak_sroubu_hloubka,prumer_sroubu+3*D02_sila_materialu,drzak_sroubu_vyska]);
251  
252  
253 //vrchní kuzel
254  
255 translate([0,(prumer_sroubu+3*D02_sila_materialu)/2,drzak_sroubu_vyska])
256 cylinder(h=drzak_sroubu_vyska, r1=drzak_sroubu_hloubka, r2=0, center=false);
257 }
258  
259 //otvor na šroub
260 translate([drzak_sroubu_hloubka-prumer_sroubu/2-1.5*D02_sila_materialu,(prumer_sroubu+3*D02_sila_materialu)/2,-0.001])
261 cylinder(h=3*drzak_sroubu_vyska, r=prumer_sroubu/2, center=false);
262  
263 //odstranění kužele
264 difference () {
265 translate([-3/2*drzak_sroubu_hloubka,-3/2*drzak_sroubu_hloubka,0])
266  
267 cube([3*drzak_sroubu_hloubka,3*drzak_sroubu_hloubka,3*drzak_sroubu_vyska]);
268  
269 cube([drzak_sroubu_hloubka,prumer_sroubu+3*D02_sila_materialu,3*drzak_sroubu_vyska]);
270  
271  
272  
273  
274 }
275  
276 }
277 }
278  
279  
280  
281