chiark / gitweb /
cable-splice-clamp: demo; geometry is a bit pants but seems nearly right for many...
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 9 Feb 2016 01:40:25 +0000 (01:40 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 9 Feb 2016 01:40:25 +0000 (01:40 +0000)
cable-splice-clamp.scad

index b1f6876979f7afd2fd6256a722e05a4c2fac545a..cd310bf862fca12885f956e2e70ca35bfc13fadd 100644 (file)
@@ -6,13 +6,15 @@ cable_mindia = 6;
 wallmin = 1;
 wall = 2;
 
-delta_ellipse = 0.5;
+delta_ellipse = 0.45;
 
 // calculated
 
 outerdia = cable_maxdia / cos(30) + wall*2;
 delta_shift = 1 - delta_ellipse;
 
+delta_shift_gap = (cable_maxdia-cable_mindia) * delta_shift;
+
 module CrossSection(plus=0) {
   difference(){
     for (dx = [-plus, 0, plus])
@@ -21,14 +23,28 @@ module CrossSection(plus=0) {
 
     scale([cable_maxdia,
           cable_maxdia * delta_shift + cable_mindia * delta_ellipse])
-      circle(r= 0.5, $fn=30);
+      circle(r= sqrt(0.5) * delta_shift + 0.5 * delta_ellipse, $fn=4);
 
-    square(center=true, [40, (cable_maxdia-cable_mindia) * delta_shift]);
+    square(center=true, [40, delta_shift_gap]);
   }
 }
 
-linear_extrude(height=20)
-  CrossSection(0);
+module CrossSectionDemo(){ ////toplevel
+  color("blue"){
+    translate([0, delta_shift_gap/2, 0]){
+      difference(){
+        circle(r = cable_maxdia/2, $fn=20);
+       circle(r = cable_mindia/2, $fn=20);
+      }
+    }
+  }
+  
+  linear_extrude(height=20)
+    CrossSection(0);
+
+  color("red")
+    linear_extrude(height=1)
+    CrossSection(2);
+}
 
-linear_extrude(height=1)
-  CrossSection(2);
+CrossSectionDemo();