Rev 4593 Rev 4658
1 //Funkce otvuru pro ruzne prvky umistene do celicek 1 //Funkce otvuru pro ruzne prvky umistene do celicek
2   2  
3 /*OBSAHUJE 3 /*OBSAHUJE
4 1A) 4 1A)
5 1B) 5 1B)
6 1C) - Pro modul USBI2C01A 6 1C) - Pro modul USBI2C01A
7 1D) - Pro konektor MIC338 7 1D) - Pro konektor MIC338
8 1E) - Pro modul UNIPOWER02A 8 1E) - Pro modul UNIPOWER02A
9 1F) - Pro modul I2CDIFF01A 9 1F) - Pro modul I2CDIFF01A
10 1G) - Pro modul UNIPOWER03A 10 1G) - Pro modul UNIPOWER03A
11 1H) - Větrací otvor 11 1H) - Větrací otvor
12 12
13 2A) - Otvor na IR 13 2A) - Otvor na IR
14 */ 14 */
15   15  
16   16  
17 /*1C) - Pro modul USBI2C01A 17 /*1C) - Pro modul USBI2C01A
18 -------------------------------------------------------- 18 --------------------------------------------------------
19 -------------------------------------------------------- 19 --------------------------------------------------------
20 pocet_der_dane_strany - protoze nelze definovat na jake strane bude dira umistena, proto se musí rucne zadat pocet der zvolene strany krabicky 20 pocet_der_dane_strany - protoze nelze definovat na jake strane bude dira umistena, proto se musí rucne zadat pocet der zvolene strany krabicky
21 posun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celicka 21 posun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celicka
22 vzdalenost_der - definuje roztec der 22 vzdalenost_der - definuje roztec der
23   23  
24 modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu. 24 modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu.
25   25  
26 */ 26 */
27   27  
28 module USBI2C01A(tloustka_bocnice,vzdalenost_der) //uz upraveno 28 module USBI2C01A(tloustka_bocnice,vzdalenost_der) //uz upraveno
29 { 29 {
30 USBI2C01A_sirka_kon=12; //sirka konektoru 30 USBI2C01A_sirka_kon=12; //sirka konektoru
31 USBI2C01A_vyska_kon=11; //vyska konektoru 31 USBI2C01A_vyska_kon=11; //vyska konektoru
32 USBI2C01A_sirka_mod_otvory=3; //kolik modul zabira der 32 USBI2C01A_sirka_mod_otvory=3; //kolik modul zabira der
33 USBI2C01A_svyska_nad_plbase=6; //kolik modul zabira der 33 USBI2C01A_svyska_nad_plbase=6; //kolik modul zabira der
34 translate([vzdalenost_der*(USBI2C01A_sirka_mod_otvory-1)/2,0,USBI2C01A_vyska_kon/2+USBI2C01A_svyska_nad_plbase]) 34 translate([vzdalenost_der*(USBI2C01A_sirka_mod_otvory-1)/2,0,USBI2C01A_vyska_kon/2+USBI2C01A_svyska_nad_plbase])
35 cube(size = [USBI2C01A_sirka_kon,tloustka_bocnice+0.2,USBI2C01A_vyska_kon], center = true); 35 cube(size = [USBI2C01A_sirka_kon,tloustka_bocnice+0.2,USBI2C01A_vyska_kon], center = true);
36 36
37 } 37 }
38   38  
39 /*1D) - Pro konektor MIC338 39 /*1D) - Pro konektor MIC338
40 -------------------------------------------------------- 40 --------------------------------------------------------
41 -------------------------------------------------------- 41 --------------------------------------------------------
42 */ 42 */
43 //posun_od_okraje - zadava se o kolik der se ma posunot otvor od středu celicka v nasobcich roztece der 43 //posun_od_okraje - zadava se o kolik der se ma posunot otvor od středu celicka v nasobcich roztece der
44   44  
45 module MIC338(tloustka_bocnice,vzdalenost_der,vyska_bocnice) 45 module MIC338(tloustka_bocnice,vzdalenost_der,vyska_bocnice)
46 { 46 {
47 MIC338_polomer_kon=8; //polomer montazniho otvoru 47 MIC338_polomer_kon=8; //polomer montazniho otvoru
48 translate([0,0,vyska_bocnice/2]) 48 translate([0,0,vyska_bocnice/2])
49 rotate(a=[90,0,0]) 49 rotate(a=[90,0,0])
50 cylinder(h=tloustka_bocnice+0.1, r=MIC338_polomer_kon+0.1, center=true); 50 cylinder(h=tloustka_bocnice+0.1, r=MIC338_polomer_kon+0.1, center=true);
51 51
52 } 52 }
53   53  
54 /*1E) - Pro modul UNIPOWER02A 54 /*1E) - Pro modul UNIPOWER02A
55 -------------------------------------------------------- 55 --------------------------------------------------------
56 -------------------------------------------------------- 56 --------------------------------------------------------
57 pocet_der_dane_strany - protoze nelze definovat na jake strane bude dira umistena, proto se musí rucne zadat pocet der zvolene strany krabicky 57 pocet_der_dane_strany - protoze nelze definovat na jake strane bude dira umistena, proto se musí rucne zadat pocet der zvolene strany krabicky
58 posun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celicka 58 posun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celicka
59 vzdalenost_der - definuje rozec der 59 vzdalenost_der - definuje rozec der
60   60  
61 modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu. 61 modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu.
62   62  
63 */ 63 */
64   64  
65   65  
66   66  
67 module UNIPOWER02A(tloustka_bocnice,vzdalenost_der) 67 module UNIPOWER02A(tloustka_bocnice,vzdalenost_der)
68 { 68 {
69 UNIPOWER02A_sirka_kon=10; //sirka konektoru 69 UNIPOWER02A_sirka_kon=10; //sirka konektoru
70 UNIPOWER02A_vyska_kon=11; //vyska konektoru 70 UNIPOWER02A_vyska_kon=11; //vyska konektoru
71 UNIPOWER02A_sirka_mod_otvory=4; //kolik modul zabira der 71 UNIPOWER02A_sirka_mod_otvory=4; //kolik modul zabira der
72 UNIPOWER02A_vzdalenost_konektoru=6; //vzdalenost kraje konektoru od středu šroubu 72 UNIPOWER02A_vzdalenost_konektoru=6; //vzdalenost kraje konektoru od středu šroubu
73 UNIPOWER02A_vyska_nad_plbase=6; //vyska mezi albase a konektorem 73 UNIPOWER02A_vyska_nad_plbase=6; //vyska mezi albase a konektorem
74 translate([UNIPOWER02A_vzdalenost_konektoru,-tloustka_bocnice/2-0.05,UNIPOWER02A_vyska_nad_plbase]) 74 translate([UNIPOWER02A_vzdalenost_konektoru,-tloustka_bocnice/2-0.05,UNIPOWER02A_vyska_nad_plbase])
75 cube(size = [UNIPOWER02A_sirka_kon,tloustka_bocnice+0.1,UNIPOWER02A_vyska_kon], center = false); 75 cube(size = [UNIPOWER02A_sirka_kon,tloustka_bocnice+0.1,UNIPOWER02A_vyska_kon], center = false);
76 } 76 }
77 77
78 /*1F) - Pro modul I2CDIFF01A 78 /*1F) - Pro modul I2CDIFF01A
79 -------------------------------------------------------- 79 --------------------------------------------------------
80 -------------------------------------------------------- 80 --------------------------------------------------------
81 pocet_der_dane_strany - protoze nelze definovat na jake strane bude dira umistena, proto se musí rucne zadat pocet der zvolene strany krabicky 81 pocet_der_dane_strany - protoze nelze definovat na jake strane bude dira umistena, proto se musí rucne zadat pocet der zvolene strany krabicky
82 posun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celicka 82 posun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celicka
83 vzdalenost_der - definuje roztec der 83 vzdalenost_der - definuje roztec der
84   84  
85 modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu. 85 modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu.
86   86  
87 */ 87 */
88   88  
89   89  
90 module I2CDIFF01A(tloustka_bocnice,vzdalenost_der) //uz upraveno 90 module I2CDIFF01A(tloustka_bocnice,vzdalenost_der) //uz upraveno
91 { 91 {
92 I2CDIFF01A_sirka_kon=16.5; //sirka konektoru 92 I2CDIFF01A_sirka_kon=16.5; //sirka konektoru
93 I2CDIFF01A_vyska_kon=13.5; //vyska konektoru 93 I2CDIFF01A_vyska_kon=13.5; //vyska konektoru
94 I2CDIFF01A_sirka_mod_otvory=4; //kolik modul zabira der 94 I2CDIFF01A_sirka_mod_otvory=4; //kolik modul zabira der
95 I2CDIFF01A_vyska_nad_plbase=6; //vyska mezi albase a konektorem 95 I2CDIFF01A_vyska_nad_plbase=6; //vyska mezi albase a konektorem
96 translate([vzdalenost_der*(I2CDIFF01A_sirka_mod_otvory-1)/2,0,I2CDIFF01A_vyska_kon/2+I2CDIFF01A_vyska_nad_plbase]) 96 translate([vzdalenost_der*(I2CDIFF01A_sirka_mod_otvory-1)/2,0,I2CDIFF01A_vyska_kon/2+I2CDIFF01A_vyska_nad_plbase])
97 cube(size = [I2CDIFF01A_sirka_kon,tloustka_bocnice+0.2,I2CDIFF01A_vyska_kon], center = true); 97 cube(size = [I2CDIFF01A_sirka_kon,tloustka_bocnice+0.2,I2CDIFF01A_vyska_kon], center = true);
98 98
99 } 99 }
100 100
101   101  
102 /*1G) - Pro modul UNIPOWER03A 102 /*1G) - Pro modul UNIPOWER03A
103 -------------------------------------------------------- 103 --------------------------------------------------------
104 -------------------------------------------------------- 104 --------------------------------------------------------
105   105  
106 */ 106 */
107   107  
108 module UNIPOWER03A(tloustka_bocnice,vzdalenost_der) 108 module UNIPOWER03A(tloustka_bocnice,vzdalenost_der)
109 { 109 {
110 UNIPOWER03A_sirka_kon=10; //sirka konektoru 110 UNIPOWER03A_sirka_kon=10; //sirka konektoru
111 UNIPOWER03A_vyska_kon=11; //vyska konektoru 111 UNIPOWER03A_vyska_kon=11; //vyska konektoru
112 UNIPOWER03A_sirka_mod_otvory=4; //kolik modul zabira der 112 UNIPOWER03A_sirka_mod_otvory=4; //kolik modul zabira der
113 UNIPOWER03A_vzdalenost_konektoru=5; //vzdalenost kraje konektoru od středu šroubu 113 UNIPOWER03A_vzdalenost_konektoru=5; //vzdalenost kraje konektoru od středu šroubu
114 UNIPOWER03A_vyska_nad_plbase=6; //vyska mezi albase a konektorem 114 UNIPOWER03A_vyska_nad_plbase=6; //vyska mezi albase a konektorem
115 115
116 116
117 translate([(UNIPOWER03A_sirka_mod_otvory-1)*vzdalenost_der-UNIPOWER03A_sirka_kon-UNIPOWER03A_vzdalenost_konektoru,-tloustka_bocnice/2-0.05,UNIPOWER03A_vyska_nad_plbase]) 117 translate([(UNIPOWER03A_sirka_mod_otvory-1)*vzdalenost_der-UNIPOWER03A_sirka_kon-UNIPOWER03A_vzdalenost_konektoru,-tloustka_bocnice/2-0.05,UNIPOWER03A_vyska_nad_plbase])
118 cube(size = [UNIPOWER03A_sirka_kon,tloustka_bocnice+0.1,UNIPOWER03A_vyska_kon], center = false); 118 cube(size = [UNIPOWER03A_sirka_kon,tloustka_bocnice+0.1,UNIPOWER03A_vyska_kon], center = false);
119 } 119 }
120 120
121   121  
122 /*1G) - OTVOR PRO VETRANI 122 /*1G) - OTVOR PRO VETRANI
123 -------------------------------------------------------- 123 --------------------------------------------------------
124 -------------------------------------------------------- 124 --------------------------------------------------------
125   125  
126 */ 126 */
127 module CHLADICI_OTVORY(tloustka_bocnice,vzdalenost_der,delka,vyska_bocnice) 127 module CHLADICI_OTVORY(tloustka_bocnice,vzdalenost_der,delka,vyska_bocnice)
128 { 128 {
129 CHLADICI_OTVORY_mezera=0.6; 129 CHLADICI_OTVORY_mezera=0.6;
130 CHLADICI_OTVORY_snizeni_vysky=10; 130 CHLADICI_OTVORY_snizeni_vysky=10;
131 CHLADICI_OTVORY_prekryti=1.2; 131 CHLADICI_OTVORY_prekryti=1.2;
132 132
133 for (a =[1:delka]) 133 for (a =[1:delka])
134 translate([vzdalenost_der*(a-1),0,0]) 134 translate([vzdalenost_der*(a-1),0,0])
135 { 135 {
136 union() { 136 union() {
137 translate([CHLADICI_OTVORY_prekryti/2,-CHLADICI_OTVORY_mezera/2+0.005,CHLADICI_OTVORY_snizeni_vysky/2]) 137 translate([CHLADICI_OTVORY_prekryti/2,-CHLADICI_OTVORY_mezera/2+0.005,CHLADICI_OTVORY_snizeni_vysky/2])
138 cube(size = [(vzdalenost_der-2*CHLADICI_OTVORY_prekryti)/2,(tloustka_bocnice+CHLADICI_OTVORY_mezera)/2,vyska_bocnice-CHLADICI_OTVORY_snizeni_vysky], center = false); 138 cube(size = [(vzdalenost_der-2*CHLADICI_OTVORY_prekryti)/2,(tloustka_bocnice+CHLADICI_OTVORY_mezera)/2,vyska_bocnice-CHLADICI_OTVORY_snizeni_vysky], center = false);
139 139
140 translate([(vzdalenost_der+CHLADICI_OTVORY_prekryti)/2,-tloustka_bocnice/2-0.005,CHLADICI_OTVORY_snizeni_vysky/2]) 140 translate([(vzdalenost_der+CHLADICI_OTVORY_prekryti)/2,-tloustka_bocnice/2-0.005,CHLADICI_OTVORY_snizeni_vysky/2])
141 cube(size = [(vzdalenost_der-2*CHLADICI_OTVORY_prekryti)/2,(tloustka_bocnice+CHLADICI_OTVORY_mezera)/2,vyska_bocnice-CHLADICI_OTVORY_snizeni_vysky], center = false); 141 cube(size = [(vzdalenost_der-2*CHLADICI_OTVORY_prekryti)/2,(tloustka_bocnice+CHLADICI_OTVORY_mezera)/2,vyska_bocnice-CHLADICI_OTVORY_snizeni_vysky], center = false);
142 142
143 143
144 translate([(vzdalenost_der-CHLADICI_OTVORY_prekryti)/2,-CHLADICI_OTVORY_mezera/2,CHLADICI_OTVORY_snizeni_vysky/2]) 144 translate([(vzdalenost_der-CHLADICI_OTVORY_prekryti)/2,-CHLADICI_OTVORY_mezera/2,CHLADICI_OTVORY_snizeni_vysky/2])
145 cube(size = [CHLADICI_OTVORY_prekryti,CHLADICI_OTVORY_mezera,vyska_bocnice-CHLADICI_OTVORY_snizeni_vysky], center = false); 145 cube(size = [CHLADICI_OTVORY_prekryti,CHLADICI_OTVORY_mezera,vyska_bocnice-CHLADICI_OTVORY_snizeni_vysky], center = false);
146 146
147 translate([(vzdalenost_der-CHLADICI_OTVORY_prekryti)/2+vzdalenost_der/2,-CHLADICI_OTVORY_mezera/2,CHLADICI_OTVORY_snizeni_vysky/2]) 147 translate([(vzdalenost_der-CHLADICI_OTVORY_prekryti)/2+vzdalenost_der/2,-CHLADICI_OTVORY_mezera/2,CHLADICI_OTVORY_snizeni_vysky/2])
148 cube(size = [CHLADICI_OTVORY_prekryti+1,CHLADICI_OTVORY_mezera,vyska_bocnice-CHLADICI_OTVORY_snizeni_vysky], center = false); 148 cube(size = [CHLADICI_OTVORY_prekryti+1,CHLADICI_OTVORY_mezera,vyska_bocnice-CHLADICI_OTVORY_snizeni_vysky], center = false);
149 } 149 }
150 } 150 }
151 } 151 }
152 152
153 153
154 /*2A) - OTVOR PRO IR 154 /*2A) - OTVOR PRO IR
155 -------------------------------------------------------- 155 --------------------------------------------------------
156 -------------------------------------------------------- 156 --------------------------------------------------------
157   157  
158 */ 158 */
159 159
160 module IR(tloustka_bocnice,vyska_bocnice) 160 module IR(tloustka_bocnice,vyska_bocnice)
161 { 161 {
162 IR_sirka_kon=7; //sirka senzoru 162 IR_sirka_kon=7; //sirka senzoru
163 IR_vyska_kon=7.5; //vyska senzoru 163 IR_vyska_kon=7.5; //vyska senzoru
164 IR_hloubka_venkovni=1.2; //sila senzoru od vodičů ven 164 IR_hloubka_venkovni=1.2; //sila senzoru od vodičů ven
165 IR_vyska_pro_vodice=5; 165 IR_vyska_pro_vodice=5;
166 166
167 167
168 translate([0,-tloustka_bocnice/2-0.01,vyska_bocnice/2-IR_vyska_kon/2]) 168 translate([0,-tloustka_bocnice/2-0.01,vyska_bocnice/2-IR_vyska_kon/2])
169 cube(size = [IR_sirka_kon,IR_hloubka_venkovni+0.1,IR_vyska_kon], center = false); 169 cube(size = [IR_sirka_kon,IR_hloubka_venkovni+0.1,IR_vyska_kon], center = false);
170 170
171 translate([0,-(tloustka_bocnice/2-IR_hloubka_venkovni),vyska_bocnice/2-IR_vyska_kon/2]) 171 translate([0,-(tloustka_bocnice/2-IR_hloubka_venkovni),vyska_bocnice/2-IR_vyska_kon/2-IR_vyska_pro_vodice])
172 cube(size = [IR_sirka_kon,tloustka_bocnice,IR_vyska_kon+IR_vyska_pro_vodice], center = false); 172 cube(size = [IR_sirka_kon,tloustka_bocnice,IR_vyska_kon+IR_vyska_pro_vodice], center = false);
173 } -  
174 173 }
-   174
-   175
-   176 module OTVOR_NA_PRUDUCH(tloustka_bocnice,vzdalenost_der,delka,vyska_bocnice)
-   177 {
-   178 OTVOR_NA_PRUDUCH_vzdalenost_od_kraje=5;
-   179
-   180
-   181
-   182 translate([0,-0.05-tloustka_bocnice/2,OTVOR_NA_PRUDUCH_vzdalenost_od_kraje])
-   183
-   184
-   185 cube(size = [vzdalenost_der*(delka),tloustka_bocnice+0.1,vyska_bocnice-2*OTVOR_NA_PRUDUCH_vzdalenost_od_kraje], center = false);
-   186
-   187
-   188
-   189
-   190 }
-   191
-   192
-   193 module CHLADICI_OTVORY2(tloustka_bocnice,vzdalenost_der,delka,vyska_bocnice)
-   194 {
-   195 CHLADICI_OTVORY2_mezera=1.0;
-   196 CHLADICI_OTVORY2_snizeni_vysky=10;
-   197
-   198
-   199 for (a =[1:delka])
-   200 translate([vzdalenost_der*(a-1),0,0])
-   201 {
-   202  
-   203 translate([vzdalenost_der/2,-0.05-tloustka_bocnice/2,CHLADICI_OTVORY2_snizeni_vysky/2])
-   204 cube(size = [CHLADICI_OTVORY2_mezera,tloustka_bocnice+0.1,vyska_bocnice-CHLADICI_OTVORY2_snizeni_vysky], center = false);
-   205
-   206
-   207
-   208 }
-   209 }
-   210
175 211