X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=poster-tube-lid.scad;h=a354a4c3d06fc9254e3c5805d0c716a52236dc06;hb=84417632775576b267c97545106bc682e098b56c;hp=13109789c6d1ba57adc75e0bea86d7699adf2052;hpb=a1f56c883708cae9567d48454e2a866ee654eaed;p=reprap-play.git diff --git a/poster-tube-lid.scad b/poster-tube-lid.scad index 1310978..a354a4c 100644 --- a/poster-tube-lid.scad +++ b/poster-tube-lid.scad @@ -11,18 +11,19 @@ main_cnr = 6.0; min_wall = 3; -rivet_posn = 6.0 + 0.5; +rivet_posn = 6.0 + 0.1; rivet_thick = 1.67; rivet_width = 4.15 + 1.0; rivet_tall = 5.51 + 1.49; over_rivet_wall = 1.0; side_rivet_gap = 1.5; +inside_rivet_gap = 1.5; -bayo_interf = 1.25; +bayo_interf = 0.44; bayo_behind = 3.5; bayo_interf_width = 2.0; -bayo_interf_slope = 0.75; +bayo_interf_slope = 0.5; oring_thick = 5.0; oring_bore = 62.0; @@ -36,7 +37,7 @@ oring_rm_angle = 20; side_taper = 1.0; -bayo_gap = 1.0 + 1.67; +bayo_gap = 6.0; bayo_entry = bayo_behind/3; @@ -51,8 +52,31 @@ 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; + +sm_inner_circum = 239; +sm_main_thick = 2.5; +sm_main_width = 25; + +sm_bolt_dia = 3.5; +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_y_clear = 0.5; +sm_bolt_y_over = 0.5; + +sm_closure_cnr = 3.0; + // calculated +TAU = PI*2; + bayo_entry_x = bayo_entry; bayo_entry_z = bayo_entry; bayo_inramp_x = bayo_entry; @@ -77,7 +101,6 @@ middle_bot_z = top_z - top_thick_middle; bayo_entry = bayo_behind / 3.0; bayo_top_z = bayo_behind + bayo_gap; -bayo_entry_ramp = bayo_entry + bayo_interf; rivet_entry_width = rivet_width + side_rivet_gap; @@ -86,6 +109,19 @@ 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_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_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); + $fs= coarse ? 2.5 : 0.5; $fa= coarse ? 5 : 1; @@ -98,7 +134,7 @@ bayo_m = [ bayo_inramp_x, bayo_behind ]; bayo_l = bayo_m + bayo_interf * [ 1/bayo_interf_slope, 1 ]; bayo_k = bayo_l + [ bayo_interf_width, 0 ]; bayo_j = bayo_k + bayo_interf * [ 1/bayo_interf_slope, -1 ]; -bayo_i = bayo_j + [ rivet_width, 0 ]; +bayo_i = bayo_j + [ rivet_width + inside_rivet_gap, 0 ]; bayo_h = [ bayo_i[0], bayo_behind + bayo_gap + bayo_interf ]; bayo_g = [ bayo_m[0] - rivet_width, bayo_h[1] ]; @@ -163,6 +199,38 @@ module MainProfile(){ } } +module StrapHoopProfile(){ + circle(r = strap_hoop_thick/2); +} + +module StrapHoop(){ ////toplevel + bigrad = strap_hoop_inside/2 + 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 +336,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(){ @@ -304,13 +376,65 @@ module CoverTest2(){ ////toplevel module CoverTest1(){ ////toplevel difference(){ CoverTest2(); - for (r= [ 40, 147 ]){ - rotate([0,0, r]){ - translate([0,0, -10]) { - cube([ main_dia*3, main_dia * .55, 18], center=true); + difference(){ + for (r= [ 40, 147 ]){ + rotate([0,0, r]){ + translate([0,0, -10]) { + cube([ main_dia*3, main_dia * .53, 18], center=true); + } } } +// translate([ 50, 0, 0 ]) +// cube([ 100, +// strap_hoop_inside + strap_hoop_thick*2 + 1, +// 100 ], +// center=true); + } + } +} + +module StrapMountBolt(l_delta){ ///toplevel + // positioned relative to smc_pos + translate([(sm_bolt_nut_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=sm_bolt_nut_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){ + translate(smc_pos){ + linear_extrude(height=sm_main_width, convexity=10){ + hull(){ + for (m = [0,1]) mirror([m,0,0]) { + translate([-(half_x - sm_closure_cnr), max_y - sm_closure_cnr]) + circle(r=sm_closure_cnr); + translate([-half_x, -sm_inner_rad]) + square([1,1]); + } + } + } + } +} + +module StrapMount(){ ////toplevel + difference(){ + union(){ + cylinder(r=sm_outer_rad, h=sm_main_width); + StrapMountProtrusion(smc_cnr_c_x + sm_closure_cnr, smc_max_y); } + translate([0,0,-1]) + cylinder(r=sm_inner_rad, h=sm_main_width+2); + translate(smc_pos) + StrapMountBolt(10); } }