chiark / gitweb /
poster-tube-lid: wip handling
[reprap-play.git] / poster-tube-lid.scad
index e5fadba6e3b450a793f6206c1d1f6c658bfe4222..f2056fda73baa37f2c3298873cfb3126968aba67 100644 (file)
@@ -9,12 +9,14 @@ top_middle_dr = 11;
 
 main_cnr = 6.0;
 
+min_wall = 4;
+
 rivet_posn = 6.0;
 rivet_thick = 1.67;
 rivet_width = 4.15 + 1.0;
-rivet_tall = 5.51 + 0.49;
+rivet_tall = 5.51 + 1.49;
 
-over_rivet_wall = 0.5;
+over_rivet_wall = 1.0;
 side_rivet_gap = 1.5;
 
 bayo_interf = 1.25;
@@ -26,7 +28,11 @@ oring_thick = 5.0;
 oring_bore = 62.0;
 
 oring_upper_embed_angle = 80;
-oring_compress = 0.1; // proportion
+oring_compress = 0.05; // proportion
+
+oring_rm_beside = 5;
+oring_rm_scale = 2.0;
+oring_rm_angle = 20;
 
 side_taper = 1.0;
 
@@ -77,6 +83,8 @@ rivet_entry_width = rivet_width + side_rivet_gap;
 
 jig_mark_rad = jig_mark + main_dia/2 + jig_thick;
 
+handling_dia = oring_bore + oring_thick*2 + min_wall*2;
+
 $fs= coarse ? 2.5 : 0.5;
 $fa= coarse ? 5 : 1;
 
@@ -155,6 +163,10 @@ module MainProfile(){
   }
 }
 
+module HandlingProfile(){
+//  translate([
+}
+
 module RotateProjectSlice(offset, slice_size, nom_rad, real_rad){
   // nom_rad > real_rad
   rotate([0,0, atan2(offset, nom_rad) ]){
@@ -196,7 +208,16 @@ module ProfilesDemo(){ ////toplevel
   translate([+10,0]) polygon(bayo_polygon, convexity=10);
 }
 
+module LimitForHandling(){ ////toplevel
+  for (r=[0,180])
+    rotate([0,0,r]) {
+      
+    }
+  cylinder(r= handling_dia/2, h=20);
+}
+
 module Cover(){ ////toplevel
+  %LimitForHandling();
   render() difference(){
     union(){
       rotate_extrude(convexity=10)
@@ -205,10 +226,18 @@ module Cover(){ ////toplevel
       translate([0,0, middle_bot_z])
        cylinder(h= top_thick_middle, r = main_dia/2 - top_middle_dr + 1);
     }
-    for (r=[0,180])
+    for (r=[0,180]){
       rotate([0,0, r])
        translate([0,0, -side_height])
        BayonetCutout();
+      rotate([0,0, r + asin((bayo_d[0] - oring_rm_beside) / (main_dia/2))])
+       translate([0,
+                  oring_mid_dia/2 + oring_thick/4 * oring_rm_scale,
+                  oring_y_rad * 1.5])
+       rotate([-oring_rm_angle, 0, 0])
+       mirror([0,0,1])
+       cylinder(r = oring_thick/4 * oring_rm_scale, h=20);
+    }
     for (r=[0 : 60 : 179]) {
       rotate([0,0, r]) {
        height = top_thick_middle - brace_above_below*2;