/Modules/Mechanical/WINDGAUGE01A/CAD/assembly.scad
File deleted
/Modules/Mechanical/WINDGAUGE01A/CAD/configuration.scad
File deleted
/Modules/Mechanical/WINDGAUGE01A/CAD/rotor2.scad
0,0 → 1,130
$fn=40; // model faces resolution.
 
prumer_rotoru1=50;
vyska_rotoru1=5;
vyska_rotoru2=5;
prumer_sroubu=3.2;
vyska_matky=3.5;
sirka_matky=6.6;
sirka_matky_tol=0.175;
 
nut_size = 6.6;
prumer_orechu=10;
sila_materialu=3;
sila_materialu_vule=0.2;
hloubka_prekryti=2;
 
//lozisko
lozisko_prumer_vnitrni=5;
lozisko_prumer_vnejsi=16;
lozisko_prekryv=1.5;
lozisko_vyska=5;
 
//nastevní rotoru2
 
vzdalenost_rot_stat=2; //vzdálenost mezi statorem a rotorem
vzdalenost_rot_stat2=1;//vzdálenost mezi statorem a rotorem z boku
 
//lopatka
hloubka_uchytu=20;
sila_uchytu=12;
vyska_uchytu=10;
tolerance_uchytu=0.1;
 
//stator1
stator1_sila=2;
 
//stator2
sila_pod_loziskem=1;
 
//rotor2
delka_hridele=5; //delka hridele koukající ve statoru
 
//stator3
stator3_sila_steny=2;
stator3_vzdalenost_od_steny=1; //definuje vzdalenost hlavy sroubu od steny statrou 4
stator3_vyska=60;
stator3_vyska_prekryti=5;
 
//rotor2
vyska_kryti=stator1_sila+vyska_matky+vzdalenost_rot_stat+stator3_vyska_prekryti-vzdalenost_rot_stat2; //udává výšku krycího prstence
 
difference()
{
union ()
{
cylinder (h = vyska_rotoru2, r=prumer_rotoru1/2, center = true, $fn=100);
 
 
//kryci kroužek
translate([0,0,-(vyska_rotoru2)/2-(vyska_kryti)/2])
komponent2();
//doraz na lozisko
translate([0,0,-(vyska_rotoru2+stator1_sila+vyska_matky+vzdalenost_rot_stat)/2])
cylinder (h = stator1_sila+vyska_matky+vzdalenost_rot_stat, r=(lozisko_prumer_vnitrni+2*lozisko_prekryv)/2, center = true, $fn=100);
 
//hridel
translate([0,0,-(vyska_rotoru2+stator1_sila+vyska_matky+vzdalenost_rot_stat+lozisko_vyska+sila_pod_loziskem+delka_hridele)/2])
cylinder (h = stator1_sila+vyska_matky+vzdalenost_rot_stat+lozisko_vyska+sila_pod_loziskem+delka_hridele, r=(lozisko_prumer_vnitrni/2), center = true, $fn=100);
}
//otvor v hřídeli
translate([0,0,-(stator1_sila+vyska_matky+vzdalenost_rot_stat+lozisko_vyska+sila_pod_loziskem+delka_hridele)/2])
cylinder (h = vyska_rotoru2+stator1_sila+vyska_matky+vzdalenost_rot_stat+lozisko_vyska+sila_pod_loziskem+delka_hridele+0.1, r=(prumer_sroubu/2), center = true, $fn=100);
//otvor pro matku
translate([0,0,(vyska_rotoru2-vyska_matky)/2])
cylinder (h = vyska_matky+0.1, r= (sirka_matky+sirka_matky_tol)/2, center = true,$fn=6);
 
//otvor pro uchyceni prvni lopatky
translate([hloubka_uchytu/2+(prumer_rotoru1/2-hloubka_uchytu),0,0])
cylinder (h = vyska_rotoru1+0.1, r=prumer_sroubu/2, center = true, $fn=100);
 
translate([hloubka_uchytu/2+(prumer_rotoru1/2-hloubka_uchytu),0,-(vyska_rotoru2)/2+vyska_matky/2])
cylinder (h = vyska_matky+0.1, r=prumer_orechu/2, center = true, $fn=100);
//otvor pro uchyceni druhe lopatky
rotate(a=[0,0,120])
translate([hloubka_uchytu/2+(prumer_rotoru1/2-hloubka_uchytu),0,0])
cylinder (h = vyska_rotoru1+0.1, r=prumer_sroubu/2, center = true, $fn=100);
 
rotate(a=[0,0,120])
translate([hloubka_uchytu/2+(prumer_rotoru1/2-hloubka_uchytu),0,-(vyska_rotoru2)/2+vyska_matky/2])
cylinder (h = vyska_matky+0.1, r=prumer_orechu/2, center = true, $fn=100);
 
//otvor pro uchyceni treti lopatky
rotate(a=[0,0,240])
translate([hloubka_uchytu/2+(prumer_rotoru1/2-hloubka_uchytu),0,0])
cylinder (h = vyska_rotoru1+0.1, r=prumer_sroubu/2, center = true, $fn=100);
 
rotate(a=[0,0,240])
translate([hloubka_uchytu/2+(prumer_rotoru1/2-hloubka_uchytu),0,-(vyska_rotoru2)/2+vyska_matky/2])
cylinder (h = vyska_matky+0.1, r=prumer_orechu/2, center = true, $fn=100);
}
 
