Rev Author Line No. Line
4298 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 */
9  
10  
11 //1A) - LCD 2x16
12 //--------------------------------------------------------
13 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)
14 {
15 //otvor na LCD
16 translate([0,0,(vyska-2*zapust-vule_vysky_celicka)/2])
17 cube(size = [ramecek_x,tloustka_celicka,ramecek_y], center = true);
18  
19 //diry na srouby pro LCD
20  
21 translate([vzdalenost_der_x/2,(ramecek_vyska/2-((tloustka_celicka-vule_tlousky)/2)),(((vyska-2*zapust-vule_vysky_celicka)/2)+vzdalenost_der_y/2)])
22 rotate(a=[90,0,0])
23 cylinder(h=ramecek_vyska+0.2, r=(prumer_otvoru/2), center=true);
24  
25 translate([-vzdalenost_der_x/2,(ramecek_vyska/2-((tloustka_celicka-vule_tlousky)/2)),(((vyska-2*zapust-vule_vysky_celicka)/2)+vzdalenost_der_y/2)])
26 rotate(a=[90,0,0])
27 cylinder(h=ramecek_vyska+0.2, r=(prumer_otvoru/2), center=true);
28  
29 translate([vzdalenost_der_x/2,(ramecek_vyska/2-((tloustka_celicka-vule_tlousky)/2)),(((vyska-2*zapust-vule_vysky_celicka)/2)-vzdalenost_der_y/2)])
30 rotate(a=[90,0,0])
31 cylinder(h=ramecek_vyska+0.2, r=(prumer_otvoru/2), center=true);
32  
33 translate([-vzdalenost_der_x/2,(ramecek_vyska/2-((tloustka_celicka-vule_tlousky)/2)),(((vyska-2*zapust-vule_vysky_celicka)/2)-vzdalenost_der_y/2)])
34 rotate(a=[90,0,0])
35 cylinder(h=ramecek_vyska+0.2, r=(prumer_otvoru/2), center=true);
36 }
37  
38 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)
39 {
40 union() {
41  
42 translate([vzdalenost_der_x/2,(ramecek_vyska/2-((tloustka_celicka-vule_tlousky)/2)),(((vyska-2*zapust-vule_vysky_celicka)/2)+vzdalenost_der_y/2)])
43 rotate(a=[90,0,0])
44 cylinder(h=ramecek_vyska, r=(prumer_sloupku/2), center=true);
45  
46 translate([-vzdalenost_der_x/2,(ramecek_vyska/2-((tloustka_celicka-vule_tlousky)/2)),(((vyska-2*zapust-vule_vysky_celicka)/2)+vzdalenost_der_y/2)])
47 rotate(a=[90,0,0])
48 cylinder(h=ramecek_vyska, r=(prumer_sloupku/2), center=true);
49  
50 translate([vzdalenost_der_x/2,(ramecek_vyska/2-((tloustka_celicka-vule_tlousky)/2)),(((vyska-2*zapust-vule_vysky_celicka)/2)-vzdalenost_der_y/2)])
51 rotate(a=[90,0,0])
52 cylinder(h=ramecek_vyska, r=(prumer_sloupku/2), center=true);
53  
54 translate([-vzdalenost_der_x/2,(ramecek_vyska/2-((tloustka_celicka-vule_tlousky)/2)),(((vyska-2*zapust-vule_vysky_celicka)/2)-vzdalenost_der_y/2)])
55 rotate(a=[90,0,0])
56 cylinder(h=ramecek_vyska, r=(prumer_sloupku/2), center=true);
57  
58 }
59 }
60  
61  
62 /*1B) - Pro modul RS232SINGLE01A
63 --------------------------------------------------------
64 --------------------------------------------------------
65 pocet_der_dane_strany - protoze nelze definovat na jake strane bude dira umistena, proto se musí rucne zadat pocet der zvolene strany krabicky
66 posun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celicka
67 vzdalenost_der - definuje rozec der
68  
69 modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu.
70  
71 */
72  
73 module RS232SINGLE01A(tloustka_celicka,pocet_der_dane_strany,posun_od_kraje,vzdalenost_der,vyska_listy)
74 {
75 RS232SINGLE01A_sirka_kon=32; //sirka konektoru
76 RS232SINGLE01A_vyska_kon=13.5; //vyska konektoru
77 RS232SINGLE01A_sirka_mod_otvory=5; //kolik modul zabira der
78 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])
79 cube(size = [RS232SINGLE01A_sirka_kon,tloustka_celicka,RS232SINGLE01A_vyska_kon], center = true);
80  
81 }
82  
83  
84 /*1C) - Pro modul USBI2C01A
85 --------------------------------------------------------
86 --------------------------------------------------------
87 pocet_der_dane_strany - protoze nelze definovat na jake strane bude dira umistena, proto se musí rucne zadat pocet der zvolene strany krabicky
88 posun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celicka
89 vzdalenost_der - definuje rozec der
90  
91 modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu.
92  
93 */
94  
95 module USBI2C01A(tloustka_celicka,pocet_der_dane_strany,posun_od_kraje,vzdalenost_der,vyska_listy)
96 {
97 USBI2C01A_sirka_kon=13; //sirka konektoru
98 USBI2C01A_vyska_kon=12; //vyska konektoru
99 USBI2C01A_sirka_mod_otvory=3; //kolik modul zabira der
100 translate([-(pocet_der_dane_strany-1)*vzdalenost_der/2+1*vzdalenost_der+vzdalenost_der*(USBI2C01A_sirka_mod_otvory-1)/2+posun_od_kraje*vzdalenost_der,0,USBI2C01A_vyska_kon/2+vyska_listy])
101 cube(size = [USBI2C01A_sirka_kon,tloustka_celicka,USBI2C01A_vyska_kon], center = true);
102  
103 }
104  
105 /*1D) - Pro konektor MIC338
106 --------------------------------------------------------
107 --------------------------------------------------------
108 */
109  
110 module MIC338(tloustka_celicka,vyska,zapust,vule_vysky_celicka)
111 {
112 MIC338_polomer_kon=8; //polomer montazniho otvoru
113 translate([0,0,(vyska-2*zapust-vule_vysky_celicka)/2])
114 rotate(a=[90,0,0])
115 cylinder(h=tloustka_celicka+0.1, r=MIC338_polomer_kon+0.1, center=true);
116  
117 }