--- /dev/null
+phPoints_middle = [
+[ -0.55, 0, -3 ], //0
+[ 0.55, 0, -3 ], //1
+[ 0.55, 12, -4.25 ], //2
+[ -0.55, 12, -4.25 ],//3
+[ -0.55, 0, 3 ], //4
+[ 0.55, 0, 3 ],//5
+[ 0.55, 12, 4.25 ],//6
+[ -0.55, 12, 4.25 ]];//7
+
+phFaces_middle = [
+ [0,1,2,3], // bottom
+ [4,5,1,0], // front
+ [7,6,5,4], // top
+ [5,6,2,1], // right
+ [6,7,3,2], // back
+ [7,4,0,3]]; // left
+
+ // lower middle part
+ polyhedron( phPoints_middle, phFaces_middle );
+
+// upper middle part
+ translate([0,28.5,0])
+ rotate(180)
+ polyhedron( phPoints_middle, phFaces_middle );
+
+ // middle part
+ color("Blue"){
+ translate([-0.55, 12, -4.25])
+ cube([1.1, 4.5, 8.5]);
+ }
+
+ //bottom
+ color("Blue"){
+ translate([0, 0, -3])
+ cube([2.55, 1.1, 6]);
+ }
+ //top
+ color("Blue"){
+ translate([0, 27.4, -3])
+ cube([2.55, 1.1, 6]);
+ }
+
+//right lower part
+ color("Green"){
+ translate([2.55,0,0])
+ polyhedron( phPoints_middle, phFaces_middle );
+ }
+
+ //right upper part
+ color("Green"){
+ translate([2.55,28.5,0])
+ rotate(180)
+ polyhedron( phPoints_middle, phFaces_middle );
+ }
+
+
+ /**** left part ****/
+ phPoints_upLeft = [
+[ -0.55, 0, -3.8 ], //0
+[ 0.55, 0, -3.8 ], //1
+[ 0.55, 4, -4.25 ], //2
+[ -0.55, 4, -4.25 ],//3
+[ -0.55, 0, 3.8 ], //4
+[ 0.55, 0, 3.8 ],//5
+[ 0.55, 4, 4.25 ],//6
+[ -0.55, 4, 4.25 ]];//7
+
+ difference() {
+ // assemble left part
+ union() {
+ // lower left part
+ color("Green"){
+ translate([-2,0,0])
+ rotate(3.6)
+ polyhedron( phPoints_middle, phFaces_middle );
+ }
+
+ //middle left part - outside
+ r_outer=3.6/2;
+ color("Blue"){
+ translate([-2.75, 14.25, -4.25])
+ cylinder(8.5, r_outer, r_outer, $fn=50);
+ }
+
+ // middle part
+ color("Blue"){
+ translate([-3.3, 11.75, -4.25])
+ cube([1.1, 5, 8.5]);
+ }
+ // upper left part
+ color("Green"){
+ translate([-2.55,20.7,0])
+ rotate(177)
+ polyhedron( phPoints_upLeft, phFaces_middle );
+ }
+ }
+
+ // clear the middle of the left part
+ r_delete=3.4/2;
+ translate([-2.0, 14.25, -4.25])
+ cylinder(8.5, r_delete, r_delete, $fn=50);
+ }
+
+
+ // fill lower left part
+z_max=4.05;
+ phPoints_fill = [
+[ -1.55, 0, -3 ], //0
+[ 0.55, 0, -3 ], //1
+[ 0.55, 10, -z_max ], //2
+[ -1.55, 10, -z_max ],//3
+[ -1.55, 0, 3 ], //4
+[ 0.55, 0, 3 ],//5
+[ 0.55, 10, z_max ],//6
+[ -1.55, 10, z_max ]];//7
+
+ color("Red"){
+ translate([-0.55,0,0])
+ polyhedron( phPoints_fill, phFaces_middle );
+ }
+
\ No newline at end of file