Rev 4421 Rev 4571
Line 1... Line 1...
1 include <manufactury_conf.scad> 1 include <manufactury_conf.scad>
2 include <../configuration.scad> 2 include <../configuration.scad>
3 use <MLAB_logo.scad> 3 use <MLAB_logo.scad>
4   4  
-   5 sloupek ();
-   6  
-   7  
5 //Funkce pro generovani sloupku 8 //Funkce pro generovani sloupku
6 module sloupek( 9 module sloupek() {
7 vyska, -  
8 zapust, -  
9 vzdalenost_der, -  
10 vzdalenost_od_okraje, -  
11 vzdalenost_od_diry, -  
12 radidus_hrany, -  
13 prumer_sroubu, -  
14 prumer_matice, -  
15 vyska_matice, -  
16 posuv_dorazu, -  
17 matice_sila_materialu,logo_vyska,logo_sirka) { -  
18   10  
19 difference () { 11 difference () {
-   12 translate([-(prumer_matice+2*tloustka_bocnice-2*radidus_hrany)/2,-(prumer_matice+2*tloustka_bocnice-2*radidus_hrany)/2,0])
20 union () { 13 minkowski()
21 color("green") 14 {
22 translate([-(vzdalenost_od_okraje-radidus_hrany),-(vzdalenost_od_okraje-radidus_hrany),0]) // center top screw 15 cube([prumer_matice+2*tloustka_bocnice-2*radidus_hrany,prumer_matice+2*tloustka_bocnice-2*radidus_hrany,vyska_matice+2*tloustka_bocnice]); // base plastics brick
23 cylinder(vyska, d=(2*radidus_hrany), center=true); 16 cylinder(r=radidus_hrany,h=0.1);
24   17 }
25 color("cyan") -  
26 translate([vzdalenost_der/4, vzdalenost_der/4, -vyska/2]) -  
27 linear_extrude(height = vyska) -  
28 square([vzdalenost_der/2, vzdalenost_der/2], center = true); -  
29   18
30 color("gray") -  
31 translate([-vzdalenost_od_okraje/2, vzdalenost_der/4, -vyska/2]) 19 translate([0,0,vyska_matice+2*tloustka_bocnice+0.1-tloustka_bocnice/2+0.2])
32 linear_extrude(height = vyska) -  
33 square([(vzdalenost_od_okraje), vzdalenost_der/2], center = true); 20 cylinder((tloustka_bocnice), d=(prumer_sroubu), center=true);
34 21
35 color("gray") -  
36 translate([vzdalenost_der/4, -vzdalenost_od_okraje/2, -vyska/2]) -  
37 linear_extrude(height = vyska) -  
38 square([vzdalenost_der/2, vzdalenost_od_okraje], center = true); 22 cylinder((vyska_matice+2*tloustka_bocnice), d=(prumer_sroubu), center=true);
39 23
40 color("red") -  
41 translate([-(vzdalenost_od_okraje-radidus_hrany)/2, -vzdalenost_od_okraje/2, -vyska/2]) -  
42 linear_extrude(height = vyska) -  
43 square([vzdalenost_od_okraje-radidus_hrany, vzdalenost_od_okraje], center = true); -  
44 24
45 color("red") 25 //otvor na matici
46 translate([-vzdalenost_od_okraje/2,-(vzdalenost_od_okraje-radidus_hrany)/2, -vyska/2]) 26 translate([0,tloustka_bocnice/2-posuv_dorazu/2,(vyska_matice+2*tloustka_bocnice)/2])
47 linear_extrude(height = vyska) -  
48 square([vzdalenost_od_okraje, vzdalenost_od_okraje-radidus_hrany], center = true); -  
49   27
50 color("green") -  
51 translate([vzdalenost_der, -vzdalenost_od_okraje/2, -(vyska-(2*zapust))/2]) -  
52 linear_extrude(height = (vyska-(2*zapust))) -  
53 square([vzdalenost_der, vzdalenost_od_okraje], center = true); 28 cube([prumer_matice, prumer_matice+posuv_dorazu+tloustka_bocnice,vyska_matice], center = true);
54 29
55 color("red") 30 }
56 translate([-vzdalenost_od_okraje/2,vzdalenost_der, -(vyska-(2*zapust))/2]) -  
57 linear_extrude(height = (vyska-(2*zapust))) -  
58 square([ vzdalenost_od_okraje,vzdalenost_der], center = true); -  
59 31  
60 color("cyan") 32 difference () {
61 translate([vzdalenost_od_diry/2, vzdalenost_der, -(vyska-(2*zapust))/2]) 33 translate([-(prumer_matice+2*tloustka_bocnice)/2,-(prumer_matice+2*tloustka_bocnice)/2,-vyska_podpery])
62 linear_extrude(height = (vyska-(2*zapust))) 34 rotate([0, 0, 45])
63 square([(vzdalenost_od_diry), vzdalenost_der], center = true); -  
64 35
65 color("cyan") -  
66 translate([vzdalenost_der, vzdalenost_od_diry/2, -(vyska-(2*zapust))/2]) -  
67 linear_extrude(height = (vyska-(2*zapust))) -  
68 square([vzdalenost_der, vzdalenost_od_diry ], center = true); 36 cylinder(vyska_podpery,0,sqrt(2*((prumer_matice+2*tloustka_bocnice)*(prumer_matice+2*tloustka_bocnice))),$fn=4);
69 37
70   38
71 39
72 40
73 } 41 difference () {
74   42  
75 //diry na sroub -  
76 translate([0,0,0]) // center top screw -  
77 cylinder(2*vyska, d=(prumer_sroubu), center=true); -  
78   43  
79 translate([vzdalenost_der,0,0]) // center top screw -  
80 cylinder(2*vyska, d=(prumer_sroubu), center=true); -  
81   44  
82 translate([0,vzdalenost_der,0]) // center top screw 45 translate([-((sqrt(2*((prumer_matice+2*tloustka_bocnice)*(prumer_matice+2*tloustka_bocnice))*2))),-((sqrt(2*((prumer_matice+2*tloustka_bocnice)*(prumer_matice+2*tloustka_bocnice))*2))),-vyska_podpery])
83 cylinder(2*vyska, d=(prumer_sroubu), center=true); 46 cube([2*(sqrt(2*((prumer_matice+2*tloustka_bocnice)*(prumer_matice+2*tloustka_bocnice))*2)),2*(sqrt(2*((prumer_matice+2*tloustka_bocnice)*(prumer_matice+2*tloustka_bocnice))*2)),vyska_podpery+0.1]);
84   47
85 //diry na matice -  
86 //1. krajni matice -  
87 translate([vzdalenost_der,(((((prumer_matice)/2)+posuv_dorazu+vzdalenost_od_diry)/2)-(posuv_dorazu+prumer_matice/2)),((vyska-2*zapust)/2-vyska_matice/2)-matice_sila_materialu]) // center top screw 48 translate([-(prumer_matice+2*tloustka_bocnice-2*radidus_hrany)/2,-(prumer_matice+2*tloustka_bocnice-2*radidus_hrany)/2,-vyska_podpery+0.05])
88 49
-   50 minkowski()
-   51 {
89 cube([prumer_matice, prumer_matice+posuv_dorazu+vzdalenost_od_diry,vyska_matice], center = true); 52 cube([prumer_matice+2*tloustka_bocnice-2*radidus_hrany,prumer_matice+2*tloustka_bocnice-2*radidus_hrany,vyska_podpery+0.01]); // base plastics brick
-   53 cylinder(r=radidus_hrany,h=0.1);
-   54 }
-   55 }
90   56
91 translate([vzdalenost_der,(((((prumer_matice)/2)+posuv_dorazu+vzdalenost_od_diry)/2)-(posuv_dorazu+prumer_matice/2)),-(((vyska-2*zapust)/2-vyska_matice/2)-matice_sila_materialu)]) // center top screw -  
92 57
93 cube([prumer_matice, prumer_matice+posuv_dorazu+vzdalenost_od_diry,vyska_matice], center = true); -  
94   58
95   59
96 //2. krajni matice 60 }
97 translate([(((((prumer_matice)/2)+posuv_dorazu+vzdalenost_od_diry)/2)-(posuv_dorazu+prumer_matice/2)), vzdalenost_der,((vyska-2*zapust)/2-vyska_matice/2)-matice_sila_materialu]) // center top screw -  
98 61
99 cube([ prumer_matice+posuv_dorazu+vzdalenost_od_diry,prumer_matice,vyska_matice], center = true); -  
100   62
101 translate([(((((prumer_matice)/2)+posuv_dorazu+vzdalenost_od_diry)/2)-(posuv_dorazu+prumer_matice/2)), vzdalenost_der,-(((vyska-2*zapust)/2-vyska_matice/2)-matice_sila_materialu)]) // center top screw -  
102 63
103 cube([ prumer_matice+posuv_dorazu+vzdalenost_od_diry,prumer_matice,vyska_matice], center = true); -  
104   64  
105 //prostredni dira 65 }
106 translate([0,(((((prumer_matice)/2)+posuv_dorazu+vzdalenost_od_diry)/2)-(posuv_dorazu+prumer_matice/2)),((vyska)/2-vyska_matice/2)-matice_sila_materialu]) // center top screw -  
107 66  
108 cube([prumer_matice, prumer_matice+posuv_dorazu+vzdalenost_od_diry,vyska_matice], center = true); -  
109   67  
110 translate([0,(((((prumer_matice)/2)+posuv_dorazu+vzdalenost_od_diry)/2)-(posuv_dorazu+prumer_matice/2)),-(((vyska)/2-vyska_matice/2)-matice_sila_materialu)]) // center top screw -  
111 68  
112 cube([prumer_matice, prumer_matice+posuv_dorazu+vzdalenost_od_diry,vyska_matice], center = true); -  
113   69  
114 //---------------------------------------------------- -  
115 //LOGO MLAB -  
116 union (){ -  
117 translate ([5, -vzdalenost_od_okraje+1,0]) // ODROIDs passive components hole. -  
118 rotate([0, 90, 270]) -  
119 scale(v = [logo_sirka, logo_vyska, 0.3]) -  
120 MLAB_logo_short(); -  
121 } -  
122   70  
123 } -  
124 } -  
125   71  
126 sloupek( -  
127 vyska, -  
128 zapust, -  
129 vzdalenost_der, -  
130 vzdalenost_od_okraje, -  
131 vzdalenost_od_diry, -  
132 radidus_hrany, -  
133 prumer_sroubu, -  
134 prumer_matice, -  
135 vyska_matice, -  
136 posuv_dorazu, -  
137 matice_sila_materialu,logo_vyska,logo_sirka); -