X-Git-Url: https://git.sven.stormbind.net/?a=blobdiff_plain;f=openscad%2Fsilva_l1_v2.scad;fp=openscad%2Fsilva_l1_v2.scad;h=25cdc2f42336f71d929df17ff88d5062b390df80;hb=ea25ba4c95c9d794fd3a2e67f0a9fb9e5903a256;hp=0000000000000000000000000000000000000000;hpb=10b95ab7443f2ff27fb9bf529f7dde3d69c9c61f;p=sven%2Fscripts.git diff --git a/openscad/silva_l1_v2.scad b/openscad/silva_l1_v2.scad new file mode 100644 index 0000000..25cdc2f --- /dev/null +++ b/openscad/silva_l1_v2.scad @@ -0,0 +1,122 @@ +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