chiark / gitweb /
flyscreen-handle: object
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 26 Aug 2016 00:38:14 +0000 (01:38 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 26 Aug 2016 00:38:14 +0000 (01:38 +0100)
flyscreen-handle.scad

index bfdec5e04d1f2f6095e162e7d686053c9307cb21..68b2a2f364aad2f711282aa661bd6eea41ec2ccd 100644 (file)
@@ -24,6 +24,12 @@ handle_rcut = 3;
 
 cutout_gap = 1.5;
 
+total_len = 35;
+retaining_len = 10;
+overret_gaplen = 5;
+
+overret_hch = 5;
+
 // calculated
 
 ins_irad = openingcnr_dia/2 + gap;
@@ -122,6 +128,25 @@ module BasicSection(){
   HandleSection();
 }
 
+module Handle(){
+  bs0 = retaining_len + overret_gaplen;
+  bs1 = bs0 + overret_hch;
+  linear_extrude(height=total_len, convexity=100) GappingSection();
+  linear_extrude(height=retaining_len, convexity=100) WithRetainSection();
+  translate([0,0, bs1]) linear_extrude(height= total_len - bs1)
+    BasicSection();
+  translate([0,0, bs1+0.1]) mirror([0,0,1]) {
+    intersection_for (sl=[0,1]) {
+      multmatrix([[1,0,0,0],
+                 [0,1,sl*0.65,0],
+                 [0,0,1,0],
+                 [0,0,0,1]])
+       linear_extrude(height= overret_gaplen+1, convexity=100)
+       BasicSection();
+    }
+  }
+}
+
 module Demo(){
   difference(){
     InsertSection();
@@ -136,7 +161,8 @@ module Test(){
 }
 
 //Demo();
-WithRetainSection();
+//WithRetainSection();
 //BasicSection();
 //GappingSection();
 //Test();
+Handle();