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