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_bocnice,vzdalenost_der)
137 UNIPOWER02A_sirka_kon=9; //sirka konektoru 137 {
138 UNIPOWER02A_vyska_kon=11; //vyska konektoru 138 UNIPOWER02A_sirka_kon=10; //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 UNIPOWER02A_vyska_nad_plbase=6; //vyska mezi albase a konektorem
143 } 143 translate([UNIPOWER02A_vzdalenost_konektoru,-tloustka_bocnice/2-0.05,UNIPOWER02A_vyska_nad_plbase])
144 144 cube(size = [UNIPOWER02A_sirka_kon,tloustka_bocnice+0.1,UNIPOWER02A_vyska_kon], center = false);
145 /*1F) - Pro modul I2CDIFF01A 145 }
146 -------------------------------------------------------- 146
147 -------------------------------------------------------- 147 /*1F) - Pro modul I2CDIFF01A
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 --------------------------------------------------------
150 vzdalenost_der - definuje roztec der 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   151 posun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celicka
152 modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu. 152 vzdalenost_der - definuje roztec der
153   153  
154 */ 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 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  
159 I2CDIFF01A_vyska_kon=16; //vyska konektoru 159 module I2CDIFF01A(tloustka_bocnice,vzdalenost_der) //uz upraveno
160 I2CDIFF01A_sirka_mod_otvory=4; //kolik modul zabira der 160 {
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_sirka_kon=16.5; //sirka konektoru
162 cube(size = [I2CDIFF01A_sirka_kon,tloustka_celicka,I2CDIFF01A_vyska_kon], center = true); 162 I2CDIFF01A_vyska_kon=13.5; //vyska konektoru
163 163 I2CDIFF01A_sirka_mod_otvory=4; //kolik modul zabira der
164 } 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 }
165 169
166 170