Rev 4421 Rev 4571
Line 1... Line 1...
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) - LCD 2x16 - urceno pro montaz LCD 2x16 znaku 4 1A) - LCD 2x16 - urceno pro montaz LCD 2x16 znaku
5 1B) - Pro modul RS232SINGLE01A 5 1B) - Pro modul RS232SINGLE01A
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 */ 10 */
11   11  
12   12  
13 //1A) - LCD 2x16 13 //1A) - LCD 2x16
14 //-------------------------------------------------------- 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) 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 { 16 {
17 //otvor na LCD 17 //otvor na LCD
18 translate([0,0,(vyska-2*zapust-vule_vysky_celicka)/2]) 18 translate([0,0,(vyska-2*zapust-vule_vysky_celicka)/2])
19 cube(size = [ramecek_x,tloustka_celicka,ramecek_y], center = true); 19 cube(size = [ramecek_x,tloustka_celicka,ramecek_y], center = true);
20   20  
21 //diry na srouby pro LCD 21 //diry na srouby pro LCD
22 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)]) 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]) 24 rotate(a=[90,0,0])
25 cylinder(h=ramecek_vyska+0.2, r=(prumer_otvoru/2), center=true); 25 cylinder(h=ramecek_vyska+0.2, r=(prumer_otvoru/2), center=true);
26   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)]) 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]) 28 rotate(a=[90,0,0])
29 cylinder(h=ramecek_vyska+0.2, r=(prumer_otvoru/2), center=true); 29 cylinder(h=ramecek_vyska+0.2, r=(prumer_otvoru/2), center=true);
30   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)]) 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]) 32 rotate(a=[90,0,0])
33 cylinder(h=ramecek_vyska+0.2, r=(prumer_otvoru/2), center=true); 33 cylinder(h=ramecek_vyska+0.2, r=(prumer_otvoru/2), center=true);
34   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)]) 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]) 36 rotate(a=[90,0,0])
37 cylinder(h=ramecek_vyska+0.2, r=(prumer_otvoru/2), center=true); 37 cylinder(h=ramecek_vyska+0.2, r=(prumer_otvoru/2), center=true);
38 } 38 }
39 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) 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 { 41 {
42 union() { 42 union() {
43 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)]) 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]) 45 rotate(a=[90,0,0])
46 cylinder(h=ramecek_vyska, r=(prumer_sloupku/2), center=true); 46 cylinder(h=ramecek_vyska, r=(prumer_sloupku/2), center=true);
47   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)]) 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]) 49 rotate(a=[90,0,0])
50 cylinder(h=ramecek_vyska, r=(prumer_sloupku/2), center=true); 50 cylinder(h=ramecek_vyska, r=(prumer_sloupku/2), center=true);
51 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)]) 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]) 53 rotate(a=[90,0,0])
54 cylinder(h=ramecek_vyska, r=(prumer_sloupku/2), center=true); 54 cylinder(h=ramecek_vyska, r=(prumer_sloupku/2), center=true);
55 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)]) 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]) 57 rotate(a=[90,0,0])
58 cylinder(h=ramecek_vyska, r=(prumer_sloupku/2), center=true); 58 cylinder(h=ramecek_vyska, r=(prumer_sloupku/2), center=true);
59 59
60 } 60 }
61 } 61 }
62   62  
63   63  
64 /*1B) - Pro modul RS232SINGLE01A 64 /*1B) - Pro modul RS232SINGLE01A
65 -------------------------------------------------------- 65 --------------------------------------------------------
66 -------------------------------------------------------- 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 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 68 posun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celicka
69 vzdalenost_der - definuje rozec der 69 vzdalenost_der - definuje rozec der
70   70  
71 modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu. 71 modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu.
72   72  
73 */ 73 */
74   74  
75 module RS232SINGLE01A(tloustka_celicka,pocet_der_dane_strany,posun_od_kraje,vzdalenost_der,vyska_listy) 75 module RS232SINGLE01A(tloustka_celicka,pocet_der_dane_strany,posun_od_kraje,vzdalenost_der,vyska_listy)
76 { 76 {
77 RS232SINGLE01A_sirka_kon=32; //sirka konektoru 77 RS232SINGLE01A_sirka_kon=32; //sirka konektoru
78 RS232SINGLE01A_vyska_kon=13.5; //vyska konektoru 78 RS232SINGLE01A_vyska_kon=13.5; //vyska konektoru
79 RS232SINGLE01A_sirka_mod_otvory=5; //kolik modul zabira der 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]) 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); 81 cube(size = [RS232SINGLE01A_sirka_kon,tloustka_celicka,RS232SINGLE01A_vyska_kon], center = true);
82 82
83 } 83 }
84   84  
85   85  
86 /*1C) - Pro modul USBI2C01A 86 /*1C) - Pro modul USBI2C01A
87 -------------------------------------------------------- 87 --------------------------------------------------------
88 -------------------------------------------------------- 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 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 90 posun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celicka
91 vzdalenost_der - definuje roztec der 91 vzdalenost_der - definuje roztec der
92   92  
93 modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu. 93 modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu.
94   94  
95 */ 95 */
96   96  
97 module USBI2C01A(tloustka_celicka,pocet_der_dane_strany,posun_od_kraje,vzdalenost_der,vyska_listy) 97 module USBI2C01A(tloustka_bocnice,vzdalenost_der) //uz upraveno
98 { 98 {
99 USBI2C01A_sirka_kon=13; //sirka konektoru 99 USBI2C01A_sirka_kon=12; //sirka konektoru
100 USBI2C01A_vyska_kon=12; //vyska konektoru 100 USBI2C01A_vyska_kon=11; //vyska konektoru
101 USBI2C01A_sirka_mod_otvory=3; //kolik modul zabira der 101 USBI2C01A_sirka_mod_otvory=3; //kolik modul zabira der
102 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]) 102 USBI2C01A_svyska_nad_plbase=6; //kolik modul zabira der
103 cube(size = [USBI2C01A_sirka_kon,tloustka_celicka,USBI2C01A_vyska_kon], center = true); 103 translate([vzdalenost_der*(USBI2C01A_sirka_mod_otvory-1)/2,0,USBI2C01A_vyska_kon/2+USBI2C01A_svyska_nad_plbase])
104 104 cube(size = [USBI2C01A_sirka_kon,tloustka_bocnice+0.2,USBI2C01A_vyska_kon], center = true);
105 } 105
106   106 }
107 /*1D) - Pro konektor MIC338 107  
108 -------------------------------------------------------- 108 /*1D) - Pro konektor MIC338
109 -------------------------------------------------------- 109 --------------------------------------------------------
110 */ 110 --------------------------------------------------------
111 //posun_od_okraje - zadava se o kolik der se ma posunot otvor od středu celicka v nasobcich roztece der 111 */
112   112 //posun_od_okraje - zadava se o kolik der se ma posunot otvor od středu celicka v nasobcich roztece der
113 module MIC338(tloustka_celicka,vyska,zapust,vule_vysky_celicka,posun_od_kraje,vzdalenost_der) 113  
114 { 114 module MIC338(tloustka_bocnice,vzdalenost_der,vyska_bocnice)
115 MIC338_polomer_kon=8; //polomer montazniho otvoru 115 {
116 translate([posun_od_kraje*vzdalenost_der,0,(vyska-2*zapust-vule_vysky_celicka)/2]) 116 MIC338_polomer_kon=8; //polomer montazniho otvoru
117 rotate(a=[90,0,0]) 117 translate([0,0,vyska_bocnice/2])
118 cylinder(h=tloustka_celicka+0.1, r=MIC338_polomer_kon+0.1, center=true); 118 rotate(a=[90,0,0])
119 119 cylinder(h=tloustka_bocnice+0.1, r=MIC338_polomer_kon+0.1, center=true);
120 } 120
121   121 }
122 /*1E) - Pro modul UNIPOWER02A 122  
123 -------------------------------------------------------- 123 /*1E) - Pro modul UNIPOWER02A
124 -------------------------------------------------------- 124 --------------------------------------------------------
125 pocet_der_dane_strany - protoze nelze definovat na jake strane bude dira umistena, proto se musí rucne zadat pocet der zvolene strany krabicky 125 --------------------------------------------------------
126 posun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celicka 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 vzdalenost_der - definuje rozec der 127 posun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celicka
128   128 vzdalenost_der - definuje rozec der
129 modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu. 129  
130   130 modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu.
131 */ 131  
132   132 */
133   133  
134   134  
135 module UNIPOWER02A(tloustka_celicka,pocet_der_dane_strany,posun_od_kraje,vzdalenost_der,vyska_listy) 135  
136 { 136 module UNIPOWER02A(tloustka_celicka,pocet_der_dane_strany,posun_od_kraje,vzdalenost_der,vyska_listy)
137 UNIPOWER02A_sirka_kon=13; //sirka konektoru 137 {
138 UNIPOWER02A_vyska_kon=11; //vyska konektoru 138 UNIPOWER02A_sirka_kon=13; //sirka konektoru
139 UNIPOWER02A_sirka_mod_otvory=4; //kolik modul zabira der 139 UNIPOWER02A_vyska_kon=11; //vyska konektoru
140 UNIPOWER02A_vzdalenost_konektoru=6; //vzdalenost kraje konektoru od středu šroubu 140 UNIPOWER02A_sirka_mod_otvory=4; //kolik modul zabira der
141 translate([-(pocet_der_dane_strany-1)*vzdalenost_der/2+1*vzdalenost_der+posun_od_kraje*vzdalenost_der+UNIPOWER02A_vzdalenost_konektoru+UNIPOWER02A_sirka_kon/2,0,UNIPOWER02A_vyska_kon/2+vyska_listy]) 141 UNIPOWER02A_vzdalenost_konektoru=6; //vzdalenost kraje konektoru od středu šroubu
142 cube(size = [UNIPOWER02A_sirka_kon,tloustka_celicka,UNIPOWER02A_vyska_kon], center = true); 142 translate([-(pocet_der_dane_strany-1)*vzdalenost_der/2+1*vzdalenost_der+posun_od_kraje*vzdalenost_der+UNIPOWER02A_vzdalenost_konektoru+UNIPOWER02A_sirka_kon/2,0,UNIPOWER02A_vyska_kon/2+vyska_listy])
143 } 143 cube(size = [UNIPOWER02A_sirka_kon,tloustka_celicka,UNIPOWER02A_vyska_kon], center = true);
144 144 }
145 /*1F) - Pro modul I2CDIFF01A 145
146 -------------------------------------------------------- 146 /*1F) - Pro modul I2CDIFF01A
147 -------------------------------------------------------- 147 --------------------------------------------------------
148 pocet_der_dane_strany - protoze nelze definovat na jake strane bude dira umistena, proto se musí rucne zadat pocet der zvolene strany krabicky 148 --------------------------------------------------------
149 posun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celicka 149 pocet_der_dane_strany - protoze nelze definovat na jake strane bude dira umistena, proto se musí rucne zadat pocet der zvolene strany krabicky
150 vzdalenost_der - definuje roztec der 150 posun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celicka
151   151 vzdalenost_der - definuje roztec der
152 modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu. 152  
153   153 modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu.
154 */ 154  
155   155 */
156 module I2CDIFF01A(tloustka_celicka,pocet_der_dane_strany,posun_od_kraje,vzdalenost_der,vyska_listy) 156  
157 { 157  
158 I2CDIFF01A_sirka_kon=19; //sirka konektoru 158 module I2CDIFF01A(tloustka_bocnice,vzdalenost_der) //uz upraveno
159 I2CDIFF01A_vyska_kon=16; //vyska konektoru 159 {
160 I2CDIFF01A_sirka_mod_otvory=4; //kolik modul zabira der 160 I2CDIFF01A_sirka_kon=16.5; //sirka konektoru
161 translate([-(pocet_der_dane_strany-1)*vzdalenost_der/2+1*vzdalenost_der+vzdalenost_der*(I2CDIFF01A_sirka_mod_otvory-1)/2+posun_od_kraje*vzdalenost_der,0,I2CDIFF01A_vyska_kon/2+vyska_listy]) 161 I2CDIFF01A_vyska_kon=13.5; //vyska konektoru
162 cube(size = [I2CDIFF01A_sirka_kon,tloustka_celicka,I2CDIFF01A_vyska_kon], center = true); 162 I2CDIFF01A_sirka_mod_otvory=4; //kolik modul zabira der
163 163 I2CDIFF01A_svyska_nad_plbase=6; //kolik modul zabira der
164 } 164 translate([vzdalenost_der*(I2CDIFF01A_sirka_mod_otvory-1)/2,0,I2CDIFF01A_vyska_kon/2+I2CDIFF01A_svyska_nad_plbase])
-   165 cube(size = [I2CDIFF01A_sirka_kon,tloustka_bocnice+0.2,I2CDIFF01A_vyska_kon], center = true);
-   166
-   167 }
165 168
166 169