module komponent2()
{
difference ()
{
cylinder (h = vyska_kryti, r=(prumer_rotoru1/2), center = true, $fn=100);
cylinder (h = vyska_kryti+0.1, r=(prumer_rotoru1/2-sila_materialu), center = true, $fn=100);
}
}
/Modules/Mechanical/WINDGAUGE01A/CAD/rotor3.scad
0,0 → 1,75
$fn=40; // model faces resolution.
 
prumer_rotoru1=50;
vyska_rotoru1=5;
vyska_rotoru2=5;
prumer_sroubu=3.2;
vyska_matky=3;
sirka_matky=6;
prumer_orechu=10;
sila_materialu=3;
sila_materialu_vule=0.2;
hloubka_prekryti=2;
 
//lozisko
lozisko_prumer_vnitrni=5;
lozisko_prumer_vnejsi=16;
lozisko_vyska=5;
lozisko_prekryv=1.5;
 
//stator1
stator1_sila=2;
 
//stator1
sila_pod_loziskem=1;
 
 
 
//nastevní rotoru2
vyska_kryti=5;
 
//lopatka
hloubka_uchytu=20;
sila_uchytu=12;
vyska_uchytu=10;
tolerance_uchytu=0.1;
 
 
//rotor2
delka_hridele=5; //delka hridele koukající ve statoru
 
 
 
 
 
/*
 
difference()
{
 
 
//dotahovací kroužek
translate([0,0,0])
cylinder (h = sila_pod_loziskem+delka_hridele+2, r=(lozisko_prumer_vnitrni+2*lozisko_prekryv)/2, center = true, $fn=100);
cylinder (h = sila_pod_loziskem+delka_hridele+2+0.1, r=((lozisko_prumer_vnitrni+0.2)/2), center = true, $fn=100);
}
*/
 
difference()
{
 
 
//sehment pro sroub a magnet
translate([0,0,0])
cylinder (h = sila_pod_loziskem+delka_hridele+2, r=(lozisko_prumer_vnitrni+2*lozisko_prekryv)/2, center = true, $fn=100);
cylinder (h = sila_pod_loziskem+delka_hridele+2+0.1, r=((lozisko_prumer_vnitrni+0.2)/2), center = true, $fn=100);
}
 
 
 
/Modules/Mechanical/WINDGAUGE01A/CAD/stator3.scad
0,0 → 1,151
$fn=40; // model faces resolution.
 
prumer_rotoru1=60;
vyska_rotoru1=5;
vyska_rotoru2=5;
prumer_sroubu=3.2;
prumer_hlavy_sroubu=6;
vyska_hlavy_sroubu=4;
vyska_matky=3;
sirka_matky=6;
prumer_orechu=10;
sila_materialu=2;
sila_materialu_vule=0.2;
hloubka_prekryti=2;
 
//lozisko
lozisko_prumer_vnitrni=5;
lozisko_prumer_vnejsi=16;
lozisko_vyska=5;
lozisko_prekryv=1.5;
 
//stator1
stator1_sila=2;
 
//stator2
sila_pod_loziskem=1;
 
