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