Rev 4571 Rev 4590
Line 1... Line 1...
1 use <text/Write.scad> 1 use <text/Write.scad>
2 use <MLAB_logo.scad> 2 use <MLAB_logo.scad>
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   26  
27   27 minkowski()
28 minkowski() 28 {
29 { 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
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 30 cylinder(r=radidus_hrany,h=0.01);
31 cylinder(r=radidus_hrany,h=0.1); 31 }
32 } 32  
33 translate([tloustka_bocnice,tloustka_bocnice,-0.1]) 33 translate([tloustka_bocnice-radidus_hrany,tloustka_bocnice-radidus_hrany,-0.1])
34 minkowski() 34
35 { 35 cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje,vyska_bocnice+tloustka_plbase+0.2]);
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
37 cylinder(r=radidus_hrany,h=0.1); 37
38 } 38
39 39 }
40 40
41 translate([-radidus_hrany-tloustka_bocnice,-radidus_hrany-tloustka_bocnice,-0.1]) 41
42 cube([vzdalenost_der/2+tloustka_bocnice,vzdalenost_der/2+tloustka_bocnice,vyska_bocnice+tloustka_plbase+0.2]); 42
43 43 //SLOUPKY
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 //sloupek 1
46 cube([vzdalenost_der/2+tloustka_bocnice,vzdalenost_der/2+tloustka_bocnice,vyska_bocnice+tloustka_plbase+0.2]); 46  
47 47 translate([(-(pocet_der2)*vzdalenost_der)/2-vzdalenost_od_okraje+prumer_matice/2,-vzdalenost_od_okraje+prumer_matice/2,vyska_bocnice/2-(vyska_matice+2*tloustka_bocnice+0.1)-tloustka_plbase])
48 48 sloupek ();
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  
50 cube([vzdalenost_der/2+tloustka_bocnice,vzdalenost_der/2+tloustka_bocnice,vyska_bocnice+tloustka_plbase+0.2]); 50 //sloupek 2
51 51  
52 52 translate([((pocet_der2)*vzdalenost_der)/2+vzdalenost_od_okraje-prumer_matice/2,-vzdalenost_od_okraje+prumer_matice/2,vyska_bocnice/2-(vyska_matice+2*tloustka_bocnice+0.1)-tloustka_plbase])
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 rotate(a=[0,0,90])
54 cube([vzdalenost_der/2+tloustka_bocnice,vzdalenost_der/2+tloustka_bocnice,vyska_bocnice+tloustka_plbase+0.2]); 54 sloupek ();
55 } 55  
56 56 //sloupek 3
57 57  
58   58 translate([((pocet_der2)*vzdalenost_der)/2+vzdalenost_od_okraje-prumer_matice/2, (pocet_der1)*vzdalenost_der+vzdalenost_od_okraje-prumer_matice/2,vyska_bocnice/2-(vyska_matice+2*tloustka_bocnice+0.1)-tloustka_plbase])
59 59 rotate(a=[0,0,180])
60 60 sloupek ();
61 61  
62 62 //sloupek 4
63 63  
64 64 translate([-((pocet_der2)*vzdalenost_der)/2-vzdalenost_od_okraje+prumer_matice/2, (pocet_der1)*vzdalenost_der+vzdalenost_od_okraje-prumer_matice/2,vyska_bocnice/2-(vyska_matice+2*tloustka_bocnice+0.1)-tloustka_plbase])
65 //pro vyboceni sloupku 65 rotate(a=[0,0,270])
66 66 sloupek ();
67 translate([-((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje)/2,-vzdalenost_od_okraje,vyska_bocnice/2]) 67 }
68 rotate(a=[180,0,90]) 68  
69 translate([radidus_hrany,radidus_hrany,0]) 69 //----------------------------------------------------
70 translate([-2*tloustka_bocnice,-2*tloustka_bocnice,0]) 70 //LOGO MLAB
71 difference () { 71 /*
72   72 translate([(5-(pocet_der2)*vzdalenost_der)/2,0,0])
73   73 translate ([0, -vzdalenost_od_okraje-tloustka_bocnice*1/2,0]) //
74 minkowski() 74 rotate([0, 90, 270])
75 { 75 scale(v = [logo_sirka, logo_vyska, 0.3])
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 76 MLAB_logo_short();
77 cylinder(r=radidus_hrany,h=0.1); 77 */
78 } 78  
79 translate([tloustka_bocnice,tloustka_bocnice,-0.1]) 79  
80 minkowski() 80  
81 { 81 //plbase odecet na kryt
82 82 translate([0,0,vyska_bocnice/2-tloustka_plbase/2+0.05])
83 83 rotate(a=[0,0,0])
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 84 {
85 cylinder(r=radidus_hrany,h=0.1); 85 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,tloustka_plbase+0.1);
86 } 86 }
87 87  
88 translate([-radidus_hrany+vzdalenost_der/2+tloustka_bocnice+1,-radidus_hrany-0.25,-0.1]) 88  
89   89 }
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]); 90 }
91   91  
92   92  
93 translate([-radidus_hrany-0.25,-radidus_hrany+vzdalenost_der/2+tloustka_bocnice+1,-0.1]) 93
94   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]); -  
96 -  
97 -  
98 -  
99 -  
100 } -  
101 -  
102 //SLOUPKY -  
103 //------------------------------------------------------------ -  
104 //sloupek 1 -  
105   -  
106 translate([(-(pocet_der2)*vzdalenost_der)/2-tloustka_bocnice,-tloustka_bocnice,vyska_bocnice/2-(vyska_matice+2*tloustka_bocnice+0.1)-tloustka_plbase]) -  
107 sloupek (); -  
108   -  
109 //sloupek 2 -  
110   -  
111 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]) -  
113 sloupek (); -  
114   -  
115 //sloupek 3 -  
116   -  
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]) -  
118 rotate(a=[0,0,180]) -  
119 sloupek (); -  
120   -  
121 //sloupek 4 -  
122   -  
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]) -  
124 rotate(a=[0,0,270]) -  
125 sloupek (); -  
126 -  
127 -  
128   -  
129 -  
130   -  
131 } -  
132   -  
133 //---------------------------------------------------- -  
134 //LOGO MLAB -  
135 /* -  
136 translate([(5-(pocet_der2)*vzdalenost_der)/2,0,0]) -  
137 translate ([0, -vzdalenost_od_okraje-tloustka_bocnice*1/2,0]) // -  
138 rotate([0, 90, 270]) -  
139 scale(v = [logo_sirka, logo_vyska, 0.3]) -  
140 MLAB_logo_short(); -  
141 */ -  
142   -  
143   -  
144 translate([-0.5,-0.5,vyska_bocnice/2-tloustka_plbase/2+0.05]) -  
145 rotate(a=[0,0,0]) -  
146 { -  
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); -  
150   -  
151 } -  
152   -  
153   -  
154 } -  
155 } -  
156   -  
157   -  
158 -  
159   -  
160 95
161 96