Rev 4301 Rev 4325
-   1 use <text/Write.scad>
1 /* 2 /*
2 pocet_der1=5; 3 pocet_der1=5;
3 pocet_der2=3; 4 pocet_der2=3;
4 radidus_hrany=5; 5 radidus_hrany=5;
5 vzdalenost_der=10.16; 6 vzdalenost_der=10.16;
6 vzdalenost_od_okraje=8.8; 7 vzdalenost_od_okraje=8.8;
7 prumer_sroubu=3.3; 8 prumer_sroubu=3.3;
8   9  
9 tloustka_plbase=2; 10 tloustka_plbase=2;
10 prekryti_der=0.3; 11 prekryti_der=0.3;
11   12  
12 vyska_nozicky=5; 13 vyska_nozicky=5;
13   14  
14 vyska_hlavy = 3.5; 15 vyska_hlavy = 3.5;
15 prumer_hlavy=6; 16 prumer_hlavy=6;
16 */ 17 */
17   18  
18 //PLBASE ZAKLADNI 19 //PLBASE ZAKLADNI
19 //------------------------------------------------------------ 20 //------------------------------------------------------------
20 module plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der){ 21 module plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der){
21   22  
22 difference () { 23 difference () {
23 //union () { 24 //union () {
24 translate([radidus_hrany,radidus_hrany,0]) 25 translate([radidus_hrany,radidus_hrany,0])
25 minkowski() 26 minkowski()
26 { 27 {
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 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 cylinder(r=radidus_hrany,h=0.1);
29 } 30 }
30 31
31   32  
32 for (i = [0:1:pocet_der1-1]) { 33 for (i = [0:1:pocet_der1-1]) {
33 for (a = [0:1:pocet_der2-1]) { 34 for (a = [0:1:pocet_der2-1]) {
34 35
35 translate([vzdalenost_od_okraje+vzdalenost_der*i,vzdalenost_od_okraje+vzdalenost_der*a, (tloustka_plbase-prekryti_der)/2]) // center top screw 36 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 cylinder(((tloustka_plbase-prekryti_der)), d=prumer_sroubu, center=true);
37 } 38 }
38 } 39 }
39 40
40 translate([vzdalenost_od_okraje,vzdalenost_od_okraje, (tloustka_plbase/2)]) // center top screw 41 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 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true);
42 43
43 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje, (tloustka_plbase/2)]) // center top screw 44 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 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true);
45   46  
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 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 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true);
48 49
49 translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase/2)]) // center top screw 50 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 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true);
51 52
52 } 53 }
53 } 54 }
54   55  
55   56  
56   57  
57 //MODEL NOZICKY PRO PLBASE 58 //MODEL NOZICKY PRO PLBASE
58 //----------------------------------------------------------- 59 //-----------------------------------------------------------
59 //průmer nozicky je roven vzdalenost_der 60 //průmer nozicky je roven vzdalenost_der
60 module nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy) 61 module nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy)
61 { 62 {
62 difference () { 63 difference () {
63 translate([0,0,-vyska_nozicky/2]) 64 translate([0,0,-vyska_nozicky/2])
64 cylinder((vyska_nozicky), d=vzdalenost_der, center=true); 65 cylinder((vyska_nozicky), d=vzdalenost_der, center=true);
65 translate([0,0,-(vyska_nozicky-vyska_hlavy/2)]) 66 translate([0,0,-(vyska_nozicky-vyska_hlavy/2)])
66 cylinder((vyska_hlavy), d=prumer_hlavy, center=true); 67 cylinder((vyska_hlavy), d=prumer_hlavy, center=true);
67 translate([0,0,-vyska_nozicky/2]) 68 translate([0,0,-vyska_nozicky/2])
68 cylinder((vyska_nozicky), d=prumer_sroubu, center=true); 69 cylinder((vyska_nozicky), d=prumer_sroubu, center=true);
69 } 70 }
70 } 71 }
71   72  
72   73  
73   74  
74 //PLBASE S NOZICKAMA 75 //PLBASE S NOZICKAMA
75 //----------------------------------------------------------- 76 //-----------------------------------------------------------
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 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
78 plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der); 79 plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der);
79 80
80 translate([vzdalenost_od_okraje,vzdalenost_od_okraje, (tloustka_plbase)]) // center top screw 81 translate([vzdalenost_od_okraje,vzdalenost_od_okraje, (tloustka_plbase)]) // center top screw
81 rotate(a=[180,0,0]) 82 rotate(a=[180,0,0])
82 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy); 83 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
83 84
84 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje, tloustka_plbase]) // center top screw 85 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje, tloustka_plbase]) // center top screw
85 rotate(a=[180,0,0]) 86 rotate(a=[180,0,0])
86 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy); 87 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
87   88  
88 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw 89 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 rotate(a=[180,0,0])
90 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy); 91 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
91 92
92 translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw 93 translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw
93 rotate(a=[180,0,0]) 94 rotate(a=[180,0,0])
94 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy); 95 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
95 96
96 97
97 } 98 }
98 99
99 100
100   101  
101 //PLBASE SE ZAPUSTENIM SROUBU 102 //PLBASE SE ZAPUSTENIM SROUBU
102 //------------------------------------------------------ 103 //------------------------------------------------------
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 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 difference () {
105 plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,(vyska_hlavy+1.5),prekryti_der); 106 plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,(vyska_hlavy+1.5),prekryti_der);
106   107  
107 translate([vzdalenost_od_okraje,vzdalenost_od_okraje, 1.5+(vyska_hlavy/2)]) // center top screw 108 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 cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true);
109 110
110 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje, 1.5+(vyska_hlavy/2)]) // center top screw 111 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 cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true);
112   113  
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 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 cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true);
115 116
116 translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, 1.5+(vyska_hlavy/2)]) // center top screw 117 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 cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true);
118   119  
119 } 120 }
120 } 121 }
121   122  
122   123  
123 //PLBASE S NOZICKAMA polovicni pro tisk 124 //PLBASE S NOZICKAMA polovicni pro tisk
124 //----------------------------------------------------------- 125 //-----------------------------------------------------------
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 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  
127 difference() 128 difference()
128 { 129 {
129 plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der); 130 plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der);
130 131
131 132
132 translate([-1,-1, -1]) 133 translate([-1,-1, -1])
133 134
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 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 }
136 137
137   138  
138   139  
139 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw 140 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 rotate(a=[180,0,0])
141 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy); 142 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
142 143
143 translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw 144 translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw
144 rotate(a=[180,0,0]) 145 rotate(a=[180,0,0])
145 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy); 146 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
146   147  
147 148
148 149
149 150
150 } 151 }
151   152  
152 //PLBASE polovicni pro tisk 153 //PLBASE polovicni pro tisk
153 //----------------------------------------------------------- 154 //-----------------------------------------------------------
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 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  
156 difference() 157 difference()
157 { 158 {
158 plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der); 159 plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der);
159 160
160 161
161 translate([-1,-1, -1]) 162 translate([-1,-1, -1])
162 163
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 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 }
165 166
166 167
167 } 168 }
-   169 //PLBASE ZAKLADNI - bez der s napisem produktu
-   170 //------------------------------------------------------------
-   171 module plbase_bez_der_napis(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der,box_jmeno){
-   172  
-   173  
-   174  
-   175 difference () {
-   176 //union () {
-   177 translate([radidus_hrany,radidus_hrany,0])
-   178 minkowski()
-   179 {
-   180 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
-   181 cylinder(r=radidus_hrany,h=0.1);
-   182 }
-   183 translate([radidus_hrany,radidus_hrany,0])
-   184 translate([ ((pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany)/2, ((pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany)/2, tloustka_plbase/2+1])
-   185 rotate([0,0,0])
-   186 write(box_jmeno,h=10,t=tloustka_plbase-1, space= 1.1, font = "Letters.dxf",center=true);
168   187  
-   188
-   189 translate([vzdalenost_od_okraje,vzdalenost_od_okraje, (tloustka_plbase/2)]) // center top screw
-   190 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true);
-   191
-   192 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje, (tloustka_plbase/2)]) // center top screw
-   193 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true);
-   194  
-   195 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase/2)]) // center top screw
-   196 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true);
-   197
-   198 translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase/2)]) // center top screw
-   199 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true);
-   200
-   201 }
-   202 }
169   203  
170 /* 204 /*
171 plbase_zapustene_srouby(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_hlavy,prekryti_der,prumer_hlavy); 205 plbase_zapustene_srouby(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_hlavy,prekryti_der,prumer_hlavy);
172   206  
173 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy); 207 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
174 208
175   209