//stator3
stator3_sila_steny=2;
stator3_vzdalenost_od_steny=1; //definuje vzdalenost hlavy sroubu od steny statrou 4
stator3_vyska=60;
stator3_vyska_prekryti=5;
 
//uchyt pro anemometr
uchyt_prumer_sroubu=3.2;
roztec_sroubu=10.16;
 
 
 
 
vule1=1; //vůle mezi statorem a rotorem ze strany
 
//nastevní rotoru2
vyska_kryti=5;
 
//lopatka
hloubka_uchytu=20;
sila_uchytu=12;
vyska_uchytu=10;
tolerance_uchytu=0.1;
 
//parametry uchytu senzoru
roztec_der=10.16;
vzdalenost_der_x=2*roztec_der;
vzdalenost_der_y=1*roztec_der;
 
 
 
 
 
 
 
difference()
{
cylinder (h = stator3_vyska, r=(prumer_rotoru1)/2, center = true, $fn=100);
translate([0,0,(stator3_vyska-lozisko_vyska-sila_pod_loziskem)/2])
cylinder (h = lozisko_vyska+sila_pod_loziskem+0.1, r=(prumer_rotoru1-2*sila_materialu-2*vule1-stator3_sila_steny)/2, center = true, $fn=100);
 
cylinder (h = stator3_vyska+0.1, r=(prumer_rotoru1-2*sila_materialu-2*vule1-2*stator3_sila_steny)/2, center = true, $fn=100);
translate([0,0,(stator3_vyska-stator3_vyska_prekryti)/2])
difference()
{
cylinder (h = stator3_vyska_prekryti+0.1, r=(prumer_rotoru1+0.1)/2, center = true, $fn=100);
cylinder (h = stator3_vyska_prekryti+0.1, r=(prumer_rotoru1-2*sila_materialu-2*vule1)/2, center = true, $fn=100);
}
 
 
 
 
 
 
//otvory pro uchyceni stator 3
//otvor pro sroub 1
translate([0,(prumer_rotoru1-2*sila_materialu-2*vule1-2*stator3_sila_steny-prumer_hlavy_sroubu-2*stator3_vzdalenost_od_steny)/2,0])
cylinder (h = lozisko_vyska+sila_pod_loziskem+0.1, r=prumer_sroubu/2, center = true, $fn=100);
 
translate([0,(prumer_rotoru1-2*sila_materialu-2*vule1-2*stator3_sila_steny-prumer_hlavy_sroubu-2*stator3_vzdalenost_od_steny)/2,2])
cylinder (h = lozisko_vyska+sila_pod_loziskem+0.1, r=prumer_hlavy_sroubu/2, center = true, $fn=100);
 
//otvor pro sroub 2
translate([0,-(prumer_rotoru1-2*sila_materialu-2*vule1-2*stator3_sila_steny-prumer_hlavy_sroubu-2*stator3_vzdalenost_od_steny)/2,0])
cylinder (h = lozisko_vyska+sila_pod_loziskem+0.1, r=prumer_sroubu/2, center = true, $fn=100);
 
translate([0,-(prumer_rotoru1-2*sila_materialu-2*vule1-2*stator3_sila_steny-prumer_hlavy_sroubu-2*stator3_vzdalenost_od_steny)/2,2])
cylinder (h = lozisko_vyska+sila_pod_loziskem+0.1, r=prumer_hlavy_sroubu/2, center = true, $fn=100);
 
 
}
 
 
//dno stator3
 
translate([0,0,-(stator3_vyska-stator3_sila_steny)/2])
 
