Rev 4578 Rev 4579
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_bocnice,vzdalenost_der) //uz upraveno 97 module USBI2C01A(tloustka_bocnice,vzdalenost_der) //uz upraveno
98 { 98 {
99 USBI2C01A_sirka_kon=12; //sirka konektoru 99 USBI2C01A_sirka_kon=12; //sirka konektoru
100 USBI2C01A_vyska_kon=11; //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 USBI2C01A_svyska_nad_plbase=6; //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]) 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); 104 cube(size = [USBI2C01A_sirka_kon,tloustka_bocnice+0.2,USBI2C01A_vyska_kon], center = true);
105 105
106 } 106 }
107   107  
108 /*1D) - Pro konektor MIC338 108 /*1D) - Pro konektor MIC338
109 -------------------------------------------------------- 109 --------------------------------------------------------
110 -------------------------------------------------------- 110 --------------------------------------------------------
111 */ 111 */
112 //posun_od_okraje - zadava se o kolik der se ma posunot otvor od středu celicka v nasobcich roztece der 112 //posun_od_okraje - zadava se o kolik der se ma posunot otvor od středu celicka v nasobcich roztece der
113   113  
114 module MIC338(tloustka_bocnice,vzdalenost_der,vyska_bocnice) 114 module MIC338(tloustka_bocnice,vzdalenost_der,vyska_bocnice)
115 { 115 {
116 MIC338_polomer_kon=8; //polomer montazniho otvoru 116 MIC338_polomer_kon=8; //polomer montazniho otvoru
117 translate([0,0,vyska_bocnice/2]) 117 translate([0,0,vyska_bocnice/2])
118 rotate(a=[90,0,0]) 118 rotate(a=[90,0,0])
119 cylinder(h=tloustka_bocnice+0.1, r=MIC338_polomer_kon+0.1, center=true); 119 cylinder(h=tloustka_bocnice+0.1, r=MIC338_polomer_kon+0.1, center=true);
120 120
121 } 121 }
122   122  
123 /*1E) - Pro modul UNIPOWER02A 123 /*1E) - Pro modul UNIPOWER02A
124 -------------------------------------------------------- 124 --------------------------------------------------------
125 -------------------------------------------------------- 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 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 127 posun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celicka
128 vzdalenost_der - definuje rozec der 128 vzdalenost_der - definuje rozec der
129   129  
130 modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu. 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   135  
136 module UNIPOWER02A(tloustka_bocnice,vzdalenost_der) 136 module UNIPOWER02A(tloustka_bocnice,vzdalenost_der)
137 { 137 {
138 UNIPOWER02A_sirka_kon=10; //sirka konektoru 138 UNIPOWER02A_sirka_kon=10; //sirka konektoru
139 UNIPOWER02A_vyska_kon=11; //vyska konektoru 139 UNIPOWER02A_vyska_kon=11; //vyska konektoru
140 UNIPOWER02A_sirka_mod_otvory=4; //kolik modul zabira der 140 UNIPOWER02A_sirka_mod_otvory=4; //kolik modul zabira der
141 UNIPOWER02A_vzdalenost_konektoru=6; //vzdalenost kraje konektoru od středu šroubu 141 UNIPOWER02A_vzdalenost_konektoru=6; //vzdalenost kraje konektoru od středu šroubu
142 UNIPOWER02A_vyska_nad_plbase=6; //vyska mezi albase a konektorem 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]) 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); 144 cube(size = [UNIPOWER02A_sirka_kon,tloustka_bocnice+0.1,UNIPOWER02A_vyska_kon], center = false);
145 } 145 }
146 146
147 /*1F) - Pro modul I2CDIFF01A 147 /*1F) - Pro modul I2CDIFF01A
148 -------------------------------------------------------- 148 --------------------------------------------------------
149 -------------------------------------------------------- 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 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 151 posun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celicka
152 vzdalenost_der - definuje roztec der 152 vzdalenost_der - definuje roztec der
153   153  
154 modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu. 154 modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu.
155   155  
156 */ 156 */
157   157  
158   158  
159 module I2CDIFF01A(tloustka_bocnice,vzdalenost_der) //uz upraveno 159 module I2CDIFF01A(tloustka_bocnice,vzdalenost_der) //uz upraveno
160 { 160 {
161 I2CDIFF01A_sirka_kon=16.5; //sirka konektoru 161 I2CDIFF01A_sirka_kon=16.5; //sirka konektoru
162 I2CDIFF01A_vyska_kon=13.5; //vyska konektoru 162 I2CDIFF01A_vyska_kon=13.5; //vyska konektoru
163 I2CDIFF01A_sirka_mod_otvory=4; //kolik modul zabira der 163 I2CDIFF01A_sirka_mod_otvory=4; //kolik modul zabira der
164 I2CDIFF01A_vyska_nad_plbase=6; //vyska mezi albase a konektorem 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]) 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); 166 cube(size = [I2CDIFF01A_sirka_kon,tloustka_bocnice+0.2,I2CDIFF01A_vyska_kon], center = true);
167 167
168 } 168 }
169 169
170   170  
171 /*1G) - Pro modul UNIPOWER02A 171 /*1G) - Pro modul UNIPOWER02A
172 -------------------------------------------------------- 172 --------------------------------------------------------
173 -------------------------------------------------------- 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 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 175 posun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celicka
176 vzdalenost_der - definuje rozec der 176 vzdalenost_der - definuje rozec der
177   177  
178 modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu. 178 modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu.
179   179  
180 */ 180 */
181   181  
182   182  
183   183  
184 module UNIPOWER03A(tloustka_bocnice,vzdalenost_der) 184 module UNIPOWER03A(tloustka_bocnice,vzdalenost_der)
185 { 185 {
186 UNIPOWER03A_sirka_kon=10; //sirka konektoru 186 UNIPOWER03A_sirka_kon=10; //sirka konektoru
187 UNIPOWER03A_vyska_kon=11; //vyska konektoru 187 UNIPOWER03A_vyska_kon=11; //vyska konektoru
188 UNIPOWER03A_sirka_mod_otvory=4; //kolik modul zabira der 188 UNIPOWER03A_sirka_mod_otvory=4; //kolik modul zabira der
189 UNIPOWER03A_vzdalenost_konektoru=5; //vzdalenost kraje konektoru od středu šroubu 189 UNIPOWER03A_vzdalenost_konektoru=5; //vzdalenost kraje konektoru od středu šroubu
190 UNIPOWER03A_vyska_nad_plbase=6; //vyska mezi albase a konektorem 190 UNIPOWER03A_vyska_nad_plbase=6; //vyska mezi albase a konektorem
191 translate([UNIPOWER03A_vzdalenost_konektoru,-tloustka_bocnice/2-0.05,UNIPOWER03A_vyska_nad_plbase]) 191 translate([(UNIPOWER03A_sirka_mod_otvory-1)*vzdalenost_der-UNIPOWER03A_sirka_kon-UNIPOWER03A_vzdalenost_konektoru,-tloustka_bocnice/2-0.05,UNIPOWER03A_vyska_nad_plbase])
192 cube(size = [UNIPOWER03A_sirka_kon,tloustka_bocnice+0.1,UNIPOWER03A_vyska_kon], center = false); 192 cube(size = [UNIPOWER03A_sirka_kon,tloustka_bocnice+0.1,UNIPOWER03A_vyska_kon], center = false);
193 } 193 }