Rev Author Line No. Line
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