difference()
{
cylinder (h = stator3_sila_steny, r=(prumer_rotoru1)/2, center = true, $fn=100);
//otvory pro uchyceni stator 3
//otvor pro sroub 1
translate([0,(prumer_rotoru1-2*sila_materialu-2*vule1-2*stator3_sila_steny-prumer_hlavy_sroubu-2*stator3_vzdalenost_od_steny)/2,0])
cylinder (h = stator3_sila_steny+0.1, r=prumer_sroubu/2, center = true, $fn=100);
 
 
//otvor pro sroub 2
translate([0,-(prumer_rotoru1-2*sila_materialu-2*vule1-2*stator3_sila_steny-prumer_hlavy_sroubu-2*stator3_vzdalenost_od_steny)/2,0])
cylinder (h = stator3_sila_steny+0.1, r=prumer_sroubu/2, center = true, $fn=100);
//srouby pro uchycení anemometru
translate([roztec_sroubu/2,roztec_sroubu/2,0])
cylinder (h = stator3_sila_steny+0.1, r=uchyt_prumer_sroubu/2, center = true, $fn=100);
translate([-roztec_sroubu/2,roztec_sroubu/2,0])
cylinder (h = stator3_sila_steny+0.1, r=uchyt_prumer_sroubu/2, center = true, $fn=100);
 
translate([roztec_sroubu/2,-roztec_sroubu/2,0])
cylinder (h = stator3_sila_steny+0.1, r=uchyt_prumer_sroubu/2, center = true, $fn=100);
translate([-roztec_sroubu/2,-roztec_sroubu/2,0])
cylinder (h = stator3_sila_steny+0.1, r=uchyt_prumer_sroubu/2, center = true, $fn=100);
}
 
/Modules/Mechanical/WINDGAUGE01A/CAD/stator2.scad
0,0 → 1,159
$fn=40; // model faces resolution.
 
prumer_rotoru1=60;
vyska_rotoru1=5;
vyska_rotoru2=5;
prumer_sroubu=3.2;
prumer_hlavy_sroubu=6;
vyska_hlavy_sroubu=4;
vyska_matky=3;
sirka_matky=6;
prumer_orechu=10;
sila_materialu=3;
sila_materialu_vule=0.2;
hloubka_prekryti=2;
 
//lozisko
lozisko_prumer_vnitrni=5;
lozisko_prumer_vnejsi=16;
lozisko_vyska=5;
lozisko_prekryv=1.5;
 
//stator1
stator1_sila=2;
 
//stator2
sila_pod_loziskem=1;
 
//stator3
stator3_sila_steny=2;
stator3_vzdalenost_od_steny=1; //definuje vzdalenost hlavy sroubu od steny statrou 4
 
vule1=2; //vůle mezi statorem a rotorem ze strany
 
//nastevní rotoru2
vyska_kryti=5;
 
//lopatka
hloubka_uchytu=20;
sila_uchytu=12;
vyska_uchytu=10;
tolerance_uchytu=0.1;
 
//parametry uchytu senzoru
roztec_der=10.16;
vzdalenost_der_x=2*roztec_der;
vzdalenost_der_y=1*roztec_der;
 
 
 
 
 
 
 
 
 
