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