Rev Author Line No. Line
4241 jacho 1 /*
2 pocet_der1=5;
3 pocet_der2=3;
4 radidus_hrany=5;
5 vzdalenost_der=10.16;
6 vzdalenost_od_okraje=8.8;
7 prumer_sroubu=3.3;
8  
9 tloustka_plbase=2;
10 prekryti_der=0.3;
11  
12 vyska_nozicky=5;
13  
14 vyska_hlavy = 3.5;
15 prumer_hlavy=6;
16 */
17  
18 //PLBASE ZAKLADNI
19 //------------------------------------------------------------
20 module plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der){
21  
22 difference () {
23 //union () {
24 translate([radidus_hrany,radidus_hrany,0])
25 minkowski()
26 {
27 cube([(pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany,tloustka_plbase]); // base plastics brick
28 cylinder(r=radidus_hrany,h=0.1);
29 }
30  
31  
32 for (i = [0:1:pocet_der1-1]) {
33 for (a = [0:1:pocet_der2-1]) {
34  
35 translate([vzdalenost_od_okraje+vzdalenost_der*i,vzdalenost_od_okraje+vzdalenost_der*a, (tloustka_plbase-prekryti_der)/2]) // center top screw
36 cylinder(((tloustka_plbase-prekryti_der)), d=prumer_sroubu, center=true);
37 }
38 }
39  
40 translate([vzdalenost_od_okraje,vzdalenost_od_okraje, (tloustka_plbase/2)]) // center top screw
41 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true);
42  
43 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje, (tloustka_plbase/2)]) // center top screw
44 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true);
45  
46 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase/2)]) // center top screw
47 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true);
48  
49 translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase/2)]) // center top screw
50 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true);
51  
52 }
53 }
54  
55  
56  
57 //MODEL NOZICKY PRO PLBASE
58 //-----------------------------------------------------------
59 //průmer nozicky je roven vzdalenost_der
60 module nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy)
61 {
62 difference () {
63 translate([0,0,-vyska_nozicky/2])
64 cylinder((vyska_nozicky), d=vzdalenost_der, center=true);
65 translate([0,0,-(vyska_nozicky-vyska_hlavy/2)])
66 cylinder((vyska_hlavy), d=prumer_hlavy, center=true);
67 translate([0,0,-vyska_nozicky/2])
68 cylinder((vyska_nozicky), d=prumer_sroubu, center=true);
69 }
70 }
71  
72  
73  
74 //PLBASE S NOZICKAMA
75 //-----------------------------------------------------------
76 module plbase_s_nozickama(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der,vyska_nozicky,vyska_hlavy,prumer_hlavy){
77  
78 plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der);
79  
80 translate([vzdalenost_od_okraje,vzdalenost_od_okraje, (tloustka_plbase)]) // center top screw
81 rotate(a=[180,0,0])
82 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
83  
84 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje, tloustka_plbase]) // center top screw
85 rotate(a=[180,0,0])
86 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
87  
88 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw
89 rotate(a=[180,0,0])
90 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
91  
92 translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw
93 rotate(a=[180,0,0])
94 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
95  
96  
97 }
98  
99  
100  
101 //PLBASE SE ZAPUSTENIM SROUBU
102 //------------------------------------------------------
103 module plbase_zapustene_srouby(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_hlavy,prekryti_der,prumer_hlavy){
104 difference () {
105 plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,(vyska_hlavy+1.5),prekryti_der);
106  
107 translate([vzdalenost_od_okraje,vzdalenost_od_okraje, 1.5+(vyska_hlavy/2)]) // center top screw
108 cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true);
109  
110 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje, 1.5+(vyska_hlavy/2)]) // center top screw
111 cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true);
112  
113 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, 1.5+(vyska_hlavy/2)]) // center top screw
114 cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true);
115  
116 translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, 1.5+(vyska_hlavy/2)]) // center top screw
117 cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true);
118  
119 }
120 }
4301 jacho 121  
122  
123 //PLBASE S NOZICKAMA polovicni pro tisk
124 //-----------------------------------------------------------
125 module plbase_s_nozickama_polovicni(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der,vyska_nozicky,vyska_hlavy,prumer_hlavy){
126  
127 difference()
128 {
129 plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der);
130  
131  
132 translate([-1,-1, -1])
133  
134 cube([(pocet_der1+1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany,1+((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany)/2,tloustka_plbase+15]);
135 }
136  
137  
138  
139 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw
140 rotate(a=[180,0,0])
141 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
142  
143 translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw
144 rotate(a=[180,0,0])
145 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
146  
147  
148  
149  
150 }
151  
152 //PLBASE polovicni pro tisk
153 //-----------------------------------------------------------
154 module plbase_polovicni(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der,vyska_nozicky,vyska_hlavy,prumer_hlavy){
155  
156 difference()
157 {
158 plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der);
159  
160  
161 translate([-1,-1, -1])
162  
163 cube([(pocet_der1+1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany,1+((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany)/2,tloustka_plbase+15]);
164 }
165  
166  
167 }
168  
169  
4241 jacho 170 /*
171 plbase_zapustene_srouby(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_hlavy,prekryti_der,prumer_hlavy);
172  
173 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
4301 jacho 174  
4241 jacho 175