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