4241 |
jacho |
1 |
//Funkce generujici listu |
|
|
2 |
module lista (vzdalenost_der,pocet_der,vzdalenost_od_okraje,vzdalenost_od_diry,vzdalenost_1,vzdalenost_2, zapust,vyska_listy,tlouska_celicka,sirka_materialu,vyska_hlavy,prumer_hlavy,prumer_sroubu,prumer_matice,vyska_matice,posuv_dorazu,matice_sila_materialu) { |
|
|
3 |
|
|
|
4 |
difference () { |
|
|
5 |
color("cyan") |
|
|
6 |
translate([0, 0, 0]) |
|
|
7 |
linear_extrude(height = zapust+vyska_listy) |
|
|
8 |
square([((pocet_der*vzdalenost_der)+2*vzdalenost_1), vzdalenost_od_okraje+vzdalenost_od_diry], center = true); |
|
|
9 |
|
|
|
10 |
translate([-((((pocet_der*vzdalenost_der)+2*vzdalenost_1)/2)-(vzdalenost_1+vzdalenost_2/2)), 0, (zapust)]) |
|
|
11 |
linear_extrude(height = vyska_listy) |
|
|
12 |
square([vzdalenost_2, vzdalenost_od_okraje+vzdalenost_od_diry], center = true); |
|
|
13 |
|
|
|
14 |
translate([((((pocet_der*vzdalenost_der)+2*vzdalenost_1)/2)-(vzdalenost_1+vzdalenost_2/2)), 0, (zapust)]) |
|
|
15 |
linear_extrude(height = vyska_listy) |
|
|
16 |
square([vzdalenost_2, vzdalenost_od_okraje+vzdalenost_od_diry], center = true); |
|
|
17 |
|
|
|
18 |
translate([-((((pocet_der*vzdalenost_der)+2*vzdalenost_1)/2)-(vzdalenost_1/2)), 0, (zapust)]) |
|
|
19 |
linear_extrude(height = vyska_listy) |
|
|
20 |
square([vzdalenost_1, vzdalenost_od_okraje+vzdalenost_od_diry], center = true); |
|
|
21 |
|
|
|
22 |
translate([((((pocet_der*vzdalenost_der)+2*vzdalenost_1)/2)-(vzdalenost_1/2)), 0, (zapust)]) |
|
|
23 |
linear_extrude(height = vyska_listy) |
|
|
24 |
square([vzdalenost_1, vzdalenost_od_okraje+vzdalenost_od_diry], center = true); |
|
|
25 |
|
|
|
26 |
translate([0,-((((vzdalenost_od_okraje+vzdalenost_od_diry)/2)-sirka_materialu)-(tlouska_celicka/2)), zapust]) |
|
|
27 |
linear_extrude(height = vyska_listy) |
|
|
28 |
square([((pocet_der*vzdalenost_der)+2*vzdalenost_1), tlouska_celicka], center = true); |
|
|
29 |
|
|
|
30 |
|
|
|
31 |
//otvory pro hlavy sroubu |
|
|
32 |
//-------------------------------------------------------------- |
|
|
33 |
|
|
|
34 |
translate([vzdalenost_der*pocet_der/2,-(((vzdalenost_od_okraje+vzdalenost_od_diry)/2)-vzdalenost_od_okraje),vyska_hlavy/2]) // center top screw |
|
|
35 |
cylinder(vyska_hlavy, d=prumer_hlavy, center=true); |
|
|
36 |
|
|
|
37 |
translate([-vzdalenost_der*pocet_der/2,-(((vzdalenost_od_okraje+vzdalenost_od_diry)/2)-vzdalenost_od_okraje),vyska_hlavy/2]) // center top screw |
|
|
38 |
cylinder(vyska_hlavy, d=prumer_hlavy, center=true); |
|
|
39 |
|
|
|
40 |
//otvory pro srouby |
|
|
41 |
//-------------------------------------------------------------- |
|
|
42 |
|
|
|
43 |
for (i = [0:1:pocet_der]) { |
|
|
44 |
translate([(-i*vzdalenost_der)+vzdalenost_der*pocet_der/2,-(((vzdalenost_od_okraje+vzdalenost_od_diry)/2)-vzdalenost_od_okraje),(zapust-vyska_hlavy)+vyska_hlavy/2]) // center top screw |
|
|
45 |
cylinder((2*(zapust+vyska_listy)), d=prumer_sroubu, center=true); |
|
|
46 |
} |
|
|
47 |
//otvory pro matice |
|
|
48 |
//-------------------------------------------------------------- |
|
|
49 |
|
|
|
50 |
for (i = [1:1:(pocet_der-1)]) { |
|
|
51 |
translate([(-i*vzdalenost_der)+vzdalenost_der*pocet_der/2,-((((vzdalenost_od_okraje+vzdalenost_od_diry)/2)-vzdalenost_od_okraje)-((((prumer_matice+posuv_dorazu+vzdalenost_od_diry)/2))-(prumer_matice+posuv_dorazu)/2)),matice_sila_materialu]) // center top screw |
|
|
52 |
cube([prumer_matice, prumer_matice+posuv_dorazu+vzdalenost_od_diry,vyska_matice], center = true); |
|
|
53 |
|
|
|
54 |
} |
|
|
55 |
} |
|
|
56 |
} |
|
|
57 |
|
|
|
58 |
//lista (vzdalenost_der,pocet_der1,vzdalenost_od_okraje,vzdalenost_od_diry,vzdalenost_1,vzdalenost_2, zapust,vyska_listy,tloustka_celicka,sirka_materialu,vyska_hlavy,prumer_hlavy,prumer_sroubu,prumer_matice,vyska_matice,posuv_dorazu,matice_sila_materialu); |
|
|
59 |
|