From: Ian Jackson Date: Tue, 30 Oct 2018 18:22:43 +0000 (+0000) Subject: ksafe-base: wip, web X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=8b47f909e8ebd46b953900143f01e17637230ad4;p=reprap-play.git ksafe-base: wip, web Signed-off-by: Ian Jackson --- diff --git a/ksafe-base.scad b/ksafe-base.scad index adb2b35..0f881c3 100644 --- a/ksafe-base.scad +++ b/ksafe-base.scad @@ -7,15 +7,16 @@ bolthole_height = 4; bolthole_width = 10; main_sz = 30; cnr_rad = 10; +lidinner_thick_allow = 20; // other parameters web_thick = 4; +web_height = 20; // excluding wall and base thick bolthole_rhs = 20; bolthole_lhs = 20; boltreinf_thick = 6; anchor_wall_space = 45; base_thick = 4; -lidinner_thick_allow = 20; space = 25; anchor_thick = 4; anchor_rad = 4; @@ -42,6 +43,13 @@ module upp_app_Vars(t_bevel){ $xppJ = $xppE + wall_thick * [ 1, tan(22.5) ]; $xppI = $xppF + base_thick * [ tan(22.5), 1 ]; + // must pass a_bevel for t_bevel for these to be valid + $gppP = gppA + [0,-1] * lidinner_thick_allow; + $gppQ = $gppP + [1,-1] * web_height; + $gppR = $xppJ + [ 1, tan(22.5) ] * web_height; + $gppS = $xppI + [ tan(22.5), 1 ] * web_height; + $gppT = [ $gppQ[0], $xppE[1] ]; + children(); } @@ -97,11 +105,38 @@ module AnchorWallProfile(){ } } +module WebProfile(){ + upp_app_Vars(a_bevel){ + if ($gppR[1] <= $gppP[1]) { + polygon([ $gppP, + $xppE, + $gppT, + $gppQ ]); + polygon([ $gppP, + $xppE, + $xppF, + $gppS, + $gppR ]); + } else { + polygon([ $gppP, + $xppE, + $xppF, + $gppS, + $gppP + web_height * [1,0] ]); + } + polygon([ $gppS, + $xppF, + $xppF + [1,0], + $gppS + [1,0] ]); + } +} + module DemoProfiles(){ translate([0,0,-2]) color("yellow") AnchorWallProfile(); color("red") AnchorProfile(); translate([0,0,2]) color("black") NearAnchorProfile(); translate([0,0,4]) color("blue") UsualProfile(); + translate([0,0,-4]) color("pink") WebProfile(); } DemoProfiles();