Rev 4571 Rev 4578
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_celicka,pocet_der_dane_strany,posun_od_kraje,vzdalenost_der,vyska_listy) 136 module UNIPOWER02A(tloustka_bocnice,vzdalenost_der)
137 { 137 {
138 UNIPOWER02A_sirka_kon=13; //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 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 translate([UNIPOWER02A_vzdalenost_konektoru,-tloustka_bocnice/2-0.05,UNIPOWER02A_vyska_nad_plbase])
143 cube(size = [UNIPOWER02A_sirka_kon,tloustka_celicka,UNIPOWER02A_vyska_kon], center = true); 144 cube(size = [UNIPOWER02A_sirka_kon,tloustka_bocnice+0.1,UNIPOWER02A_vyska_kon], center = false);
144 } 145 }
145 146
146 /*1F) - Pro modul I2CDIFF01A 147 /*1F) - Pro modul I2CDIFF01A
147 -------------------------------------------------------- 148 --------------------------------------------------------
148 -------------------------------------------------------- 149 --------------------------------------------------------
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 pocet_der_dane_strany - protoze nelze definovat na jake strane bude dira umistena, proto se musí rucne zadat pocet der zvolene strany krabicky
150 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
151 vzdalenost_der - definuje roztec der 152 vzdalenost_der - definuje roztec der
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 modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu.
154   155  
155 */ 156 */
156   157  
157   158  
158 module I2CDIFF01A(tloustka_bocnice,vzdalenost_der) //uz upraveno 159 module I2CDIFF01A(tloustka_bocnice,vzdalenost_der) //uz upraveno
159 { 160 {
160 I2CDIFF01A_sirka_kon=16.5; //sirka konektoru 161 I2CDIFF01A_sirka_kon=16.5; //sirka konektoru
161 I2CDIFF01A_vyska_kon=13.5; //vyska konektoru 162 I2CDIFF01A_vyska_kon=13.5; //vyska konektoru
162 I2CDIFF01A_sirka_mod_otvory=4; //kolik modul zabira der 163 I2CDIFF01A_sirka_mod_otvory=4; //kolik modul zabira der
163 I2CDIFF01A_svyska_nad_plbase=6; //kolik modul zabira der 164 I2CDIFF01A_vyska_nad_plbase=6; //vyska mezi albase a konektorem
164 translate([vzdalenost_der*(I2CDIFF01A_sirka_mod_otvory-1)/2,0,I2CDIFF01A_vyska_kon/2+I2CDIFF01A_svyska_nad_plbase]) 165 translate([vzdalenost_der*(I2CDIFF01A_sirka_mod_otvory-1)/2,0,I2CDIFF01A_vyska_kon/2+I2CDIFF01A_vyska_nad_plbase])
165 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);
166 167
167 } 168 }
168 169
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
-   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);
-   193 }
-   194
170 195