difference()
{
cylinder (h = lozisko_vyska+sila_pod_loziskem, r=(prumer_rotoru1-2*sila_materialu-2*vule1-stator3_sila_steny)/2, center = true, $fn=100);
 
//otvor pro lozisko
translate([0,0,sila_pod_loziskem])
cylinder (h = lozisko_vyska+0.1, r=(lozisko_prumer_vnejsi+0.1)/2, center = true, $fn=100);
//otvor pro hridel rotoru
translate([0,0,0])
cylinder (h = lozisko_vyska+sila_pod_loziskem+0.1, r=(lozisko_prumer_vnitrni+2*lozisko_prekryv+2)/2, center = true, $fn=100);
//otvor pro sroub 1
translate([(lozisko_prumer_vnejsi+prumer_sroubu+5)/2,0,0])
cylinder (h = lozisko_vyska+sila_pod_loziskem+0.1, r=prumer_sroubu/2, center = true, $fn=100);
 
//otvor pro sroub 2
rotate(a=[0,0,120])
translate([(lozisko_prumer_vnejsi+prumer_sroubu+5)/2,0,0])
 
cylinder (h = lozisko_vyska+sila_pod_loziskem+0.1, r=prumer_sroubu/2, center = true, $fn=100);
//otvor pro sroub 3
rotate(a=[0,0,240])
translate([(lozisko_prumer_vnejsi+prumer_sroubu+5)/2,0,0])
 
cylinder (h = lozisko_vyska+sila_pod_loziskem+0.1, r=prumer_sroubu/2, center = true, $fn=100);
//otvory pro uchyceni senzoru
//otvor pro sroub 1
translate([(vzdalenost_der_x/2),-vzdalenost_der_y/2,0])
 
cylinder (h = lozisko_vyska+sila_pod_loziskem+0.1, r=prumer_sroubu/2, center = true, $fn=100);
 
translate([(vzdalenost_der_x/2),-vzdalenost_der_y/2,(lozisko_vyska+sila_pod_loziskem-vyska_hlavy_sroubu)/2])
 
cylinder (h = vyska_hlavy_sroubu+0.1, r=prumer_hlavy_sroubu/2, center = true, $fn=100);
 
 
 
//otvor pro sroub 2
rotate(a=[0,0,0])
translate([(-vzdalenost_der_x/2),-vzdalenost_der_y/2,0])
 
cylinder (h = lozisko_vyska+sila_pod_loziskem+0.1, r=prumer_sroubu/2, center = true, $fn=100);
 
translate([(-vzdalenost_der_x/2),-vzdalenost_der_y/2,(lozisko_vyska+sila_pod_loziskem-vyska_hlavy_sroubu)/2])
 
cylinder (h = vyska_hlavy_sroubu+0.1, r=prumer_hlavy_sroubu/2, center = true, $fn=100);
 
 
 
 
//otvor pro sroub 1
rotate(a=[0,0,0])
translate([(vzdalenost_der_x/2),vzdalenost_der_y/2,0])
 
cylinder (h = lozisko_vyska+sila_pod_loziskem+0.1, r=prumer_sroubu/2, center = true, $fn=100);
 
translate([(vzdalenost_der_x/2),vzdalenost_der_y/2,(lozisko_vyska+sila_pod_loziskem-vyska_hlavy_sroubu)/2])
 
cylinder (h = vyska_hlavy_sroubu+0.1, r=prumer_hlavy_sroubu/2, center = true, $fn=100);
 
 
//otvor pro sroub 1
rotate(a=[0,0,0])
translate([(-vzdalenost_der_x/2),vzdalenost_der_y/2,0])
 
cylinder (h = lozisko_vyska+sila_pod_loziskem+0.1, r=prumer_sroubu/2, center = true, $fn=100);
 
translate([(-vzdalenost_der_x/2),vzdalenost_der_y/2,(lozisko_vyska+sila_pod_loziskem-vyska_hlavy_sroubu)/2])
 
cylinder (h = vyska_hlavy_sroubu+0.1, r=prumer_hlavy_sroubu/2, center = true, $fn=100);
 
 
 
 
 
 
//otvory pro uchyceni stator 3
//otvor pro sroub 1
translate([0,(prumer_rotoru1-2*sila_materialu-2*vule1-2*stator3_sila_steny-prumer_hlavy_sroubu-2*stator3_vzdalenost_od_steny)/2,0])
cylinder (h = lozisko_vyska+sila_pod_loziskem+0.1, r=prumer_sroubu/2, center = true, $fn=100);
 
translate([0,(prumer_rotoru1-2*sila_materialu-2*vule1-2*stator3_sila_steny-prumer_hlavy_sroubu-2*stator3_vzdalenost_od_steny)/2,2])
cylinder (h = lozisko_vyska+sila_pod_loziskem+0.1, r=prumer_hlavy_sroubu/2, center = true, $fn=100);
 
//otvor pro sroub 2
translate([0,-(prumer_rotoru1-2*sila_materialu-2*vule1-2*stator3_sila_steny-prumer_hlavy_sroubu-2*stator3_vzdalenost_od_steny)/2,0])
cylinder (h = lozisko_vyska+sila_pod_loziskem+0.1, r=prumer_sroubu/2, center = true, $fn=100);
 
translate([0,-(prumer_rotoru1-2*sila_materialu-2*vule1-2*stator3_sila_steny-prumer_hlavy_sroubu-2*stator3_vzdalenost_od_steny)/2,2])
cylinder (h = lozisko_vyska+sila_pod_loziskem+0.1, r=prumer_hlavy_sroubu/2, center = true, $fn=100);
 
 
}
 
 
 
 
 
 
/Modules/Mechanical/WINDGAUGE01A/CAD/stator1.scad
0,0 → 1,84
$fn=40; // model faces resolution.
 
prumer_rotoru1=50;
vyska_rotoru1=5;
vyska_rotoru2=5;
prumer_sroubu=3.2;
vyska_matky=3;
sirka_matky=6;
prumer_orechu=10;
sila_materialu=3;
sila_materialu_vule=0.2;
hloubka_prekryti=2;
 
