]> git.sven.stormbind.net Git - sven/scripts.git/blob - openscad/silva_l1_v2.scad
Ignore timeouts on the envertech portal
[sven/scripts.git] / openscad / silva_l1_v2.scad
1 phPoints_middle =  [
2 [ -0.55, 0, -3 ], //0
3 [ 0.55, 0, -3 ], //1
4 [ 0.55, 12, -4.25 ], //2
5 [ -0.55, 12, -4.25 ],//3
6 [ -0.55, 0, 3 ], //4
7 [ 0.55, 0, 3 ],//5
8 [ 0.55, 12, 4.25 ],//6
9 [ -0.55, 12, 4.25 ]];//7
10
11 phFaces_middle = [
12   [0,1,2,3],  // bottom
13   [4,5,1,0],  // front
14   [7,6,5,4],  // top
15   [5,6,2,1],  // right
16   [6,7,3,2],  // back
17   [7,4,0,3]]; // left
18   
19   // lower middle part
20   polyhedron( phPoints_middle, phFaces_middle );
21
22 // upper middle part
23  translate([0,28.5,0])
24  rotate(180)
25     polyhedron( phPoints_middle, phFaces_middle );
26     
27     // middle part
28     color("Blue"){
29         translate([-0.55, 12, -4.25])
30             cube([1.1, 4.5, 8.5]);
31     }
32     
33     //bottom
34     color("Blue"){
35         translate([0, 0, -3])
36             cube([2.55, 1.1, 6]);
37     } 
38      //top
39     color("Blue"){
40         translate([0, 27.4, -3])
41             cube([2.55, 1.1, 6]);
42     }
43     
44 //right lower part
45     color("Green"){
46         translate([2.55,0,0])
47             polyhedron( phPoints_middle, phFaces_middle );
48     }
49     
50    //right upper part
51     color("Green"){
52         translate([2.55,28.5,0])
53         rotate(180)
54             polyhedron( phPoints_middle, phFaces_middle );
55     }
56     
57   
58   /**** left part ****/
59     phPoints_upLeft =  [
60 [ -0.55, 0, -3.8 ], //0
61 [ 0.55, 0, -3.8 ], //1
62 [ 0.55, 4, -4.25 ], //2
63 [ -0.55, 4, -4.25 ],//3
64 [ -0.55, 0, 3.8 ], //4
65 [ 0.55, 0, 3.8 ],//5
66 [ 0.55, 4, 4.25 ],//6
67 [ -0.55, 4, 4.25 ]];//7
68     
69   difference() {
70       // assemble left part
71       union() {
72         // lower left part
73         color("Green"){
74             translate([-2,0,0])
75             rotate(3.6)
76                 polyhedron( phPoints_middle, phFaces_middle );
77        }
78        
79         //middle left part - outside
80        r_outer=3.6/2;
81         color("Blue"){
82             translate([-2.75, 14.25, -4.25])
83                 cylinder(8.5, r_outer, r_outer, $fn=50);
84         }
85
86          // middle part
87         color("Blue"){
88             translate([-3.3, 11.75, -4.25])
89                 cube([1.1, 5, 8.5]);
90             }
91         // upper left part
92         color("Green"){
93             translate([-2.55,20.7,0])
94             rotate(177)
95                 polyhedron( phPoints_upLeft, phFaces_middle );
96        }      
97     }
98  
99     // clear the middle of the left part
100     r_delete=3.4/2;
101       translate([-2.0, 14.25, -4.25])
102         cylinder(8.5, r_delete, r_delete, $fn=50);
103   }
104   
105   
106   // fill lower left part
107 z_max=4.05;  
108  phPoints_fill =  [
109 [ -1.55, 0, -3 ], //0
110 [ 0.55, 0, -3 ], //1
111 [ 0.55, 10, -z_max ], //2
112 [ -1.55, 10, -z_max ],//3
113 [ -1.55, 0, 3 ], //4
114 [ 0.55, 0, 3 ],//5
115 [ 0.55, 10, z_max ],//6
116 [ -1.55, 10, z_max ]];//7
117
118   color("Red"){
119     translate([-0.55,0,0])
120        polyhedron( phPoints_fill, phFaces_middle );
121       }
122