]> git.sven.stormbind.net Git - sven/scripts.git/blobdiff - openscad/silva_l1_v2.scad
add first iterations of designing a silva l1 cable clip
[sven/scripts.git] / openscad / silva_l1_v2.scad
diff --git a/openscad/silva_l1_v2.scad b/openscad/silva_l1_v2.scad
new file mode 100644 (file)
index 0000000..25cdc2f
--- /dev/null
@@ -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