Rev 4421 Rev 4571
1 use <text/Write.scad> 1 use <text/Write.scad>
-   2 include <manufactury_conf.scad>
-   3 include <../configuration.scad>
2 /* 4 /*
3 pocet_der1=5; 5 pocet_der1=5;
4 pocet_der2=3; 6 pocet_der2=3;
5 radidus_hrany=5; 7 radidus_hrany=5;
6 vzdalenost_der=10.16; 8 vzdalenost_der=10.16;
7 vzdalenost_od_okraje=8.8; 9 vzdalenost_od_okraje=8.8;
8 prumer_sroubu=3.3; 10 prumer_sroubu=3.3;
9   11  
10 tloustka_plbase=2; 12 tloustka_plbase=2;
11 prekryti_der=0.3; 13 prekryti_der=0.3;
12   14  
13 vyska_nozicky=5; 15 vyska_nozicky=5;
14   16  
15 vyska_hlavy = 3.5; 17 vyska_hlavy = 3.5;
16 prumer_hlavy=6; 18 prumer_hlavy=6;
17 */ 19 */
18   20  
19 //PLBASE ZAKLADNI 21 //PLBASE ZAKLADNI
20 //------------------------------------------------------------ 22 //------------------------------------------------------------
21 module plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der){ 23 module plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der,tloustka_bocnice){
22   24  
23 difference () { 25 difference () {
24 //union () { 26 //union () {
25 translate([radidus_hrany,radidus_hrany,0]) 27 translate([radidus_hrany,radidus_hrany,0])
26 minkowski() 28 minkowski()
27 { 29 {
28 cube([(pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany,tloustka_plbase]); // base plastics brick 30 cube([(pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,tloustka_plbase]); // base plastics brick
29 cylinder(r=radidus_hrany,h=0.1); 31 cylinder(r=radidus_hrany,h=0.1);
30 } 32 }
31 33
32   34  
33 for (i = [0:1:pocet_der1-1]) { 35 for (i = [0:1:pocet_der1-1]) {
34 for (a = [0:1:pocet_der2-1]) { 36 for (a = [0:1:pocet_der2-1]) {
35 37
36 translate([vzdalenost_od_okraje+vzdalenost_der*i,vzdalenost_od_okraje+vzdalenost_der*a, (tloustka_plbase-prekryti_der)/2]) // center top screw 38 translate([vzdalenost_od_okraje+vzdalenost_der*i+tloustka_bocnice,vzdalenost_od_okraje+vzdalenost_der*a+tloustka_bocnice, (tloustka_plbase-prekryti_der)/2]) // center top screw
37 cylinder(((tloustka_plbase-prekryti_der)), d=prumer_sroubu, center=true); 39 cylinder(((tloustka_plbase-prekryti_der)), d=prumer_sroubu, center=true);
38 } 40 }
39 } 41 }
40 42
41 translate([vzdalenost_od_okraje,vzdalenost_od_okraje, (tloustka_plbase/2)]) // center top screw -  
42 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true); -  
43 -  
44 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje, (tloustka_plbase/2)]) // center top screw -  
45 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true); -  
46   -  
47 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase/2)]) // center top screw -  
48 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true); -  
49 -  
50 translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase/2)]) // center top screw -  
51 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true); -  
52 43
53 } 44 }
54 } 45 }
55   46  
56   47  
57   48  
58 //MODEL NOZICKY PRO PLBASE 49 //MODEL NOZICKY PRO PLBASE
59 //----------------------------------------------------------- 50 //-----------------------------------------------------------
60 //průmer nozicky je roven vzdalenost_der 51 //průmer nozicky je roven vzdalenost_der
61 module nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy) 52 module nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy)
62 { 53 {
63 difference () { 54 difference () {
64 translate([0,0,-vyska_nozicky/2]) 55 translate([0,0,-vyska_nozicky/2])
65 cylinder((vyska_nozicky), d=vzdalenost_der, center=true); 56 cylinder((vyska_nozicky), d=vzdalenost_der, center=true);
66 translate([0,0,-(vyska_nozicky-vyska_hlavy/2)]) 57 translate([0,0,-(vyska_nozicky-vyska_hlavy/2)])
67 cylinder((vyska_hlavy), d=prumer_hlavy, center=true); 58 cylinder((vyska_hlavy), d=prumer_hlavy, center=true);
68 translate([0,0,-vyska_nozicky/2]) 59 translate([0,0,-vyska_nozicky/2])
69 cylinder((vyska_nozicky), d=prumer_sroubu, center=true); 60 cylinder((vyska_nozicky), d=prumer_sroubu, center=true);
70 } 61 }
71 } 62 }
72   63  
73   64  
74   65  
75 //PLBASE S NOZICKAMA 66 //PLBASE S NOZICKAMA
76 //----------------------------------------------------------- 67 //-----------------------------------------------------------
77 module plbase_s_nozickama(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der,vyska_nozicky,vyska_hlavy,prumer_hlavy){ 68 module plbase_s_nozickama(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der,vyska_nozicky,vyska_hlavy,prumer_hlavy){
78 69
79 plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der); 70 plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der);
80 71
81 translate([vzdalenost_od_okraje,vzdalenost_od_okraje, (tloustka_plbase)]) // center top screw 72 translate([vzdalenost_od_okraje,vzdalenost_od_okraje, (tloustka_plbase)]) // center top screw
82 rotate(a=[180,0,0]) 73 rotate(a=[180,0,0])
83 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy); 74 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
84 75
85 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje, tloustka_plbase]) // center top screw 76 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje, tloustka_plbase]) // center top screw
86 rotate(a=[180,0,0]) 77 rotate(a=[180,0,0])
87 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy); 78 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
88   79  
89 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw 80 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw
90 rotate(a=[180,0,0]) 81 rotate(a=[180,0,0])
91 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy); 82 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
92 83
93 translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw 84 translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw
94 rotate(a=[180,0,0]) 85 rotate(a=[180,0,0])
95 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy); 86 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
96 87
97 88
98 } 89 }
99 90
100 91
101   92  
102 //PLBASE SE ZAPUSTENIM SROUBU 93 //PLBASE SE ZAPUSTENIM SROUBU
103 //------------------------------------------------------ 94 //------------------------------------------------------
104 module plbase_zapustene_srouby(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_hlavy,prekryti_der,prumer_hlavy){ 95 module plbase_zapustene_srouby(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_hlavy,prekryti_der,prumer_hlavy){
105 difference () { 96 difference () {
106 plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,(vyska_hlavy+1.5),prekryti_der); 97 plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,(vyska_hlavy+1.5),prekryti_der);
107   98  
108 translate([vzdalenost_od_okraje,vzdalenost_od_okraje, 1.5+(vyska_hlavy/2)]) // center top screw 99 translate([vzdalenost_od_okraje,vzdalenost_od_okraje, 1.5+(vyska_hlavy/2)]) // center top screw
109 cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true); 100 cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true);
110 101
111 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje, 1.5+(vyska_hlavy/2)]) // center top screw 102 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje, 1.5+(vyska_hlavy/2)]) // center top screw
112 cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true); 103 cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true);
113   104  
114 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, 1.5+(vyska_hlavy/2)]) // center top screw 105 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, 1.5+(vyska_hlavy/2)]) // center top screw
115 cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true); 106 cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true);
116 107
117 translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, 1.5+(vyska_hlavy/2)]) // center top screw 108 translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, 1.5+(vyska_hlavy/2)]) // center top screw
118 cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true); 109 cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true);
119   110  
120 } 111 }
121 } 112 }
122   113  
123   114  
124 //PLBASE S NOZICKAMA polovicni pro tisk 115 //PLBASE S NOZICKAMA polovicni pro tisk
125 //----------------------------------------------------------- 116 //-----------------------------------------------------------
126 module plbase_s_nozickama_polovicni(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der,vyska_nozicky,vyska_hlavy,prumer_hlavy){ 117 module plbase_s_nozickama_polovicni(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der,vyska_nozicky,vyska_hlavy,prumer_hlavy){
127   118  
128 difference() 119 difference()
129 { 120 {
130 plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der); 121 plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der);
131 122
132 123
133 translate([-1,-1, -1]) 124 translate([-1,-1, -1])
134 125
135 cube([(pocet_der1+1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany,1+((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany)/2,tloustka_plbase+15]); 126 cube([(pocet_der1+1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany,1+((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany)/2,tloustka_plbase+15]);
136 } 127 }
137 128
138   129  
139   130  
140 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw 131 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw
141 rotate(a=[180,0,0]) 132 rotate(a=[180,0,0])
142 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy); 133 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
143 134
144 translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw 135 translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw
145 rotate(a=[180,0,0]) 136 rotate(a=[180,0,0])
146 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy); 137 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
147   138  
148 139
149 140
150 141
151 } 142 }
152   143  
153 //PLBASE polovicni pro tisk 144 //PLBASE polovicni pro tisk
154 //----------------------------------------------------------- 145 //-----------------------------------------------------------
155 module plbase_polovicni(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der,vyska_nozicky,vyska_hlavy,prumer_hlavy){ 146 module plbase_polovicni(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der,vyska_nozicky,vyska_hlavy,prumer_hlavy){
156   147  
157 difference() 148 difference()
158 { 149 {
159 plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der); 150 plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der);
160 151
161 152
162 translate([-1,-1, -1]) 153 translate([-1,-1, -1])
163 154
164 cube([(pocet_der1+1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany,1+((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany)/2,tloustka_plbase+15]); 155 cube([(pocet_der1+1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany,1+((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany)/2,tloustka_plbase+15]);
165 } 156 }
166 157
167 158
168 } 159 }
169 //PLBASE ZAKLADNI - bez der s napisem produktu 160 //PLBASE ZAKLADNI - bez der s napisem produktu
170 //------------------------------------------------------------ 161 //------------------------------------------------------------
171 module plbase_bez_der_napis(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der,box_jmeno){ 162 module plbase_bez_der_napis(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der,box_jmeno,tloustka_bocnice){
172   163  
173   164  
174   165  
175 difference () { 166 difference () {
176 //union () { 167 //union () {
177 translate([radidus_hrany,radidus_hrany,0]) 168 translate([radidus_hrany,radidus_hrany,0])
178 minkowski() 169 minkowski()
179 { 170 {
180 cube([(pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany,tloustka_plbase]); // base plastics brick 171 cube([(pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,tloustka_plbase]); // base plastics brick
181 cylinder(r=radidus_hrany,h=0.1); 172 cylinder(r=radidus_hrany,h=0.1);
182 } 173 }
183 translate([radidus_hrany,radidus_hrany,0]) 174 translate([radidus_hrany,radidus_hrany,0])
184 translate([ ((pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany)/2, ((pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany)/2, tloustka_plbase/2+1]) 175 translate([ ((pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany)/2+tloustka_bocnice, ((pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany)/2+tloustka_bocnice, tloustka_plbase/2+1])
185 rotate([0,0,90]) 176 rotate([0,0,0])
186 write(box_jmeno,h=10,t=tloustka_plbase-1, space= 1.1, font = "Letters.dxf",center=true); 177 write(box_jmeno,h=10,t=tloustka_plbase-1, space= 1.1, font = "Letters.dxf",center=true);
187   178  
188 179
189 translate([vzdalenost_od_okraje,vzdalenost_od_okraje, (tloustka_plbase/2)]) // center top screw 180 translate([vzdalenost_od_okraje+tloustka_bocnice,vzdalenost_od_okraje+tloustka_bocnice, (tloustka_plbase/2)]) // center top screw
190 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true); 181 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true);
191 182
192 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje, (tloustka_plbase/2)]) // center top screw 183 translate([vzdalenost_od_okraje+tloustka_bocnice+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+tloustka_bocnice, (tloustka_plbase/2)]) // center top screw
193 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true); 184 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true);
194   185  
195 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase/2)]) // center top screw 186 translate([vzdalenost_od_okraje+tloustka_bocnice+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+tloustka_bocnice+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase/2)]) // center top screw
196 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true); 187 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true);
197 188
198 translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase/2)]) // center top screw 189 translate([vzdalenost_od_okraje+tloustka_bocnice,vzdalenost_od_okraje+tloustka_bocnice+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase/2)]) // center top screw
199 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true); 190 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true);
200 191
201 } 192 }
202 } 193 }
203   194  
204 /* -  
205 plbase_zapustene_srouby(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_hlavy,prekryti_der,prumer_hlavy); -  
206   195  
-   196  
-   197 //PLbase vrchní
-   198 //------------------------------------------------------------
-   199  
-   200  
-   201 module plbase_vrchni_kryt(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice,plbase_tolerance_horni){
-   202  
-   203 difference () {
-   204 // translate([0,((pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje+2*tloustka_bocnice)/2,0])
-   205 cube([(pocet_der2+2)*vzdalenost_der+2*vzdalenost_od_okraje+2*tloustka_bocnice,(pocet_der1+2)*vzdalenost_der+2*vzdalenost_od_okraje+2*tloustka_bocnice,tloustka_plbase],true);
-   206  
-   207
-   208 union()
-   209 {
-   210 translate([-((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje)/2,-vzdalenost_od_okraje,vyska_bocnice/2])
-   211 rotate(a=[180,0,90])
-   212 translate([radidus_hrany,radidus_hrany,0])
-   213 translate([-tloustka_bocnice,-tloustka_bocnice,0])
-   214
-   215 //obvod
-   216 difference () {
-   217  
-   218  
-   219 minkowski()
-   220 {
-   221 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
-   222 cylinder(r=radidus_hrany,h=0.1);
-   223 }
-   224 translate([tloustka_bocnice,tloustka_bocnice,-0.1])
-   225 minkowski()
-   226 {
-   227 cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany-2*plbase_tolerance_horni,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany-2*plbase_tolerance_horni,vyska_bocnice+tloustka_plbase+0.2]); // base plastics brick
-   228 cylinder(r=radidus_hrany,h=0.1);
-   229 }
-   230
-   231
-   232
-   233
-   234 translate([-radidus_hrany-tloustka_bocnice-3*plbase_tolerance_horni,-radidus_hrany-tloustka_bocnice-3*plbase_tolerance_horni,-0.2])
-   235 cube([vzdalenost_der/2+tloustka_bocnice+plbase_tolerance_horni,vzdalenost_der/2+tloustka_bocnice+plbase_tolerance_horni,vyska_bocnice+tloustka_plbase+0.4]);
-   236
-   237
-   238 translate([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-radidus_hrany+2*tloustka_bocnice-vzdalenost_der/2,-radidus_hrany-tloustka_bocnice-3*plbase_tolerance_horni,-0.2])
-   239 cube([vzdalenost_der/2+tloustka_bocnice+plbase_tolerance_horni,vzdalenost_der/2+tloustka_bocnice+plbase_tolerance_horni,vyska_bocnice+tloustka_plbase+0.4]);
-   240
-   241
-   242 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.2])
-   243 cube([vzdalenost_der/2+tloustka_bocnice+plbase_tolerance_horni,vzdalenost_der/2+tloustka_bocnice+plbase_tolerance_horni,vyska_bocnice+tloustka_plbase+0.4]);
-   244
-   245
-   246 translate([-radidus_hrany-tloustka_bocnice-3*plbase_tolerance_horni,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-radidus_hrany+2*tloustka_bocnice-vzdalenost_der/2,-0.2])
-   247 cube([vzdalenost_der/2+tloustka_bocnice+plbase_tolerance_horni,vzdalenost_der/2+tloustka_bocnice+plbase_tolerance_horni,vyska_bocnice+tloustka_plbase+0.4]);
-   248
-   249  
-   250
-   251 }
-   252
-   253
-   254
-   255
-   256 //pro vyboceni sloupku
-   257
-   258 translate([-((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje)/2,-vzdalenost_od_okraje,vyska_bocnice/2])
-   259 rotate(a=[180,0,90])
-   260 translate([radidus_hrany,radidus_hrany,0])
-   261 translate([-2*tloustka_bocnice,-2*tloustka_bocnice,0])
-   262 difference () {
-   263  
-   264 translate([-(5)*vzdalenost_der/2,-(5)*vzdalenost_der/2,0])
-   265 minkowski()
-   266 {
-   267 cube([(pocet_der1+5)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+4*tloustka_bocnice,(pocet_der2+5)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+4*tloustka_bocnice,vyska_bocnice+tloustka_plbase]); // base plastics brick
-   268 cylinder(r=radidus_hrany,h=0.1);
-   269 }
-   270 translate([tloustka_bocnice,tloustka_bocnice,-0.2])
-   271 minkowski()
-   272 {
-   273
-   274
207 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy); 275 cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice-2*plbase_tolerance_horni,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice-2*plbase_tolerance_horni,vyska_bocnice+tloustka_plbase+0.4]); // base plastics brick
-   276 cylinder(r=radidus_hrany,h=0.1);
-   277 }
-   278
-   279
-   280
-   281
-   282
-   283 }
-   284 }
-   285 //SLOUPKY
-   286 //------------------------------------------------------------
-   287 //sloupek 1
-   288  
-   289 translate([(-(pocet_der2)*vzdalenost_der)/2-tloustka_bocnice-plbase_tolerance_horni,-tloustka_bocnice-plbase_tolerance_horni,-tloustka_plbase])
-   290  
-   291 cylinder(r=prumer_sroubu/2,h=6*tloustka_plbase);
-   292  
-   293 //sloupek 2
-   294  
-   295 translate([((pocet_der2)*vzdalenost_der)/2+tloustka_bocnice-plbase_tolerance_horni,-tloustka_bocnice-plbase_tolerance_horni,-tloustka_plbase])
-   296 rotate(a=[0,0,90])
-   297 cylinder(r=prumer_sroubu/2,h=6*tloustka_plbase);
-   298  
-   299 //sloupek 3
-   300  
-   301 translate([((pocet_der2)*vzdalenost_der)/2+tloustka_bocnice-plbase_tolerance_horni, (pocet_der1)*vzdalenost_der+tloustka_bocnice-plbase_tolerance_horni,-tloustka_plbase])
-   302 rotate(a=[0,0,180])
-   303 cylinder(r=prumer_sroubu/2,h=6*tloustka_plbase);
-   304  
-   305 //sloupek 4
-   306  
-   307 translate([-((pocet_der2)*vzdalenost_der)/2-tloustka_bocnice-plbase_tolerance_horni, (pocet_der1)*vzdalenost_der+tloustka_bocnice-plbase_tolerance_horni,-tloustka_plbase])
-   308 rotate(a=[0,0,270])
-   309 cylinder(r=prumer_sroubu/2,h=6*tloustka_plbase);
-   310
-   311
-   312  
-   313
-   314  
-   315  
-   316  
-   317  
-   318  
-   319 }
-   320 }
-   321  
-   322 plbase_vrchni_kryt_pro_odecet(pocet_der1+2,pocet_der2+2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice,-0.6);
-   323  
-   324 //PLbase vrchní - pro odecet
-   325 //------------------------------------------------------------
-   326  
-   327  
-   328 module plbase_vrchni_kryt_pro_odecet(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice,plbase_tolerance_horni,tloustka_plbase){
-   329  
-   330 difference () {
-   331 translate([0,((pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje+2*tloustka_bocnice)/2,0])
-   332 cube([(pocet_der2+3)*vzdalenost_der+2*vzdalenost_od_okraje+2*tloustka_bocnice,(pocet_der1+3)*vzdalenost_der+2*vzdalenost_od_okraje+2*tloustka_bocnice,tloustka_plbase],true);
-   333  
208 334
-   335 union()
-   336 {
-   337 translate([-((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje)/2,-vzdalenost_od_okraje,vyska_bocnice/2])
-   338 rotate(a=[180,0,90])
-   339 translate([radidus_hrany,radidus_hrany,0])
-   340 translate([-tloustka_bocnice,-tloustka_bocnice,0])
-   341
-   342 //obvod
-   343 difference () {
-   344  
-   345  
-   346 minkowski()
-   347 {
-   348 cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice-2*plbase_tolerance_horni,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice-2*plbase_tolerance_horni,vyska_bocnice+tloustka_plbase]); // base plastics brick
-   349 cylinder(r=radidus_hrany,h=0.1);
-   350 }
-   351 translate([tloustka_bocnice,tloustka_bocnice,-0.1])
-   352 minkowski()
-   353 {
-   354 cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany-2*plbase_tolerance_horni,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany-2*plbase_tolerance_horni,vyska_bocnice+tloustka_plbase+0.2]); // base plastics brick
-   355 cylinder(r=radidus_hrany,h=0.1);
-   356 }
-   357
-   358
-   359
-   360
-   361 translate([-radidus_hrany-tloustka_bocnice-3*plbase_tolerance_horni,-radidus_hrany-tloustka_bocnice-3*plbase_tolerance_horni,-0.2])
-   362 cube([vzdalenost_der/2+tloustka_bocnice+plbase_tolerance_horni,vzdalenost_der/2+tloustka_bocnice+plbase_tolerance_horni,vyska_bocnice+tloustka_plbase+0.4]);
-   363
-   364
-   365 translate([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-radidus_hrany+2*tloustka_bocnice-vzdalenost_der/2,-radidus_hrany-tloustka_bocnice-3*plbase_tolerance_horni,-0.2])
-   366 cube([vzdalenost_der/2+tloustka_bocnice+plbase_tolerance_horni,vzdalenost_der/2+tloustka_bocnice+plbase_tolerance_horni,vyska_bocnice+tloustka_plbase+0.4]);
-   367
-   368
-   369 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.2])
-   370 cube([vzdalenost_der/2+tloustka_bocnice+plbase_tolerance_horni,vzdalenost_der/2+tloustka_bocnice+plbase_tolerance_horni,vyska_bocnice+tloustka_plbase+0.4]);
-   371
-   372
-   373 translate([-radidus_hrany-tloustka_bocnice-3*plbase_tolerance_horni,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-radidus_hrany+2*tloustka_bocnice-vzdalenost_der/2,-0.2])
-   374 cube([vzdalenost_der/2+tloustka_bocnice+plbase_tolerance_horni,vzdalenost_der/2+tloustka_bocnice+plbase_tolerance_horni,vyska_bocnice+tloustka_plbase+0.4]);
-   375
-   376  
-   377
-   378 }
-   379
-   380
-   381
-   382
-   383 //pro vyboceni sloupku
-   384
-   385 translate([-((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje)/2,-vzdalenost_od_okraje,vyska_bocnice/2])
-   386 rotate(a=[180,0,90])
-   387 translate([radidus_hrany,radidus_hrany,0])
-   388 translate([-2*tloustka_bocnice,-2*tloustka_bocnice,0])
-   389 difference () {
-   390  
-   391 translate([-(5)*vzdalenost_der/2,-(5)*vzdalenost_der/2,0])
-   392 minkowski()
-   393 {
-   394 cube([(pocet_der1+5)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+4*tloustka_bocnice,(pocet_der2+5)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+4*tloustka_bocnice,vyska_bocnice+tloustka_plbase]); // base plastics brick
-   395 cylinder(r=radidus_hrany,h=0.1);
-   396 }
-   397 translate([tloustka_bocnice,tloustka_bocnice,-0.2])
-   398 minkowski()
-   399 {
-   400
-   401
-   402 cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice-2*plbase_tolerance_horni,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice-2*plbase_tolerance_horni,vyska_bocnice+tloustka_plbase+0.4]); // base plastics brick
-   403 cylinder(r=radidus_hrany,h=0.1);
-   404 }
-   405
-   406
-   407
-   408
-   409
-   410 }
-   411 }
-   412 //SLOUPKY
-   413 //------------------------------------------------------------
-   414 //sloupek 1
-   415  
-   416 translate([(-(pocet_der2)*vzdalenost_der)/2-tloustka_bocnice-plbase_tolerance_horni,-tloustka_bocnice-plbase_tolerance_horni,-tloustka_plbase])
-   417  
-   418 cylinder(r=prumer_sroubu/2,h=6*tloustka_plbase);
-   419  
-   420 //sloupek 2
-   421  
-   422 translate([((pocet_der2)*vzdalenost_der)/2+tloustka_bocnice-plbase_tolerance_horni,-tloustka_bocnice-plbase_tolerance_horni,-tloustka_plbase])
-   423 rotate(a=[0,0,90])
-   424 cylinder(r=prumer_sroubu/2,h=6*tloustka_plbase);
-   425  
-   426 //sloupek 3
-   427  
-   428 translate([((pocet_der2)*vzdalenost_der)/2+tloustka_bocnice-plbase_tolerance_horni, (pocet_der1)*vzdalenost_der+tloustka_bocnice-plbase_tolerance_horni,-tloustka_plbase])
-   429 rotate(a=[0,0,180])
-   430 cylinder(r=prumer_sroubu/2,h=6*tloustka_plbase);
-   431  
-   432 //sloupek 4
-   433  
-   434 translate([-((pocet_der2)*vzdalenost_der)/2-tloustka_bocnice-plbase_tolerance_horni, (pocet_der1)*vzdalenost_der+tloustka_bocnice-plbase_tolerance_horni,-tloustka_plbase])
-   435 rotate(a=[0,0,270])
-   436 cylinder(r=prumer_sroubu/2,h=6*tloustka_plbase);
-   437
-   438
-   439  
-   440
-   441  
-   442  
-   443  
-   444  
-   445  
-   446 }
-   447 }
-   448  
-   449  
209   450  
-   451
210 452