//lozisko
lozisko_prumer_vnitrni=5;
lozisko_prumer_vnejsi=16;
lozisko_vyska=5;
lozisko_prekryv=1.5;
 
//stator1
stator1_sila=2;
 
//stator1
sila_pod_loziskem=1;
 
 
 
//nastevní rotoru2
vyska_kryti=5;
 
//lopatka
hloubka_uchytu=20;
sila_uchytu=12;
vyska_uchytu=10;
tolerance_uchytu=0.1;
 
 
 
 
 
 
 
 
 
 
difference()
{
cylinder (h = stator1_sila, r=(lozisko_prumer_vnejsi+10+sirka_matky)/2, center = true, $fn=100);
 
//otvor pro hridel rotoru
translate([0,0,0])
cylinder (h = stator1_sila+0.1, r=(lozisko_prumer_vnitrni+2*lozisko_prekryv+2)/2, center = true, $fn=100);
//otvor pro sroub 1
translate([(lozisko_prumer_vnejsi+prumer_sroubu+5)/2,0,0])
cylinder (h = stator1_sila+0.1, r=prumer_sroubu/2, center = true, $fn=100);
 
//otvor pro sroub 2
rotate(a=[0,0,120])
translate([(lozisko_prumer_vnejsi+prumer_sroubu+5)/2,0,0])
 
cylinder (h = stator1_sila+0.1, r=prumer_sroubu/2, center = true, $fn=100);
//otvor pro sroub 3
rotate(a=[0,0,240])
translate([(lozisko_prumer_vnejsi+prumer_sroubu+5)/2,0,0])
 
cylinder (h = stator1_sila+0.1, r=prumer_sroubu/2, center = true, $fn=100);
 
 
 
}
 
 
 
 
 
 
/Modules/Mechanical/WINDGAUGE01A/CAD/configuration/rotor1.scad
File deleted
/Modules/Mechanical/WINDGAUGE01A/CAD/configuration/rotor2.scad
File deleted
\ No newline at end of file
/Modules/Mechanical/WINDGAUGE01A/CAD/configuration/rotor3.scad
File deleted
/Modules/Mechanical/WINDGAUGE01A/CAD/configuration/stator1.scad
File deleted
/Modules/Mechanical/WINDGAUGE01A/CAD/configuration/stator2.scad
File deleted
/Modules/Mechanical/WINDGAUGE01A/CAD/configuration/stator3.scad
File deleted
/Modules/Mechanical/WINDGAUGE01A/CAD/lopatky.scad
--- print_data/WINDGAUGE01A_stator1.scad (revision 4277)
+++ print_data/WINDGAUGE01A_stator1.scad (nonexistent)
@@ -1,15 +0,0 @@
-
-use <../configuration/stator1.scad>
-
-
-include <../configuration.scad>
-
-
-
-color("cyan")
-translate([0,0,stator1_sila/2])
-
-stator1(stator1_sila,lozisko_prumer_vnejsi,sirka_matky,lozisko_prumer_vnitrni,lozisko_prekryv,prumer_sroubu);
-
-
-
/Modules/Mechanical/WINDGAUGE01A/CAD/print_data/WINDGAUGE01A_stator2.scad
File deleted
/Modules/Mechanical/WINDGAUGE01A/CAD/print_data/WINDGAUGE01A_stator3.scad
File deleted
/Modules/Mechanical/WINDGAUGE01A/CAD/print_data/WINDGAUGE01A_rotor1.scad
File deleted
/Modules/Mechanical/WINDGAUGE01A/CAD/print_data/WINDGAUGE01A_rotor2.scad
File deleted
/Modules/Mechanical/WINDGAUGE01A/CAD/print_data/WINDGAUGE01A_rotor3.scad
File deleted
/Modules/Mechanical/WINDGAUGE01A/CAD/print_data/WINDGAUGE01A_rotor4.scad
File deleted
/Modules/Mechanical/WINDGAUGE01A/CAD/rotor1.scad
0,0 → 1,105
$fn=40; // model faces resolution.
 
prumer_rotoru1=50;
vyska_rotoru1=5;
prumer_sroubu=3.2;
vyska_matky=3;
prumer_orechu=10;
sila_materialu=3;
sila_materialu_vule=0.2;
hloubka_prekryti=2;
 
 
//lopatka
hloubka_uchytu=20;
sila_uchytu=12;
vyska_uchytu=10;
tolerance_uchytu=0.1;
 
