4624 |
jacho |
1 |
$fn=100; |
|
|
2 |
//Univerzální model držáku ventilátoru |
|
|
3 |
//Parametry ventilátoru |
|
|
4 |
roztec_mezi_srouby=20; |
|
|
5 |
vzdalenost_stredu_sroubu_od_okraje=4; |
|
|
6 |
|
|
|
7 |
//Parametry úchytu ventilátoru |
|
|
8 |
sirka_uchytu=10; |
|
|
9 |
|
|
|
10 |
//Parametr šroubu uchytného u ventilátoru |
|
|
11 |
vyska_hlavy_sroubu=5; |
|
|
12 |
prumer_sroubu=3.2; |
|
|
13 |
|
|
|
14 |
//Roztec der v ALbase |
|
|
15 |
roztec=10.16; |
|
|
16 |
prumer_otvoru=3.2; |
|
|
17 |
sila_materialu=1.8; |
|
|
18 |
vzdalenost_od_okraje=5; |
|
|
19 |
|
|
|
20 |
pocet_der_x=2; |
|
|
21 |
pocet_der_y=4; |
|
|
22 |
|
|
|
23 |
difference(){ |
|
|
24 |
|
|
|
25 |
union(){ |
|
|
26 |
//spodní díl |
|
|
27 |
cube([roztec*(pocet_der_x-1)+2*vzdalenost_od_okraje,roztec*(pocet_der_y-1)+2*vzdalenost_od_okraje,sila_materialu],center=true); |
|
|
28 |
|
|
|
29 |
//uchyt na ventilátor |
|
|
30 |
translate([(pocet_der_x-1)*roztec/2+vzdalenost_od_okraje, roztec_mezi_srouby/2-sirka_uchytu/2, sila_materialu/2]) |
|
|
31 |
rotate([0, -90, 0]) |
|
|
32 |
cube([vzdalenost_stredu_sroubu_od_okraje+vyska_hlavy_sroubu+prumer_sroubu,sirka_uchytu,sila_materialu],center=false); |
|
|
33 |
|
|
|
34 |
//uchyt 2 |
|
|
35 |
translate([(pocet_der_x-1)*roztec/2+vzdalenost_od_okraje, -roztec_mezi_srouby/2-sirka_uchytu/2, sila_materialu/2]) |
|
|
36 |
rotate([0, -90, 0]) |
|
|
37 |
cube([vzdalenost_stredu_sroubu_od_okraje+vyska_hlavy_sroubu+prumer_sroubu,sirka_uchytu,sila_materialu],center=false); |
|
|
38 |
|
|
|
39 |
|
|
|
40 |
//podpera 1 |
|
|
41 |
translate([0, roztec_mezi_srouby/2-sila_materialu/2, sila_materialu/2]) |
|
|
42 |
rotate([-90, -90, 0]) |
|
|
43 |
linear_extrude (height = sila_materialu, convexity = 10) |
|
|
44 |
polygon(points=[[0,0],[0, (pocet_der_x-1)*roztec/2+vzdalenost_od_okraje],[vyska_hlavy_sroubu,(pocet_der_x-1)*roztec/2+vzdalenost_od_okraje],[0,0]]); |
|
|
45 |
|
|
|
46 |
//podpera 2 |
|
|
47 |
translate([0, -roztec_mezi_srouby/2-sila_materialu/2, sila_materialu/2]) |
|
|
48 |
rotate([-90, -90, 0]) |
|
|
49 |
linear_extrude (height = sila_materialu, convexity = 10) |
|
|
50 |
polygon(points=[[0,0],[0, (pocet_der_x-1)*roztec/2+vzdalenost_od_okraje],[vyska_hlavy_sroubu,(pocet_der_x-1)*roztec/2+vzdalenost_od_okraje],[0,0]]); |
|
|
51 |
|
|
|
52 |
|
|
|
53 |
} |
|
|
54 |
|
|
|
55 |
//otvory na šrouby v držáku |
|
|
56 |
translate([(pocet_der_x-1)*roztec/2+vzdalenost_od_okraje-sila_materialu/2, roztec_mezi_srouby/2, sila_materialu/2+vyska_hlavy_sroubu+vzdalenost_stredu_sroubu_od_okraje]) |
|
|
57 |
rotate([0, -90, 0]) |
|
|
58 |
cylinder(h=sila_materialu+0.2, r=prumer_sroubu/2, center=true); |
|
|
59 |
|
|
|
60 |
translate([(pocet_der_x-1)*roztec/2+vzdalenost_od_okraje-sila_materialu/2, -roztec_mezi_srouby/2, sila_materialu/2+vyska_hlavy_sroubu+vzdalenost_stredu_sroubu_od_okraje]) |
|
|
61 |
rotate([0, -90, 0]) |
|
|
62 |
cylinder(h=sila_materialu+0.2, r=prumer_sroubu/2, center=true); |
|
|
63 |
|
|
|
64 |
//otvory na šrouby ve spodní části |
|
|
65 |
translate([(pocet_der_x-1)*roztec/2, (pocet_der_y-1)*roztec/2, 0]) |
|
|
66 |
cylinder(h=sila_materialu+0.2, r=prumer_otvoru/2, center=true); |
|
|
67 |
|
|
|
68 |
translate([-(pocet_der_x-1)*roztec/2, (pocet_der_y-1)*roztec/2, 0]) |
|
|
69 |
cylinder(h=sila_materialu+0.2, r=prumer_otvoru/2, center=true); |
|
|
70 |
|
|
|
71 |
translate([(pocet_der_x-1)*roztec/2, -(pocet_der_y-1)*roztec/2, 0]) |
|
|
72 |
cylinder(h=sila_materialu+0.2, r=prumer_otvoru/2, center=true); |
|
|
73 |
|
|
|
74 |
translate([-(pocet_der_x-1)*roztec/2, -(pocet_der_y-1)*roztec/2, 0]) |
|
|
75 |
cylinder(h=sila_materialu+0.2, r=prumer_otvoru/2, center=true); |
|
|
76 |
} |