Rev 4585 Rev 4586
Line 3... Line 3...
3 use <sloupek.scad> 3 use <sloupek.scad>
4 use <plbase.scad> 4 use <plbase.scad>
5 include <manufactury_conf.scad> 5 include <manufactury_conf.scad>
6 include <../configuration.scad> 6 include <../configuration.scad>
7   7  
8 bocnice(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice); 8 //bocnice(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice);
9   9  
10 //Bočnice 10 //Bočnice
11 //------------------------------------------------------------ 11 //------------------------------------------------------------
12   12  
13   13  
14 module bocnice(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice){ 14 module bocnice(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice){
15   15  
16 difference () { 16 difference () {
17 union() 17 union()
18 { 18 {
19 translate([-((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje)/2,-vzdalenost_od_okraje,vyska_bocnice/2]) 19 translate([-((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje)/2,-vzdalenost_od_okraje,vyska_bocnice/2])
20 rotate(a=[180,0,90]) 20 rotate(a=[180,0,90])
21 translate([radidus_hrany,radidus_hrany,0]) 21 translate([radidus_hrany,radidus_hrany,0])
22 translate([-tloustka_bocnice,-tloustka_bocnice,0]) 22 translate([-tloustka_bocnice,-tloustka_bocnice,0])
23 23
24 //obvod 24 //obvod
25 difference () { 25 difference () {
26   -  
27   26  
28 minkowski() 27 minkowski()
29 { 28 {
30 cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,vyska_bocnice+tloustka_plbase]); // base plastics brick 29 cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,vyska_bocnice+tloustka_plbase]); // base plastics brick
31 cylinder(r=radidus_hrany,h=0.1); 30 cylinder(r=radidus_hrany,h=0.1);
32 } 31 }
-   32  
33 translate([tloustka_bocnice,tloustka_bocnice,-0.1]) 33 translate([tloustka_bocnice,tloustka_bocnice,-0.1])
34 minkowski() 34 minkowski()
35 { 35 {
36 cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany,vyska_bocnice+tloustka_plbase+0.2]); // base plastics brick 36 cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany,vyska_bocnice+tloustka_plbase+0.2]); // base plastics brick
37 cylinder(r=radidus_hrany,h=0.1); 37 cylinder(r=radidus_hrany,h=0.1);
38 } 38 }
39 39
40 40
41 translate([-radidus_hrany-tloustka_bocnice,-radidus_hrany-tloustka_bocnice,-0.1]) 41 translate([-radidus_hrany-tloustka_bocnice,-radidus_hrany-tloustka_bocnice,-0.1])
42 cube([vzdalenost_der/2+tloustka_bocnice,vzdalenost_der/2+tloustka_bocnice,vyska_bocnice+tloustka_plbase+0.2]); 42 cube([vzdalenost_der/2+tloustka_bocnice,vzdalenost_der/2+tloustka_bocnice,vyska_bocnice+tloustka_plbase+0.2]);
43 43
44 44
45 translate([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-radidus_hrany+2*tloustka_bocnice-vzdalenost_der/2,-radidus_hrany-tloustka_bocnice,-0.1]) 45 translate([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-radidus_hrany+2*tloustka_bocnice-vzdalenost_der/2,-radidus_hrany-tloustka_bocnice,-0.1])
46 cube([vzdalenost_der/2+tloustka_bocnice,vzdalenost_der/2+tloustka_bocnice,vyska_bocnice+tloustka_plbase+0.2]); 46 cube([vzdalenost_der/2+tloustka_bocnice,vzdalenost_der/2+tloustka_bocnice,vyska_bocnice+tloustka_plbase+0.2]);
47 47
48 48
49 translate([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-radidus_hrany+2*tloustka_bocnice-vzdalenost_der/2,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-radidus_hrany+2*tloustka_bocnice-vzdalenost_der/2,-0.1]) 49 translate([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-radidus_hrany+2*tloustka_bocnice-vzdalenost_der/2,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-radidus_hrany+2*tloustka_bocnice-vzdalenost_der/2,-0.1])
50 cube([vzdalenost_der/2+tloustka_bocnice,vzdalenost_der/2+tloustka_bocnice,vyska_bocnice+tloustka_plbase+0.2]); 50 cube([vzdalenost_der/2+tloustka_bocnice,vzdalenost_der/2+tloustka_bocnice,vyska_bocnice+tloustka_plbase+0.2]);
51 51
52 52
53 translate([-radidus_hrany-tloustka_bocnice,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-radidus_hrany+2*tloustka_bocnice-vzdalenost_der/2,-0.1]) 53 translate([-radidus_hrany-tloustka_bocnice,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-radidus_hrany+2*tloustka_bocnice-vzdalenost_der/2,-0.1])
54 cube([vzdalenost_der/2+tloustka_bocnice,vzdalenost_der/2+tloustka_bocnice,vyska_bocnice+tloustka_plbase+0.2]); 54 cube([vzdalenost_der/2+tloustka_bocnice,vzdalenost_der/2+tloustka_bocnice,vyska_bocnice+tloustka_plbase+0.2]);
55 } 55 }
56 56
57 -  
58   -  
59 -  
60 -  
61 -  
62 -  
63 -  
64 -  
65 //pro vyboceni sloupku 57 //pro vyboceni sloupku
66 58
67 translate([-((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje)/2,-vzdalenost_od_okraje,vyska_bocnice/2]) 59 translate([-((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje)/2,-vzdalenost_od_okraje,vyska_bocnice/2])
68 rotate(a=[180,0,90]) 60 rotate(a=[180,0,90])
69 translate([radidus_hrany,radidus_hrany,0]) 61 translate([radidus_hrany,radidus_hrany,0])
70 translate([-2*tloustka_bocnice,-2*tloustka_bocnice,0]) 62 translate([-2*tloustka_bocnice,-2*tloustka_bocnice,0])
71 difference () { 63 difference () {
72   -  
73   -  
74 minkowski() 64 minkowski()
75 { 65 {
76 cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+4*tloustka_bocnice,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+4*tloustka_bocnice,vyska_bocnice+tloustka_plbase]); // base plastics brick 66 cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+4*tloustka_bocnice,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+4*tloustka_bocnice,vyska_bocnice+tloustka_plbase]); // base plastics brick
77 cylinder(r=radidus_hrany,h=0.1); 67 cylinder(r=radidus_hrany,h=0.1);
78 } 68 }
79 translate([tloustka_bocnice,tloustka_bocnice,-0.1]) 69 translate([tloustka_bocnice,tloustka_bocnice,-0.1])
80 minkowski() 70 minkowski()
81 { -  
82 71 {
83 -  
84 cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,vyska_bocnice+tloustka_plbase+0.2]); // base plastics brick 72 cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,vyska_bocnice+tloustka_plbase+0.2]); // base plastics brick
85 cylinder(r=radidus_hrany,h=0.1); 73 cylinder(r=radidus_hrany,h=0.1);
86 } 74 }
87 75
88 translate([-radidus_hrany+vzdalenost_der/2+tloustka_bocnice+1,-radidus_hrany-0.25,-0.1]) 76 translate([-radidus_hrany+vzdalenost_der/2+tloustka_bocnice+1,-radidus_hrany-0.25,-0.1])
-   77 cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje+4*tloustka_bocnice-vzdalenost_der-2*tloustka_bocnice-2,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje+4*tloustka_bocnice+0.5,vyska_bocnice+tloustka_plbase+0.2]);
89   78  
90 cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje+4*tloustka_bocnice-vzdalenost_der-2*tloustka_bocnice-2,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje+4*tloustka_bocnice+0.5,vyska_bocnice+tloustka_plbase+0.2]); -  
91   79  
92   -  
93 translate([-radidus_hrany-0.25,-radidus_hrany+vzdalenost_der/2+tloustka_bocnice+1,-0.1]) 80 translate([-radidus_hrany-0.25,-radidus_hrany+vzdalenost_der/2+tloustka_bocnice+1,-0.1])
94   -  
95 cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje+4*tloustka_bocnice+0.5,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje+4*tloustka_bocnice-vzdalenost_der-2*tloustka_bocnice-2,vyska_bocnice+tloustka_plbase+0.2]); 81 cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje+4*tloustka_bocnice+0.5,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje+4*tloustka_bocnice-vzdalenost_der-2*tloustka_bocnice-2,vyska_bocnice+tloustka_plbase+0.2]);
96 -  
97 -  
98 -  
99 82 }
100 } -  
101 83
102 //SLOUPKY 84 //SLOUPKY
103 //------------------------------------------------------------ 85 //------------------------------------------------------------
104 //sloupek 1 86 //sloupek 1
105   87  
106 translate([(-(pocet_der2)*vzdalenost_der)/2-tloustka_bocnice,-tloustka_bocnice,vyska_bocnice/2-(vyska_matice+2*tloustka_bocnice+0.1)-tloustka_plbase]) 88 translate([(-(pocet_der2)*vzdalenost_der)/2-tloustka_bocnice,-tloustka_bocnice,vyska_bocnice/2-(vyska_matice+2*tloustka_bocnice+0.1)-tloustka_plbase])
107 sloupek (); 89 sloupek ();
108   90  
109 //sloupek 2 91 //sloupek 2
110   92  
111 translate([((pocet_der2)*vzdalenost_der)/2+tloustka_bocnice,-tloustka_bocnice,vyska_bocnice/2-(vyska_matice+2*tloustka_bocnice+0.1)-tloustka_plbase]) 93 translate([((pocet_der2)*vzdalenost_der)/2+tloustka_bocnice,-tloustka_bocnice,vyska_bocnice/2-(vyska_matice+2*tloustka_bocnice+0.1)-tloustka_plbase])
112 rotate(a=[0,0,90]) 94 rotate(a=[0,0,90])
113 sloupek (); 95 sloupek ();
114   96  
115 //sloupek 3 97 //sloupek 3
116   98  
117 translate([((pocet_der2)*vzdalenost_der)/2+tloustka_bocnice, (pocet_der1)*vzdalenost_der+tloustka_bocnice,vyska_bocnice/2-(vyska_matice+2*tloustka_bocnice+0.1)-tloustka_plbase]) 99 translate([((pocet_der2)*vzdalenost_der)/2+tloustka_bocnice, (pocet_der1)*vzdalenost_der+tloustka_bocnice,vyska_bocnice/2-(vyska_matice+2*tloustka_bocnice+0.1)-tloustka_plbase])
118 rotate(a=[0,0,180]) 100 rotate(a=[0,0,180])
119 sloupek (); 101 sloupek ();
120   102  
121 //sloupek 4 103 //sloupek 4
122   104  
123 translate([-((pocet_der2)*vzdalenost_der)/2-tloustka_bocnice, (pocet_der1)*vzdalenost_der+tloustka_bocnice,vyska_bocnice/2-(vyska_matice+2*tloustka_bocnice+0.1)-tloustka_plbase]) 105 translate([-((pocet_der2)*vzdalenost_der)/2-tloustka_bocnice, (pocet_der1)*vzdalenost_der+tloustka_bocnice,vyska_bocnice/2-(vyska_matice+2*tloustka_bocnice+0.1)-tloustka_plbase])
124 rotate(a=[0,0,270]) 106 rotate(a=[0,0,270])
125 sloupek (); -  
126 -  
127 -  
128   -  
129 107 sloupek ();
130   -  
131 } 108 }
132   109  
133 //---------------------------------------------------- 110 //----------------------------------------------------
134 //LOGO MLAB 111 //LOGO MLAB
135 /* 112 /*
136 translate([(5-(pocet_der2)*vzdalenost_der)/2,0,0]) 113 translate([(5-(pocet_der2)*vzdalenost_der)/2,0,0])
Line 139... Line 116...
139 scale(v = [logo_sirka, logo_vyska, 0.3]) 116 scale(v = [logo_sirka, logo_vyska, 0.3])
140 MLAB_logo_short(); 117 MLAB_logo_short();
141 */ 118 */
142   119  
143   120  
-   121  
-   122 //plbase na dno
144 translate([-0.5,-0.5,vyska_bocnice/2-tloustka_plbase/2+0.05]) 123 translate([-0.5,-0.5,vyska_bocnice/2-tloustka_plbase/2+0.05])
145 rotate(a=[0,0,0]) 124 rotate(a=[0,0,0])
146 { 125 {
147 -  
148 -  
149 plbase_vrchni_kryt_pro_odecet(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice,-0.5,tloustka_plbase+0.1); 126 plbase_vrchni_kryt_pro_odecet(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice,-0.5,tloustka_plbase+0.1);
150   -  
151 } 127 }
152   128  
153   129  
154 } 130 }
155 } 131 }
156   132