From 2a052a0eb5322500276a4efdaef85d3c5ab95e9d Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Tue, 30 Oct 2018 17:26:58 +0000 Subject: [PATCH] ksafe-base: wip, $xpp Signed-off-by: Ian Jackson --- ksafe-base.scad | 54 ++++++++++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/ksafe-base.scad b/ksafe-base.scad index b21b693..24805a7 100644 --- a/ksafe-base.scad +++ b/ksafe-base.scad @@ -26,46 +26,50 @@ appM = gppL + anchor_b * [1,1]; a_bevel = 2 * anchor_b * (1 + sqrt(0.5)); -module upp_app_Profile(t_bevel){ - xppE = gppL + t_bevel * [0,1]; - xppF = gppL + t_bevel * [1,0]; +module upp_app_Vars(t_bevel){ + $xppE = gppL + t_bevel * [0,1]; + $xppF = gppL + t_bevel * [1,0]; - xppJ = xppE + wall_thick * [ 1, tan(22.5) ]; - xppI = xppF + base_thick + [ tan(22.5), 1 ]; + $xppJ = $xppE + wall_thick * [ 1, tan(22.5) ]; + $xppI = $xppF + base_thick + [ tan(22.5), 1 ]; + children(); +} + +module upp_app_Profile(){ polygon([ gppA, gppB, - xppE, - xppF, - xppF + [1,0], - xppI + [1,0], - xppJ ]); + $xppE, + $xppF, + $xppF + [1,0], + $xppI + [1,0], + $xppJ ]); } module UsualProfile(){ - upp_app_Profile(bevel); + upp_app_Vars(bevel) upp_app_Profile(); } module NearAnchorProfile(){ - upp_app_Profile(a_bevel); + upp_app_Vars(a_bevel) upp_app_Profile(); } module AnchorProfile(){ - xppE = gppL + t_bevel * [0,1]; - xppF = gppL + t_bevel * [1,0]; - - upp_app_Profile(a_bevel); - - difference(){ - hull(){ - polygon([ xppE, - xppF, - xppF + [0,1], - xppE + [1,0] ]); - translate(appM) circle(r= anchor_b); + upp_app_Vars(a_bevel) { + + upp_app_Profile(); + + difference(){ + hull(){ + polygon([ $xppE, + $xppF, + $xppF + [0,1], + $xppE + [1,0] ]); + translate(appM) circle(r= anchor_b); + } + translate(appM) circle(r= anchor_rad); } - translate(appM) circle(r= anchor_rad); } } -- 2.30.2