chiark / gitweb /
poster-tube-lid: sort out StrapHoop
[reprap-play.git] / poster-tube-lid.scad
index 79376591c1b0ceac7ee6b15e6213fcfc627b30f8..ee04e76a46531c770272142b88145a3e5cee5273 100644 (file)
@@ -52,6 +52,11 @@ jig_hole_dia = 3.0;
 jig_rim = 5;
 jig_mark = 5;
 
+strap_hoop_thick = 6;
+strap_hoop_inside = 10;
+strap_hoop_strlen = 10;
+strap_hoop_elevation = 45;
+
 // calculated
 
 bayo_entry_x = bayo_entry;
@@ -163,6 +168,38 @@ module MainProfile(){
   }
 }
 
+module StrapHoopProfile(){
+  circle(r = strap_hoop_thick/2);
+}
+
+module StrapHoop(){ ////toplevel
+  bigrad = strap_hoop_inside + strap_hoop_thick/2;
+  extralen = strap_hoop_thick * 5;
+
+  intersection(){
+    rotate([strap_hoop_elevation, 0,0]){
+      for (x= [ -1, +1 ] * bigrad) {
+       translate([x, -extralen, 0])
+         rotate([-90,0,0])
+         linear_extrude(height= extralen + strap_hoop_strlen + 0.1,
+                        convexity=10)
+         StrapHoopProfile();
+      }
+      translate([0, strap_hoop_strlen, 0]){
+       intersection(){
+         rotate_extrude(convexity=10)
+           translate([bigrad, 0,0])
+           StrapHoopProfile();
+         translate([0,50,0])
+           cube([100,100,100], center=true);
+       }
+      }
+    }
+    translate([0, 50, 0])
+      cube(100, center=true);
+  }
+}
+
 module HandlingProfile(){
 //  translate([
 }
@@ -268,6 +305,10 @@ module Cover(){ ////toplevel
       }
     }
   }
+  translate(strap_hoop_thick * [-0.5, 0, +1])
+    translate([handling_dia/2, 0, -side_height])
+    rotate([0,180,0]) rotate([0,0,90])
+    StrapHoop();
 }
 
 module SavingHole(){