Rev 4586 Rev 4589
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 minkowski() 27 minkowski()
28 { 28 {
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 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 cylinder(r=radidus_hrany,h=0.1); 30 cylinder(r=radidus_hrany,h=0.01);
31 } 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() -  
35 { 34
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 35 cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje,vyska_bocnice+tloustka_plbase+0.2]);
37 cylinder(r=radidus_hrany,h=0.1); -  
38 } -  
39 36
40 37
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]); -  
43 -  
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]) -  
46 cube([vzdalenost_der/2+tloustka_bocnice,vzdalenost_der/2+tloustka_bocnice,vyska_bocnice+tloustka_plbase+0.2]); -  
47 -  
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]) -  
50 cube([vzdalenost_der/2+tloustka_bocnice,vzdalenost_der/2+tloustka_bocnice,vyska_bocnice+tloustka_plbase+0.2]); -  
51 -  
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]) -  
54 cube([vzdalenost_der/2+tloustka_bocnice,vzdalenost_der/2+tloustka_bocnice,vyska_bocnice+tloustka_plbase+0.2]); -  
55 } 38
56 39 }
57 //pro vyboceni sloupku -  
58 40
59 translate([-((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje)/2,-vzdalenost_od_okraje,vyska_bocnice/2]) -  
60 rotate(a=[180,0,90]) -  
61 translate([radidus_hrany,radidus_hrany,0]) -  
62 translate([-2*tloustka_bocnice,-2*tloustka_bocnice,0]) -  
63 difference () { -  
64 minkowski() -  
65 { -  
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 -  
67 cylinder(r=radidus_hrany,h=0.1); -  
68 } -  
69 translate([tloustka_bocnice,tloustka_bocnice,-0.1]) -  
70 minkowski() -  
71 { -  
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 -  
73 cylinder(r=radidus_hrany,h=0.1); -  
74 } -  
75 41
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]); -  
78   -  
79   -  
80 translate([-radidus_hrany-0.25,-radidus_hrany+vzdalenost_der/2+tloustka_bocnice+1,-0.1]) -  
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]); -  
82 } -  
83 42
84 //SLOUPKY 43 //SLOUPKY
85 //------------------------------------------------------------ 44 //------------------------------------------------------------
86 //sloupek 1 45 //sloupek 1
87   46  
88 translate([(-(pocet_der2)*vzdalenost_der)/2-tloustka_bocnice,-tloustka_bocnice,vyska_bocnice/2-(vyska_matice+2*tloustka_bocnice+0.1)-tloustka_plbase]) 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])
89 sloupek (); 48 sloupek ();
90   49  
91 //sloupek 2 50 //sloupek 2
92   51  
93 translate([((pocet_der2)*vzdalenost_der)/2+tloustka_bocnice,-tloustka_bocnice,vyska_bocnice/2-(vyska_matice+2*tloustka_bocnice+0.1)-tloustka_plbase]) 52 translate([((pocet_der2)*vzdalenost_der)/2+tloustka_bocnice,-tloustka_bocnice,vyska_bocnice/2-(vyska_matice+2*tloustka_bocnice+0.1)-tloustka_plbase])
94 rotate(a=[0,0,90]) 53 rotate(a=[0,0,90])
95 sloupek (); 54 sloupek ();
96   55  
97 //sloupek 3 56 //sloupek 3
98   57  
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]) 58 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])
100 rotate(a=[0,0,180]) 59 rotate(a=[0,0,180])
101 sloupek (); 60 sloupek ();
102   61  
103 //sloupek 4 62 //sloupek 4
104   63  
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]) 64 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])
106 rotate(a=[0,0,270]) 65 rotate(a=[0,0,270])
107 sloupek (); 66 sloupek ();
108 } 67 }
109   68  
110 //---------------------------------------------------- 69 //----------------------------------------------------
111 //LOGO MLAB 70 //LOGO MLAB
112 /* 71 /*
113 translate([(5-(pocet_der2)*vzdalenost_der)/2,0,0]) 72 translate([(5-(pocet_der2)*vzdalenost_der)/2,0,0])
114 translate ([0, -vzdalenost_od_okraje-tloustka_bocnice*1/2,0]) // 73 translate ([0, -vzdalenost_od_okraje-tloustka_bocnice*1/2,0]) //
115 rotate([0, 90, 270]) 74 rotate([0, 90, 270])
116 scale(v = [logo_sirka, logo_vyska, 0.3]) 75 scale(v = [logo_sirka, logo_vyska, 0.3])
117 MLAB_logo_short(); 76 MLAB_logo_short();
118 */ 77 */
119   78  
120   79  
121   80  
122 //plbase na dno 81 //plbase odecet na kryt
123 translate([-0.5,-0.5,vyska_bocnice/2-tloustka_plbase/2+0.05]) 82 translate([0,0,vyska_bocnice/2-tloustka_plbase/2+0.05])
124 rotate(a=[0,0,0]) 83 rotate(a=[0,0,0])
125 { 84 {
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); 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);
127 } 86 }
128   87  
129   88  
130 } 89 }
131 } 90 }
132   91  
133   92  
134 93
135   94  
136 95