difference()
{
union ()
{
cylinder (h = vyska_rotoru1-hloubka_prekryti, r=prumer_rotoru1/2, center = true, $fn=100);
 
translate([0,0,vyska_rotoru1/2])
cylinder (h = hloubka_prekryti, r=(prumer_rotoru1/2) -sila_materialu-sila_materialu_vule, center = true, $fn=100);
 
//otvory pro lopatky
translate([0,0,-(vyska_rotoru1-hloubka_prekryti)/2-(vyska_uchytu+tolerance_uchytu)/2])
komponent();
}
 
//otvory pro uchyceni krytky rotoru
translate([0,0,hloubka_prekryti/2])
cylinder (h = vyska_rotoru1+0.1, r=prumer_sroubu/2, center = true, $fn=100);
 
translate([0,0,-(vyska_rotoru1-hloubka_prekryti)/2+vyska_matky/2])
cylinder (h = vyska_matky+0.1, r=prumer_orechu/2, center = true, $fn=100);
//otvor pro uchyceni prvni lopatky
translate([hloubka_uchytu/2+(prumer_rotoru1/2-hloubka_uchytu),0,hloubka_prekryti/2])
cylinder (h = vyska_rotoru1+0.1, r=prumer_sroubu/2, center = true, $fn=100);
 
translate([hloubka_uchytu/2+(prumer_rotoru1/2-hloubka_uchytu),0,-(vyska_rotoru1-hloubka_prekryti)/2+vyska_matky/2])
cylinder (h = vyska_matky+0.1, r=prumer_orechu/2, center = true, $fn=100);
//otvor pro uchyceni druhe lopatky
rotate(a=[0,0,120])
translate([hloubka_uchytu/2+(prumer_rotoru1/2-hloubka_uchytu),0,hloubka_prekryti/2])
cylinder (h = vyska_rotoru1+0.1, r=prumer_sroubu/2, center = true, $fn=100);
 
rotate(a=[0,0,120])
translate([hloubka_uchytu/2+(prumer_rotoru1/2-hloubka_uchytu),0,-(vyska_rotoru1-hloubka_prekryti)/2+vyska_matky/2])
cylinder (h = vyska_matky+0.1, r=prumer_orechu/2, center = true, $fn=100);
 
//otvor pro uchyceni treti lopatky
rotate(a=[0,0,240])
translate([hloubka_uchytu/2+(prumer_rotoru1/2-hloubka_uchytu),0,hloubka_prekryti/2])
cylinder (h = vyska_rotoru1+0.1, r=prumer_sroubu/2, center = true, $fn=100);
 
rotate(a=[0,0,240])
translate([hloubka_uchytu/2+(prumer_rotoru1/2-hloubka_uchytu),0,-(vyska_rotoru1-hloubka_prekryti)/2+vyska_matky/2])
cylinder (h = vyska_matky+0.1, r=prumer_orechu/2, center = true, $fn=100);
}
 
 
 
 
 
 
module komponent()
{
difference ()
{
cylinder (h = vyska_uchytu+tolerance_uchytu, r=(prumer_rotoru1/2), center = true, $fn=100);
cylinder (h = vyska_uchytu+2*tolerance_uchytu, r=(prumer_rotoru1/2-hloubka_uchytu+5), center = true, $fn=100);
//dira pro prvni uchyt lopatky
translate([hloubka_uchytu/2+(prumer_rotoru1/2-hloubka_uchytu),0,0])
cube([hloubka_uchytu,sila_uchytu+tolerance_uchytu,vyska_uchytu+2*tolerance_uchytu],true);
//dira pro druhy uchyt lopatky
rotate(a=[0,0,120])
translate([hloubka_uchytu/2+(prumer_rotoru1/2-hloubka_uchytu),0,0])
cube([hloubka_uchytu,sila_uchytu+tolerance_uchytu,vyska_uchytu+2*tolerance_uchytu],true);
//dira pro treti uchyt lopatky
rotate(a=[0,0,240])
translate([hloubka_uchytu/2+(prumer_rotoru1/2-hloubka_uchytu),0,0])
cube([hloubka_uchytu,sila_uchytu+tolerance_uchytu,vyska_uchytu+2*tolerance_uchytu],true);
}
}