Rev 4224 Rev 4226
1 include <configuration.scad> 1 //include <configuration.scad>
-   2 /*
-   3 //sloupek
-   4 vyska = 60; //celeho sloupku
-   5 zapust = 6.5; //vyska zapusteni listy
-   6 vzdalenost_der = 10; //roztec upevňovacich der
-   7 vzdalenost_od_okraje = 10; //vzdalenost stredu upevnovaci diry od kraje desky
-   8 vzdalenost_od_diry = 5; //vzdalenost od stredu upevnovaci diry na druhou stranu
-   9 radidus_hrany = 5; //radius zaobleni
-   10  
-   11 //parametry šroubu
-   12 prumer_sroubu=3.3;
-   13  
-   14  
-   15 //parametry matice
-   16 prumer_matice=6; //hrany k hraně
-   17 vyska_matice=3; //vyska matice
-   18 posuv_dorazu=0; //pro moznost posuvu dorazu pro vsunutí matice
-   19 matice_sila_materialu=2; //sila materialu pod/nad maticí na ose z
-   20 */
2   21  
-   22  
-   23  
-   24 module sloupek (vyska,zapust,vzdalenost_der,vzdalenost_od_okrajem,vzdalenost_od_diry,radidus_hrany,prumer_sroubu,prumer_matice,vyska_matice,posuv_dorazu,matice_sila_materialu) {
3 difference () { 25 difference () {
4 union () { 26 union () {
5 color("green") 27 color("green")
6 translate([-(vzdalenost_od_okraje-radidus_hrany),-(vzdalenost_od_okraje-radidus_hrany),0]) // center top screw 28 translate([-(vzdalenost_od_okraje-radidus_hrany),-(vzdalenost_od_okraje-radidus_hrany),0]) // center top screw
7 cylinder(vyska, d=(2*radidus_hrany), center=true); 29 cylinder(vyska, d=(2*radidus_hrany), center=true);
8   30  
9 color("cyan") 31 color("cyan")
10 translate([vzdalenost_der/4, vzdalenost_der/4, -vyska/2]) 32 translate([vzdalenost_der/4, vzdalenost_der/4, -vyska/2])
11 linear_extrude(height = vyska) 33 linear_extrude(height = vyska)
12 square([vzdalenost_der/2, vzdalenost_der/2], center = true); 34 square([vzdalenost_der/2, vzdalenost_der/2], center = true);
13   35  
14 color("gray") 36 color("gray")
15 translate([-vzdalenost_od_okraje/2, vzdalenost_der/4, -vyska/2]) 37 translate([-vzdalenost_od_okraje/2, vzdalenost_der/4, -vyska/2])
16 linear_extrude(height = vyska) 38 linear_extrude(height = vyska)
17 square([(vzdalenost_od_okraje), vzdalenost_der/2], center = true); 39 square([(vzdalenost_od_okraje), vzdalenost_der/2], center = true);
18 40
19 color("gray") 41 color("gray")
20 translate([vzdalenost_der/4, -vzdalenost_od_okraje/2, -vyska/2]) 42 translate([vzdalenost_der/4, -vzdalenost_od_okraje/2, -vyska/2])
21 linear_extrude(height = vyska) 43 linear_extrude(height = vyska)
22 square([vzdalenost_der/2, vzdalenost_od_okraje], center = true); 44 square([vzdalenost_der/2, vzdalenost_od_okraje], center = true);
23 45
24 color("red") 46 color("red")
25 translate([-(vzdalenost_od_okraje-radidus_hrany)/2, -vzdalenost_od_okraje/2, -vyska/2]) 47 translate([-(vzdalenost_od_okraje-radidus_hrany)/2, -vzdalenost_od_okraje/2, -vyska/2])
26 linear_extrude(height = vyska) 48 linear_extrude(height = vyska)
27 square([vzdalenost_od_okraje-radidus_hrany, vzdalenost_od_okraje], center = true); 49 square([vzdalenost_od_okraje-radidus_hrany, vzdalenost_od_okraje], center = true);
28 50
29 color("red") 51 color("red")
30 translate([-vzdalenost_od_okraje/2,-(vzdalenost_od_okraje-radidus_hrany)/2, -vyska/2]) 52 translate([-vzdalenost_od_okraje/2,-(vzdalenost_od_okraje-radidus_hrany)/2, -vyska/2])
31 linear_extrude(height = vyska) 53 linear_extrude(height = vyska)
32 square([vzdalenost_od_okraje, vzdalenost_od_okraje-radidus_hrany], center = true); 54 square([vzdalenost_od_okraje, vzdalenost_od_okraje-radidus_hrany], center = true);
33   55  
34 color("green") 56 color("green")
35 translate([vzdalenost_der, -vzdalenost_od_okraje/2, -(vyska-(2*zapust))/2]) 57 translate([vzdalenost_der, -vzdalenost_od_okraje/2, -(vyska-(2*zapust))/2])
36 linear_extrude(height = (vyska-(2*zapust))) 58 linear_extrude(height = (vyska-(2*zapust)))
37 square([vzdalenost_der, vzdalenost_od_okraje], center = true); 59 square([vzdalenost_der, vzdalenost_od_okraje], center = true);
38 60
39 color("red") 61 color("red")
40 translate([-vzdalenost_od_okraje/2,vzdalenost_der, -(vyska-(2*zapust))/2]) 62 translate([-vzdalenost_od_okraje/2,vzdalenost_der, -(vyska-(2*zapust))/2])
41 linear_extrude(height = (vyska-(2*zapust))) 63 linear_extrude(height = (vyska-(2*zapust)))
42 square([ vzdalenost_od_okraje,vzdalenost_der], center = true); 64 square([ vzdalenost_od_okraje,vzdalenost_der], center = true);
43 65
44 color("cyan") 66 color("cyan")
45 translate([vzdalenost_od_diry/2, vzdalenost_der, -(vyska-(2*zapust))/2]) 67 translate([vzdalenost_od_diry/2, vzdalenost_der, -(vyska-(2*zapust))/2])
46 linear_extrude(height = (vyska-(2*zapust))) 68 linear_extrude(height = (vyska-(2*zapust)))
47 square([(vzdalenost_od_diry), vzdalenost_der], center = true); 69 square([(vzdalenost_od_diry), vzdalenost_der], center = true);
48 70
49 color("cyan") 71 color("cyan")
50 translate([vzdalenost_der, vzdalenost_od_diry/2, -(vyska-(2*zapust))/2]) 72 translate([vzdalenost_der, vzdalenost_od_diry/2, -(vyska-(2*zapust))/2])
51 linear_extrude(height = (vyska-(2*zapust))) 73 linear_extrude(height = (vyska-(2*zapust)))
52 square([vzdalenost_der, vzdalenost_od_diry ], center = true); 74 square([vzdalenost_der, vzdalenost_od_diry ], center = true);
53 75
54 } 76 }
55   77  
56 //diry na sroub 78 //diry na sroub
57 translate([0,0,0]) // center top screw 79 translate([0,0,0]) // center top screw
58 cylinder(2*vyska, d=(prumer_sroubu), center=true); 80 cylinder(2*vyska, d=(prumer_sroubu), center=true);
59   81  
60 translate([vzdalenost_der,0,0]) // center top screw 82 translate([vzdalenost_der,0,0]) // center top screw
61 cylinder(2*vyska, d=(prumer_sroubu), center=true); 83 cylinder(2*vyska, d=(prumer_sroubu), center=true);
62   84  
63 translate([0,vzdalenost_der,0]) // center top screw 85 translate([0,vzdalenost_der,0]) // center top screw
64 cylinder(2*vyska, d=(prumer_sroubu), center=true); 86 cylinder(2*vyska, d=(prumer_sroubu), center=true);
65   87  
66 //diry na matice 88 //diry na matice
67 //1. krajni matice 89 //1. krajni matice
68 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 90 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
69 91
70 cube([prumer_matice, prumer_matice+posuv_dorazu+vzdalenost_od_diry,vyska_matice], center = true); 92 cube([prumer_matice, prumer_matice+posuv_dorazu+vzdalenost_od_diry,vyska_matice], center = true);
71   93  
72 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 94 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
73 95
74 cube([prumer_matice, prumer_matice+posuv_dorazu+vzdalenost_od_diry,vyska_matice], center = true); 96 cube([prumer_matice, prumer_matice+posuv_dorazu+vzdalenost_od_diry,vyska_matice], center = true);
75   97  
76   98  
77 //2. krajni matice 99 //2. krajni matice
78 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 100 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
79 101
80 cube([ prumer_matice+posuv_dorazu+vzdalenost_od_diry,prumer_matice,vyska_matice], center = true); 102 cube([ prumer_matice+posuv_dorazu+vzdalenost_od_diry,prumer_matice,vyska_matice], center = true);
81   103  
82 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 104 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
83 105
84 cube([ prumer_matice+posuv_dorazu+vzdalenost_od_diry,prumer_matice,vyska_matice], center = true); 106 cube([ prumer_matice+posuv_dorazu+vzdalenost_od_diry,prumer_matice,vyska_matice], center = true);
85   107  
86 //prostredni dira 108 //prostredni dira
87 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 109 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
88 110
89 cube([prumer_matice, prumer_matice+posuv_dorazu+vzdalenost_od_diry,vyska_matice], center = true); 111 cube([prumer_matice, prumer_matice+posuv_dorazu+vzdalenost_od_diry,vyska_matice], center = true);
90   112  
91 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 113 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
92 114
93 cube([prumer_matice, prumer_matice+posuv_dorazu+vzdalenost_od_diry,vyska_matice], center = true); 115 cube([prumer_matice, prumer_matice+posuv_dorazu+vzdalenost_od_diry,vyska_matice], center = true);
94   116  
95   117 }
96 } 118 }