chiark / gitweb /
flyscreen-handle: kits
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 27 Aug 2016 16:22:18 +0000 (17:22 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 27 Aug 2016 16:22:18 +0000 (17:22 +0100)
flyscreen-handle.scad

index c927ec5c1bae8e803708fe1916856e99f3cbbd92..16b0dee6ee6a6fccb2ad80d82ba18d246151a827 100644 (file)
@@ -33,6 +33,10 @@ pivot_slop = 0.25;
 strap_above = 0.1;
 strap_th = 2.5;
 strap_below = 3;
+strap_width = 5;
+
+width = 35;
+nstraps = 2;
 
 test_width = 5;
 
@@ -73,6 +77,8 @@ outside_push_inadj_slope = (P3t[1]-P4[1]) / (P6a[1]-P5[1]);
 
 ribble_rad = ribble_dia/2;
 
+kit_adj_shift = -opening_height - 2.0;
+
 module ExtrusionSect(){
   cr = openingedge_dia/2;
   toph = opening_height/2 + opening_protrh;
@@ -176,26 +182,58 @@ module Demo(){
   color("purple") translate([0,0,10]) StrapSectBot();
 }
 
-module LeverTop(){
-  LeverSectTop();
-}
-
-module LeverBot(inadj=false){
-  linear_extrude(height=test_width, convexity=100) LeverSectBot(inadj);
-}
-
 module SomeLever() {
   // SomeLever(){ LeverBot(inadj); LeverSectBot(); }
+  difference(){
+    linear_extrude(height=width, convexity=100) children(0);
+    for (i = [ 0 : nstraps - 1 ]) {
+      translate([0,0, (i + 0.5) / nstraps * width - strap_width/2])
+       linear_extrude(height=strap_width, convexity=10)
+       children(1);
+    }
+  }
 }
 
 module Test(){
   linear_extrude(height=test_width, convexity=100) {
     translate([0,2,0]) LeverSectTop();
     LeverSectBot();
-    translate([0,-opening_height - 2,0]) LeverSectBot(true);
+    translate([0,kit_adj_shift]) LeverSectBot(true);
+  }
+}
+
+module LeverTop(){ ////toplevel
+  SomeLever(){
+    LeverSectTop();
+    StrapSectTop();
+  }
+}
+module LeverBot(){ ////toplevel
+  SomeLever(){
+    LeverSectBot();
+    StrapSectBot();
   }
 }
+module LeverBotAdj(){ ////toplevel
+  SomeLever(){
+    LeverSectBot(true);
+    StrapSectBot(true);
+  }
+}
+
+module Kit(){ ////toplevel
+  translate([0,2,0]) LeverTop();
+  LeverBot();
+}
+
+module KitAdj(){ ////toplevel
+  translate([0,2,0]) LeverTop();
+  LeverBotAdj();
+}
 
 //LeverSectBot(true);
 //Demo();
+//LeverTop();
 Test();
+//Kit();
+//KitAdj();