1 |
$fn=40; // model faces resolution. |
1 |
$fn=40; // model faces resolution. |
2 |
include <../configuration.scad> |
2 |
include <../configuration.scad> |
3 |
|
3 |
|
4 |
|
4 |
|
5 |
include <polyScrewThread_r1.scad> |
5 |
include <polyScrewThread_r1.scad> |
6 |
|
6 |
|
7 |
PI=3.141592; |
7 |
PI=3.141592; |
8 |
|
8 |
|
9 |
|
9 |
|
10 |
//Držák ložisek, rotoru, senzoru |
10 |
//Držák ložisek, rotoru, senzoru |
11 |
|
11 |
|
12 |
module WINDGAUGE02A_S01() |
12 |
module WINDGAUGE02A_S01() |
13 |
{ |
13 |
{ |
14 |
//valec se zavitem |
14 |
//valec se zavitem |
15 |
union() |
15 |
union() |
16 |
{ |
16 |
{ |
17 |
difference() |
17 |
difference() |
18 |
{ |
18 |
{ |
19 |
union() |
19 |
union() |
20 |
{ |
20 |
{ |
21 |
translate([0,0,S01_sila_materialu]) |
21 |
translate([0,0,S01_sila_materialu]) |
22 |
screw_thread((S01_prumer_vnitrni-S01_tolerance_zavit),S01_hloubka_zavitu,55,S01_vyska_horni_zavit,PI/2,2); |
22 |
screw_thread((S01_prumer_vnitrni-S01_tolerance_zavit),S01_hloubka_zavitu,55,S01_vyska_horni_zavit,PI/2,2); |
23 |
|
23 |
|
24 |
//spodní doraz |
24 |
//spodní doraz |
25 |
cylinder (h = S01_sila_materialu, r=S01_prumer_vnitrni/2+5/2*S01_sila_materialu, $fn=100); |
25 |
cylinder (h = S01_sila_materialu, r=S01_prumer_vnitrni/2+5/2*S01_sila_materialu, $fn=100); |
26 |
|
26 |
|
27 |
|
27 |
|
28 |
//krycí ovál - usnadnění povolení |
28 |
//krycí ovál - usnadnění povolení |
29 |
difference() |
29 |
difference() |
30 |
{ |
30 |
{ |
31 |
cylinder (h = R01_vyska_preryti_statoru+5, r=S01_prumer_vnitrni/2+5/2*S01_sila_materialu, $fn=100); |
31 |
cylinder (h = R01_vyska_preryti_statoru+5, r=S01_prumer_vnitrni/2+5/2*S01_sila_materialu, $fn=100); |
32 |
|
32 |
|
33 |
cylinder (h = R01_vyska_preryti_statoru+5+0.01, r=S01_prumer_vnitrni/2+3/2*S01_sila_materialu, $fn=100); |
33 |
cylinder (h = R01_vyska_preryti_statoru+5+0.01, r=S01_prumer_vnitrni/2+3/2*S01_sila_materialu, $fn=100); |
34 |
|
34 |
|
35 |
} |
35 |
} |
36 |
} |
36 |
} |
37 |
|
37 |
|
38 |
//odstranění vnitřní výplně |
38 |
//odstranění vnitřní výplně |
39 |
translate([0,0,S01_sila_materialu]) |
39 |
translate([0,0,S01_sila_materialu]) |
40 |
cylinder (h = S01_vyska_horni_zavit+0.01, r=S01_prumer_vnitrni/2-S01_hloubka_zavitu/2-S01_sila_materialu, $fn=100); |
40 |
cylinder (h = S01_vyska_horni_zavit+0.01, r=S01_prumer_vnitrni/2-S01_hloubka_zavitu/2-S01_sila_materialu, $fn=100); |
41 |
|
41 |
|
42 |
//otvor na ložisko |
42 |
//otvor na ložisko |
43 |
translate([0,0,S01_sila_materialu/2]) |
43 |
translate([0,0,S01_sila_materialu/2]) |
44 |
cylinder (h = S01_sila_materialu+0.01, r=(lozisko_prumer_vnejsi+0.2)/2, center = true, $fn=100); |
44 |
cylinder (h = S01_sila_materialu+0.01, r=(lozisko_prumer_vnejsi+0.2)/2, center = true, $fn=100); |
45 |
//otvory na hlavu šroubu ve dně |
45 |
//otvory na hlavu šroubu ve dně |
46 |
//otvor na hlavu šroubu 1 |
46 |
//otvor na hlavu šroubu 1 |
47 |
translate([-senzor_delka/2,-senzor_sirka/2,(lozisko_vyska+2*S01_sila_materialu+2*S01_sila_materialu+vyska_hlavy_sroubu+magnet_vyska+vyska_matky)/2]) |
47 |
translate([-senzor_delka/2,-senzor_sirka/2,(lozisko_vyska+2*S01_sila_materialu+2*S01_sila_materialu+vyska_hlavy_sroubu+magnet_vyska+vyska_matky)/2]) |
48 |
cylinder (h = lozisko_vyska+2*S01_sila_materialu+2*S01_sila_materialu+vyska_hlavy_sroubu+magnet_vyska+vyska_matky+0.01, r=(prumer_hlavy_sroubu)/2, center = true, $fn=100); |
48 |
cylinder (h = lozisko_vyska+2*S01_sila_materialu+2*S01_sila_materialu+vyska_hlavy_sroubu+magnet_vyska+vyska_matky+0.01, r=(prumer_hlavy_sroubu)/2, center = true, $fn=100); |
49 |
|
49 |
|
50 |
//otvor na šroub 2 |
50 |
//otvor na šroub 2 |
51 |
translate([senzor_delka/2,-senzor_sirka/2,(lozisko_vyska+2*S01_sila_materialu+2*S01_sila_materialu+vyska_hlavy_sroubu+magnet_vyska+vyska_matky)/2]) |
51 |
translate([senzor_delka/2,-senzor_sirka/2,(lozisko_vyska+2*S01_sila_materialu+2*S01_sila_materialu+vyska_hlavy_sroubu+magnet_vyska+vyska_matky)/2]) |
52 |
cylinder (h = lozisko_vyska+2*S01_sila_materialu+2*S01_sila_materialu+vyska_hlavy_sroubu+magnet_vyska+vyska_matky+0.01, r=(prumer_hlavy_sroubu)/2, center = true, $fn=100); |
52 |
cylinder (h = lozisko_vyska+2*S01_sila_materialu+2*S01_sila_materialu+vyska_hlavy_sroubu+magnet_vyska+vyska_matky+0.01, r=(prumer_hlavy_sroubu)/2, center = true, $fn=100); |
53 |
|
53 |
|
54 |
//otvor na šroub 3 |
54 |
//otvor na šroub 3 |
55 |
translate([senzor_delka/2,senzor_sirka/2,(lozisko_vyska+2*S01_sila_materialu+2*S01_sila_materialu+vyska_hlavy_sroubu+magnet_vyska+vyska_matky)/2]) |
55 |
translate([senzor_delka/2,senzor_sirka/2,(lozisko_vyska+2*S01_sila_materialu+2*S01_sila_materialu+vyska_hlavy_sroubu+magnet_vyska+vyska_matky)/2]) |
56 |
cylinder (h = lozisko_vyska+2*S01_sila_materialu+2*S01_sila_materialu+vyska_hlavy_sroubu+magnet_vyska+vyska_matky+0.01, r=(prumer_hlavy_sroubu)/2, center = true, $fn=100); |
56 |
cylinder (h = lozisko_vyska+2*S01_sila_materialu+2*S01_sila_materialu+vyska_hlavy_sroubu+magnet_vyska+vyska_matky+0.01, r=(prumer_hlavy_sroubu)/2, center = true, $fn=100); |
57 |
|
57 |
|
58 |
//otvor na šroub 4 |
58 |
//otvor na šroub 4 |
59 |
translate([-senzor_delka/2,senzor_sirka/2,(lozisko_vyska+2*S01_sila_materialu+2*S01_sila_materialu+vyska_hlavy_sroubu+magnet_vyska+vyska_matky)/2]) |
59 |
translate([-senzor_delka/2,senzor_sirka/2,(lozisko_vyska+2*S01_sila_materialu+2*S01_sila_materialu+vyska_hlavy_sroubu+magnet_vyska+vyska_matky)/2]) |
60 |
cylinder (h = lozisko_vyska+2*S01_sila_materialu+2*S01_sila_materialu+vyska_hlavy_sroubu+magnet_vyska+vyska_matky+0.01, r=(prumer_hlavy_sroubu)/2, center = true, $fn=100); |
60 |
cylinder (h = lozisko_vyska+2*S01_sila_materialu+2*S01_sila_materialu+vyska_hlavy_sroubu+magnet_vyska+vyska_matky+0.01, r=(prumer_hlavy_sroubu)/2, center = true, $fn=100); |
61 |
|
61 |
|
62 |
} |
62 |
} |
63 |
|
63 |
|
64 |
//otvor na ložisko |
64 |
//otvor na ložisko |
65 |
difference() |
65 |
difference() |
66 |
{ |
66 |
{ |
67 |
translate([0,0,(R01_vyska_preryti_statoru+2*lozisko_vyska)/2+S01_sila_materialu]) |
67 |
translate([0,0,(R01_vyska_preryti_statoru+2*lozisko_vyska)/2+S01_sila_materialu]) |
68 |
cylinder (h = R01_vyska_preryti_statoru+2*lozisko_vyska, r=(lozisko_prumer_vnejsi+2*S01_sila_materialu)/2, center = true, $fn=100); |
68 |
cylinder (h = R01_vyska_preryti_statoru+2*lozisko_vyska, r=(lozisko_prumer_vnejsi+2*S01_sila_materialu)/2, center = true, $fn=100); |
69 |
|
69 |
|
70 |
translate([0,0,(R01_vyska_preryti_statoru+2*lozisko_vyska)/2+S01_sila_materialu]) |
70 |
translate([0,0,(R01_vyska_preryti_statoru+2*lozisko_vyska)/2+S01_sila_materialu]) |
71 |
cylinder (h = R01_vyska_preryti_statoru+2*lozisko_vyska+0.01, r=(lozisko_prumer_vnejsi+0.2)/2, center = true, $fn=100); |
71 |
cylinder (h = R01_vyska_preryti_statoru+2*lozisko_vyska+0.01, r=(lozisko_prumer_vnejsi+0.2)/2, center = true, $fn=100); |
72 |
|
72 |
|
73 |
//otvory na hlavy sroubu v uchytu loziska |
73 |
//otvory na hlavy sroubu v uchytu loziska |
74 |
translate([-senzor_delka/2,-senzor_sirka/2,0]) |
74 |
translate([-senzor_delka/2,-senzor_sirka/2,0]) |
75 |
{ |
75 |
{ |
76 |
cylinder (h = vyska_hlavy_sroubu, r= (prumer_hlavy_sroubu)/2, $fn=40); |
76 |
cylinder (h = vyska_hlavy_sroubu+10, r= (prumer_hlavy_sroubu)/2, $fn=40); |
77 |
translate([0,0,vyska_hlavy_sroubu]) |
77 |
translate([0,0,vyska_hlavy_sroubu+10]) |
78 |
cylinder(h=2+0.02, r1=(prumer_hlavy_sroubu)/2, r2=(prumer_sroubu+0.2)/2); |
78 |
cylinder(h=2+0.02, r1=(prumer_hlavy_sroubu)/2, r2=(prumer_sroubu+0.2)/2); |
79 |
} |
79 |
} |
80 |
|
80 |
|
81 |
translate([-senzor_delka/2,senzor_sirka/2,0]) |
81 |
translate([-senzor_delka/2,senzor_sirka/2,0]) |
82 |
{ |
82 |
{ |
83 |
cylinder (h = vyska_hlavy_sroubu, r= (prumer_hlavy_sroubu)/2, $fn=40); |
83 |
cylinder (h = vyska_hlavy_sroubu+10, r= (prumer_hlavy_sroubu)/2, $fn=40); |
84 |
translate([0,0,vyska_hlavy_sroubu]) |
84 |
translate([0,0,vyska_hlavy_sroubu+10]) |
85 |
cylinder(h=2+0.02, r1=(prumer_hlavy_sroubu)/2, r2=(prumer_sroubu+0.2)/2); |
85 |
cylinder(h=2+0.02, r1=(prumer_hlavy_sroubu)/2, r2=(prumer_sroubu+0.2)/2); |
86 |
} |
86 |
} |
87 |
|
87 |
|
88 |
translate([senzor_delka/2,-senzor_sirka/2,0]) |
88 |
translate([senzor_delka/2,-senzor_sirka/2,0]) |
89 |
{ |
89 |
{ |
90 |
cylinder (h = vyska_hlavy_sroubu, r= (prumer_hlavy_sroubu)/2, $fn=40); |
90 |
cylinder (h = vyska_hlavy_sroubu+10, r= (prumer_hlavy_sroubu)/2, $fn=40); |
91 |
translate([0,0,vyska_hlavy_sroubu]) |
91 |
translate([0,0,vyska_hlavy_sroubu+10]) |
92 |
cylinder(h=2+0.02, r1=(prumer_hlavy_sroubu)/2, r2=(prumer_sroubu+0.2)/2); |
92 |
cylinder(h=2+0.02, r1=(prumer_hlavy_sroubu)/2, r2=(prumer_sroubu+0.2)/2); |
93 |
} |
93 |
} |
94 |
|
94 |
|
95 |
translate([senzor_delka/2,senzor_sirka/2,0]) |
95 |
translate([senzor_delka/2,senzor_sirka/2,0]) |
96 |
{ |
96 |
{ |
97 |
cylinder (h = vyska_hlavy_sroubu, r= (prumer_hlavy_sroubu)/2, $fn=40); |
97 |
cylinder (h = vyska_hlavy_sroubu+10, r= (prumer_hlavy_sroubu)/2, $fn=40); |
98 |
translate([0,0,vyska_hlavy_sroubu]) |
98 |
translate([0,0,vyska_hlavy_sroubu+10]) |
99 |
cylinder(h=2+0.02, r1=(prumer_hlavy_sroubu)/2, r2=(prumer_sroubu+0.2)/2); |
99 |
cylinder(h=2+0.02, r1=(prumer_hlavy_sroubu)/2, r2=(prumer_sroubu+0.2)/2); |
100 |
} |
100 |
} |
101 |
} |
101 |
} |
102 |
|
102 |
|
103 |
difference() |
103 |
difference() |
104 |
{ |
104 |
{ |
105 |
union() |
105 |
union() |
106 |
{ |
106 |
{ |
107 |
//uchyty na modul |
107 |
//uchyty na modul |
108 |
//sloupek 1 |
108 |
//sloupek 1 |
109 |
translate([-senzor_delka/2,-senzor_sirka/2,0]) |
109 |
translate([-senzor_delka/2,-senzor_sirka/2,0]) |
110 |
SLOUPEK(); |
110 |
SLOUPEK(); |
111 |
|
111 |
|
112 |
translate([senzor_delka/2,-senzor_sirka/2,0]) |
112 |
translate([senzor_delka/2,-senzor_sirka/2,0]) |
113 |
SLOUPEK(); |
113 |
SLOUPEK(); |
114 |
|
114 |
|
115 |
translate([senzor_delka/2,senzor_sirka/2,0]) |
115 |
translate([senzor_delka/2,senzor_sirka/2,0]) |
116 |
SLOUPEK(); |
116 |
SLOUPEK(); |
117 |
|
117 |
|
118 |
translate([-senzor_delka/2,senzor_sirka/2,0]) |
118 |
translate([-senzor_delka/2,senzor_sirka/2,0]) |
119 |
SLOUPEK(); |
119 |
SLOUPEK(); |
120 |
} |
120 |
} |
121 |
|
121 |
|
122 |
translate([0,0,0]) |
122 |
translate([0,0,0]) |
123 |
cylinder (h = R01_vyska_preryti_statoru+2*lozisko_vyska+S01_sila_materialu, r=(lozisko_prumer_vnejsi+0.2)/2, $fn=100); |
123 |
cylinder (h = R01_vyska_preryti_statoru+2*lozisko_vyska+S01_sila_materialu, r=(lozisko_prumer_vnejsi+0.2)/2, $fn=100); |
124 |
|
124 |
|
125 |
//doraz loziska |
125 |
//doraz loziska |
126 |
translate([0,0,(R01_vyska_preryti_statoru+2*lozisko_vyska)+S01_sila_materialu+8/2]) |
126 |
translate([0,0,(R01_vyska_preryti_statoru+2*lozisko_vyska)+S01_sila_materialu+8/2]) |
127 |
cylinder(h=8, r1=(lozisko_prumer_vnejsi+0.2)/2, r2=0, center=true); |
127 |
cylinder(h=8, r1=(lozisko_prumer_vnejsi+0.2)/2, r2=0, center=true); |
128 |
|
128 |
|
129 |
} |
129 |
} |
130 |
} |
130 |
} |
131 |
} |
131 |
} |
132 |
|
132 |
|
133 |
|
133 |
|
134 |
//sloupek na senzor |
134 |
//sloupek na senzor |
135 |
module SLOUPEK() |
135 |
module SLOUPEK() |
136 |
{ |
136 |
{ |
137 |
translate([0,0,S01_sila_materialu]) |
137 |
translate([0,0,S01_sila_materialu]) |
138 |
difference () |
138 |
difference () |
139 |
{ |
139 |
{ |
140 |
|
140 |
|
141 |
cylinder (h = R01_vyska_preryti_statoru+2*lozisko_vyska+2*S01_sila_materialu+2*S01_sila_materialu+vyska_hlavy_sroubu+magnet_vyska+vyska_matky, r= sirka_matky/2+S01_sila_materialu, $fn=20); |
141 |
cylinder (h = R01_vyska_preryti_statoru+2*lozisko_vyska+2*S01_sila_materialu+2*S01_sila_materialu+vyska_hlavy_sroubu+magnet_vyska+vyska_matky, r= sirka_matky/2+S01_sila_materialu, $fn=20); |
142 |
|
142 |
|
143 |
translate([0,0,R01_vyska_preryti_statoru+2*lozisko_vyska+2*S01_sila_materialu+2*S01_sila_materialu+vyska_hlavy_sroubu+magnet_vyska+vyska_matky-vyska_matky]) |
143 |
translate([0,0,R01_vyska_preryti_statoru+2*lozisko_vyska+2*S01_sila_materialu+2*S01_sila_materialu+vyska_hlavy_sroubu+magnet_vyska+vyska_matky-vyska_matky]) |
144 |
cylinder (h = vyska_matky+0.01, r= (sirka_matky+0.2)/2, $fn=6); |
144 |
cylinder (h = vyska_matky+0.01, r= (sirka_matky+0.2)/2, $fn=6); |
145 |
|
145 |
|
146 |
translate([0,0,-0.01]) |
146 |
translate([0,0,-0.01]) |
147 |
cylinder (h = R01_vyska_preryti_statoru+2*lozisko_vyska+2*S01_sila_materialu+2*S01_sila_materialu+vyska_hlavy_sroubu+magnet_vyska+vyska_matky+0.01, r= (prumer_sroubu+0.2)/2, $fn=40); |
147 |
cylinder (h = R01_vyska_preryti_statoru+2*lozisko_vyska+2*S01_sila_materialu+2*S01_sila_materialu+vyska_hlavy_sroubu+magnet_vyska+vyska_matky+0.01, r= (prumer_sroubu+0.2)/2, $fn=40); |
148 |
|
148 |
|
149 |
translate([0,0,-0.01]) |
149 |
translate([0,0,-0.01]) |
150 |
cylinder (h = vyska_hlavy_sroubu-S01_sila_materialu, r= (prumer_hlavy_sroubu)/2, $fn=40); |
150 |
cylinder (h = vyska_hlavy_sroubu+10-S01_sila_materialu, r= (prumer_hlavy_sroubu)/2, $fn=40); |
151 |
|
151 |
|
152 |
translate([0,0,vyska_hlavy_sroubu-S01_sila_materialu-0.02]) |
152 |
translate([0,0,vyska_hlavy_sroubu+10-S01_sila_materialu-0.02]) |
153 |
cylinder(h=2+0.02, r1=(prumer_hlavy_sroubu)/2, r2=(prumer_sroubu+0.2)/2); |
153 |
cylinder(h=2+0.02, r1=(prumer_hlavy_sroubu)/2, r2=(prumer_sroubu+0.2)/2); |
154 |
|
154 |
|
155 |
} |
155 |
} |
156 |
} |
156 |
} |
157 |
|
157 |
|
158 |
|
158 |
|
159 |
|
159 |
|
160 |
WINDGAUGE02A_S01(); |
160 |
WINDGAUGE02A_S01(); |
161 |
|
161 |
|