X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=poster-tube-lid.scad;h=81120a4a74258a76c7528c65894b9dff9d760762;hp=f68732815c3e81418ee278f42d392dac6e9dedc4;hb=b47a6fbe901394bc680c4ac79e3e26d8197ce948;hpb=d0fcf567a287b8f0298dbfc6e7e56468744b14d5 diff --git a/poster-tube-lid.scad b/poster-tube-lid.scad index f687328..81120a4 100644 --- a/poster-tube-lid.scad +++ b/poster-tube-lid.scad @@ -11,7 +11,7 @@ main_cnr = 6.0; min_wall = 3; -rivet_posn = 6.0 + 0.1; +rivet_posn = 6.0 + 0.30; rivet_thick = 1.67; rivet_width = 4.15 + 1.0; rivet_tall = 5.51 + 1.49; @@ -20,7 +20,7 @@ over_rivet_wall = 1.0; side_rivet_gap = 1.5; inside_rivet_gap = 1.5; -bayo_interf = 0.44; +bayo_interf = 0.30; bayo_behind = 3.5; bayo_interf_width = 2.0; bayo_interf_slope = 0.5; @@ -30,6 +30,7 @@ oring_bore = 62.0; oring_upper_embed_angle = 80; oring_compress = 0.1; // proportion +oring_compress_more = 0.2; oring_rm_beside = 8; oring_rm_scale = 2.0; @@ -57,18 +58,19 @@ strap_hoop_inside = 10; strap_hoop_strlen = 10; strap_hoop_elevation = 45; -sm_inner_circum = 239; -sm_main_thick = 2.5; -sm_main_width = 25; +sm_inner_circum = 218 - 1.90 - 1.00 - 0.50; +sm_main_thick = 2.0; +sm_main_width = 20; -sm_bolt_dia = 3.5; +sm_bolt_dia = 3.5 + 0.1; sm_bolt_shaft = 21.9; sm_bolt_head_dia = 6.94 + 1.0; sm_bolt_head_thick = 2.14; sm_bolt_nut_width = 5.89 + 0.25; sm_bolt_nut_thick = 3.68; +sm_bolt_tighten_allow = 2.0; -sm_bolt_y_clear = 0.5; +sm_bolt_y_clear = 0.75; sm_bolt_y_over = 0.5; sm_closure_cnr = 3.0; @@ -109,22 +111,25 @@ jig_mark_rad = jig_mark + main_dia/2 + jig_thick; handling_dia = oring_bore + oring_thick*2 + min_wall*2; handling_angle = 45; -sm_inner_rad = sm_inner_circum / TAU; +sm_inner_rad = (sm_inner_circum + sm_bolt_tighten_allow/2) / TAU; sm_outer_rad = sm_inner_rad + sm_main_thick; smc_pos = [ 0, sm_inner_rad, 0 ]; smc_bolt_nut_dia = sm_bolt_nut_width / cos(30); +smc_bolt_nut_eff_thick = sm_bolt_nut_thick + sm_bolt_tighten_allow; smc_bolt_y = sm_bolt_dia/2 + sm_bolt_y_clear; smc_max_y = smc_bolt_y + sm_bolt_y_over + max(sm_bolt_head_dia/2, smc_bolt_nut_dia/2); smc_cnr_c_x = sm_bolt_shaft/2 - sm_closure_cnr - - max(sm_bolt_head_thick, sm_bolt_nut_thick); + + sm_bolt_head_thick/2 + smc_bolt_nut_eff_thick/2; $fs= coarse ? 2.5 : 0.5; $fa= coarse ? 5 : 1; +include + // bayonet definition bayo_a = [ bayo_entry_x, 0 ]; @@ -191,7 +196,7 @@ module MainProfile(){ translate([ oring_mid_dia/2 - main_dia/2, 0 ]) hull(){ translate([ 0, oring_y_rad ]) - scale([ 1/oring_oblate, oring_oblate ]) + scale([ 1/oring_oblate * (oring_compress_more+1) , oring_oblate ]) circle(oring_thick/2); translate([ 0, oring_y_rad*2 - oring_thick/2 ]) circle(oring_thick/2); @@ -336,6 +341,12 @@ module Cover(){ ////toplevel } } } + for (r=[0,180]) + rotate([0,0,r]) + translate([-implheadcup_large_dia * .5 - implheadcup_thick/2, + -implheadcup_large_dia * .0, + middle_bot_z + 0.1]) + ImplHeadCup(); // translate(strap_hoop_thick * [-0.5, 0, +1]) // translate([handling_dia/2, 0, -side_height]) // rotate([0,180,0]) rotate([0,0,90]) @@ -393,29 +404,69 @@ module CoverTest1(){ ////toplevel } } -module StrapMountBolt(){ ///toplevel +module ImplHeadCupTest(){ ////toplevel + for (r=[0,180]) + rotate([0,0,r]) + translate([-17,0,0]) + ImplHeadCup(); +} + +module StrapMountBolt(l_delta){ ///toplevel // positioned relative to smc_pos + translate([(smc_bolt_nut_eff_thick - sm_bolt_head_thick)/2, + smc_bolt_y, + sm_main_width/2]){ + translate([ -sm_bolt_shaft/2-1, 0,0 ]){ + rotate([0,90,0]) cylinder(r= sm_bolt_dia/2, h= sm_bolt_shaft+2); + } + translate([ -sm_bolt_shaft/2, 0,0 ]) + rotate([0,-90,0]) + cylinder($fn=6, r=smc_bolt_nut_dia/2, + h=smc_bolt_nut_eff_thick + l_delta); + translate([ sm_bolt_shaft/2, 0,0 ]) + rotate([0,90,0]) + cylinder(r=sm_bolt_head_dia/2, h=sm_bolt_head_thick + l_delta); + } +} + +module StrapMountProtrusion(half_x, max_y, cnr){ + translate(smc_pos){ + linear_extrude(height=sm_main_width, convexity=10){ + hull(){ + for (m = [0,1]) mirror([m,0,0]) { + translate([-(half_x - cnr), max_y - cnr]) + circle(r=cnr); + translate([-half_x, -sm_inner_rad]) + square([1,1]); + } + } + } + } } module StrapMount(){ ////toplevel difference(){ union(){ cylinder(r=sm_outer_rad, h=sm_main_width); - translate(smc_pos){ - linear_extrude(height=sm_main_width, convexity=10){ - hull(){ - for (m = [0,1]) mirror([m,0,0]) { - translate([-smc_cnr_c_x, smc_max_y - sm_closure_cnr]) - circle(r=sm_closure_cnr); - translate([-smc_cnr_c_x, -sm_inner_rad]) - square([1,1]); - } - } - } + StrapMountProtrusion(smc_cnr_c_x + sm_closure_cnr, + smc_max_y, + sm_closure_cnr); + rotate([0,0,180]){ + StrapMountProtrusion(strap_hoop_inside/2 + strap_hoop_thick, + strap_hoop_thick, + sm_closure_cnr); + translate(smc_pos + + [0,0, sm_main_width] + + strap_hoop_thick * [ 0, 0.5, -1.0 ]) + StrapHoop(); } } translate([0,0,-1]) cylinder(r=sm_inner_rad, h=sm_main_width+2); + translate(smc_pos) + StrapMountBolt(10); + translate(smc_pos) + cube([ sm_bolt_tighten_allow, 40,100 ], center=true); } }