Rev 4298 Rev 4301
1 /* 1 /*
2 pocet_der1=5; 2 pocet_der1=5;
3 pocet_der2=3; 3 pocet_der2=3;
4 radidus_hrany=5; 4 radidus_hrany=5;
5 vzdalenost_der=10.16; 5 vzdalenost_der=10.16;
6 vzdalenost_od_okraje=8.8; 6 vzdalenost_od_okraje=8.8;
7 prumer_sroubu=3.3; 7 prumer_sroubu=3.3;
8   8  
9 tloustka_plbase=2; 9 tloustka_plbase=2;
10 prekryti_der=0.3; 10 prekryti_der=0.3;
11   11  
12 vyska_nozicky=5; 12 vyska_nozicky=5;
13   13  
14 vyska_hlavy = 3.5; 14 vyska_hlavy = 3.5;
15 prumer_hlavy=6; 15 prumer_hlavy=6;
16 */ 16 */
17   17  
18 //PLBASE ZAKLADNI 18 //PLBASE ZAKLADNI
19 //------------------------------------------------------------ 19 //------------------------------------------------------------
20 module plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der){ 20 module plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der){
21   21  
22 difference () { 22 difference () {
23 //union () { 23 //union () {
24 translate([radidus_hrany,radidus_hrany,0]) 24 translate([radidus_hrany,radidus_hrany,0])
25 minkowski() 25 minkowski()
26 { 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 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); 28 cylinder(r=radidus_hrany,h=0.1);
29 } 29 }
30 30
31   31  
32 for (i = [0:1:pocet_der1-1]) { 32 for (i = [0:1:pocet_der1-1]) {
33 for (a = [0:1:pocet_der2-1]) { 33 for (a = [0:1:pocet_der2-1]) {
34 34
35 translate([vzdalenost_od_okraje+vzdalenost_der*i,vzdalenost_od_okraje+vzdalenost_der*a, (tloustka_plbase-prekryti_der)/2]) // center top screw 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); 36 cylinder(((tloustka_plbase-prekryti_der)), d=prumer_sroubu, center=true);
37 } 37 }
38 } 38 }
39 39
40 translate([vzdalenost_od_okraje,vzdalenost_od_okraje, (tloustka_plbase/2)]) // center top screw 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); 41 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true);
42 42
43 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje, (tloustka_plbase/2)]) // center top screw 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); 44 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true);
45   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 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); 47 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true);
48 48
49 translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase/2)]) // center top screw 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); 50 cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true);
51 51
52 } 52 }
53 } 53 }
54   54  
55   55  
56   56  
57 //MODEL NOZICKY PRO PLBASE 57 //MODEL NOZICKY PRO PLBASE
58 //----------------------------------------------------------- 58 //-----------------------------------------------------------
59 //průmer nozicky je roven vzdalenost_der 59 //průmer nozicky je roven vzdalenost_der
60 module nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy) 60 module nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy)
61 { 61 {
62 difference () { 62 difference () {
63 translate([0,0,-vyska_nozicky/2]) 63 translate([0,0,-vyska_nozicky/2])
64 cylinder((vyska_nozicky), d=vzdalenost_der, center=true); 64 cylinder((vyska_nozicky), d=vzdalenost_der, center=true);
65 translate([0,0,-(vyska_nozicky-vyska_hlavy/2)]) 65 translate([0,0,-(vyska_nozicky-vyska_hlavy/2)])
66 cylinder((vyska_hlavy), d=prumer_hlavy, center=true); 66 cylinder((vyska_hlavy), d=prumer_hlavy, center=true);
67 translate([0,0,-vyska_nozicky/2]) 67 translate([0,0,-vyska_nozicky/2])
68 cylinder((vyska_nozicky), d=prumer_sroubu, center=true); 68 cylinder((vyska_nozicky), d=prumer_sroubu, center=true);
69 } 69 }
70 } 70 }
71   71  
72   72  
73   73  
74 //PLBASE S NOZICKAMA 74 //PLBASE S NOZICKAMA
75 //----------------------------------------------------------- 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){ 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 77
78 plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der); 78 plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der);
79 79
80 translate([vzdalenost_od_okraje,vzdalenost_od_okraje, (tloustka_plbase)]) // center top screw 80 translate([vzdalenost_od_okraje,vzdalenost_od_okraje, (tloustka_plbase)]) // center top screw
81 rotate(a=[180,0,0]) 81 rotate(a=[180,0,0])
82 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy); 82 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
83 83
84 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje, tloustka_plbase]) // center top screw 84 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje, tloustka_plbase]) // center top screw
85 rotate(a=[180,0,0]) 85 rotate(a=[180,0,0])
86 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy); 86 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
87   87  
88 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw 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]) 89 rotate(a=[180,0,0])
90 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy); 90 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
91 91
92 translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw 92 translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw
93 rotate(a=[180,0,0]) 93 rotate(a=[180,0,0])
94 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy); 94 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
95 95
96 96
97 } 97 }
98 98
99 99
100   100  
101 //PLBASE SE ZAPUSTENIM SROUBU 101 //PLBASE SE ZAPUSTENIM SROUBU
102 //------------------------------------------------------ 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){ 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 () { 104 difference () {
105 plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,(vyska_hlavy+1.5),prekryti_der); 105 plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,(vyska_hlavy+1.5),prekryti_der);
106   106  
107 translate([vzdalenost_od_okraje,vzdalenost_od_okraje, 1.5+(vyska_hlavy/2)]) // center top screw 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); 108 cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true);
109 109
110 translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje, 1.5+(vyska_hlavy/2)]) // center top screw 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); 111 cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true);
112   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 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); 114 cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true);
115 115
116 translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, 1.5+(vyska_hlavy/2)]) // center top screw 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); 117 cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true);
118   118  
119 } 119 }
120 } 120 }
-   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  
121 /* 170 /*
122 plbase_zapustene_srouby(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_hlavy,prekryti_der,prumer_hlavy); 171 plbase_zapustene_srouby(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_hlavy,prekryti_der,prumer_hlavy);
123   172  
124 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy); 173 nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
-   174
125   175