From 22a422688b02e6d11945531cf528df8dae0a8e86 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Tue, 27 Nov 2018 21:50:20 +0000 Subject: [PATCH] poster-tube-lid: catch: rework going well Signed-off-by: Ian Jackson --- poster-tube-lid.scad | 77 +++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 47 deletions(-) diff --git a/poster-tube-lid.scad b/poster-tube-lid.scad index b2718f2..91ce3cc 100644 --- a/poster-tube-lid.scad +++ b/poster-tube-lid.scad @@ -1,5 +1,7 @@ // -*- C -*- +include + coarse = false; main_dia = 71.2 + 0.50 - 2.26; @@ -233,7 +235,7 @@ cppD = cppC + [0,-1] * catch_strap_width; // catch assembly stalk and so on -cppF = [ cppg[0] - catch_stem_stalk_eff_bend_rad, cppd[1] ]; +cppF = [ cppg[0] - catch_stalk_eff_bend_rad, cppd[1] ]; cpp4 = [ cppg[0] - catch_stem_len, cpph[1] ] + [1,-1] * catch_cr; cpp5 = [ cpp4[0], cppC[1] + catch_cr ]; cpp2 = cpp5 + [-1,0] * (catch_cr * 2 + catch_stalk_base_width); @@ -590,56 +592,36 @@ module CatchAssemblyCoreProfile(){ } } -module CatchCoreProfile(){ ////toplevel - hull(){ - translate(cppB) circle(r= catch_knob_dia/2); - polygon([cpp4, - cppB, - cpp3]); - } - translate(cpp8) - circle(catch_cr); - polygon([ - cpp4, - cppB, - cpp3, - cpp2, - cpp1, - cpp12, - ]); - difference(){ - polygon([ cpp4, - cpp3, - cpp12, - cppA, - cppE, - cppD, - cppC, - cpp9, - cpp10, - cpp11, - cpp7, - cpp5, - ], convexity=10); - hull(){ - translate(cpp7) circle(r= catch_cr); - polygon([ cpp7, - cpp5, - cpp11 ]); - } - hull(){ - translate(cpp6) circle(catch_cr); - polygon([ cppA, - cpp0, - cpp1 ]); +module CatchHeadProfile(){ + intersection(){ + translate(cppF){ + difference(){ + circle(r = dist2d(cppF, cppd)); + circle(r = dist2d(cppF, cppa)); + } } + polygon([ cppa, + cppg, + cpph, + cppd, + cppc, + cppb ]); } + polygon([ cppd, + cppg, + cppf, + cppe, + cpph ]); } + module CatchCore(){ /////toplevel linear_extrude(height=catch_strap_thick, convexity=10) CatchAssemblyCoreProfile(); + linear_extrude(height=catch_strap_thick, convexity=10) + CatchHeadProfile(); + translate(concat(cppB,[0])) hull(){ translate([0,0, catch_knob_height - catch_knob_dia/2]) sphere(r = catch_knob_dia/2); @@ -703,11 +685,12 @@ module CatchPinProfileDemo(){ /////toplevel echo("G ", cpp2[0] - cpp1[0], bayo_n[0] - bayo_e[0]); - color("blue") translate([-cpp2[0], - -cpp2[1], + color("blue") translate([0,0, +1, - ]) - CatchCoreProfile(); + ]) { + CatchAssemblyCoreProfile(); + CatchHeadProfile(); + } polygon(bayo_polygon, convexity=10); } -- 2.30.2