X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=poster-tube-lid.scad;h=525db2bcb00c5321829cee99e9a2e281eb58cd75;hb=a036ac75004cc45f9f0b8741c46c0395bfd1116c;hp=77ecb17cc6cc82577024df0fa0d53d2f8ca11968;hpb=534e13bb00d654ecba6c964936b6a6c7da8d0307;p=reprap-play.git diff --git a/poster-tube-lid.scad b/poster-tube-lid.scad index 77ecb17..525db2b 100644 --- a/poster-tube-lid.scad +++ b/poster-tube-lid.scad @@ -82,6 +82,7 @@ catch_stem_len = 50; catch_stem_th = 3; catch_pin_slop = 0.25; // each side, and above +catch_pin_slop_x_extra = 0.0; // only on one side catch_stalk_above_gap = 1.5; catch_stalk_eff_bend_rad = catch_stem_len * 0.75; @@ -209,9 +210,15 @@ cppxC = 0.41 * sm_inner_rad * TAU; // catch pin -cppa = bayo_f + [1,-1] * catch_pin_slop; -cppb = bayo_g + [1,-1] * catch_pin_slop; -cppd = [ bayo_n[0] - catch_pin_slop, -catch_stalk_above_gap ]; +cpp_adj = (bayo_n[0] - bayo_f[0]) * (1 - sm_inner_rad / bayo_nom_rad); +// radius scaling due to nom and actual radius difference in +// bayo entry construction + +cppa = bayo_f + [1,-1] * catch_pin_slop + [1,0] * cpp_adj; +cppb = bayo_g + [1,-1] * catch_pin_slop + [1,0] * cpp_adj; +cppd = [ bayo_n[0] + - catch_pin_slop - catch_pin_slop_x_extra, + -catch_stalk_above_gap ]; cppc = [ cppd[0], cppb[1] ]; cpph = cppd + [0,-1] * catch_stem_h; cppe = cppd + [0,-1] * (catch_knob_above_gap + catch_knob_dia/2); @@ -219,6 +226,8 @@ cppf = [ cppa[0], cppe[1] ]; cppg = [ cppa[0], cpph[1] ]; cppB = 0.5 * (cppf + cppe); +echo("RR", sm_inner_rad / bayo_nom_rad); + // catch assembly depression below pin cppy6 = cppB[1] - (catch_knob_dia/2 @@ -600,7 +609,7 @@ module CatchHeadProfile(){ translate(cppF){ difference(){ circle(r = dist2d(cppF, cppd)); - circle(r = dist2d(cppF, cppa)); + //circle(r = dist2d(cppF, cppa)); } } polygon([ cppa, @@ -639,7 +648,7 @@ module CatchPreDistort(){ /////toplevel } module CatchAssembly(){ /////toplevel - rotate([0,0, -(cppe[0] + cppB[0]) / sm_inner_rad * 360/TAU]) + rotate([0,0, -(cppe[0] + cppB[0] + catch_pin_slop) / sm_inner_rad * 360/TAU]) translate([0,0, catch_assembly_dy]) scale(sm_inner_rad / 100) import(str("poster-tube-lid,CatchPostDistort-fa", @@ -658,8 +667,7 @@ module CatchAssembly(){ /////toplevel module CatchDemo(){ /////toplevel color("blue") translate([0,0, - -catch_strap_width - -cpp0[1] + -catch_assembly_dy ]) CatchAssembly(); translate([0,0,+side_height @@ -669,8 +677,7 @@ module CatchDemo(){ /////toplevel module CatchDemoS(){ /////toplevel color("blue") translate([0,0, - -catch_strap_width - -cpp0[1] + -catch_assembly_dy ]) CatchAssembly(); intersection(){