X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=ksafe-base.scad;h=abb74e6ff241326a46b2871e6513c432cf2eb770;hb=6a7dd768726c2903a9b6b97215d7e9c5f4a4d14e;hp=39db6088478643ee5d8c17ac4b237883524bd2f9;hpb=f1c10228aa61207903486c31b4bc84d59ce0ff0c;p=reprap-play.git diff --git a/ksafe-base.scad b/ksafe-base.scad index 39db608..abb74e6 100644 --- a/ksafe-base.scad +++ b/ksafe-base.scad @@ -1,13 +1,13 @@ // -*- C -*- // xxx from actual ksafe -bolt_above = 4; -wall_thick = 4; -bolthole_height = 4; -bolthole_width = 10; -main_sz = 300; -cnr_rad = 10; -lidinner_thick_allow = 20; +bolt_above = 14.30; +bolthole_height = 4.24; +wall_thick = 4.50; +bolthole_width = 16.62; +main_sz = 150.56; +cnr_rad = 13.5; // approx +lidinner_thick_allow = 20.78; // other parameters web_thick = 4; @@ -24,6 +24,8 @@ bevel = 5; // ----- calculated ----- +hsz = main_sz/2; + gppA = [0,0]; gppB = gppA - [ wall_thick, 0 ]; @@ -60,7 +62,8 @@ module upp_app_Profile(){ $xppF, $xppF + [1,0], $xppI + [1,0], - $xppJ ]); + $xppJ ], + convexity=10); } @@ -82,7 +85,8 @@ module AnchorProfile(){ polygon([ $xppE, $xppF, $xppF + [0,1], - $xppE + [1,0] ]); + $xppE + [1,0] ], + convexity=10); translate(appM) circle(r= anchor_b); } translate(appM) circle(r= anchor_rad); @@ -99,7 +103,8 @@ module AnchorWallProfile(){ polygon([ $xppE, $xppF, $xppI, - $xppJ ]); + $xppJ ], + convexity=10); } } } @@ -116,18 +121,35 @@ module WebProfile(){ $xppE, $xppF, $gppS, - $gppR ]); + $gppR ], + convexity=10); } else { polygon([ $gppP, $xppE, $xppF, $gppS, - $gppP + web_height * [1,0] ]); + $gppP + web_height * [1,0] ], + convexity=10); } polygon([ $gppS, $xppF, $xppF + [1,0], - $gppS + [1,0] ]); + $gppS + [1,0] ], + convexity=10); + } +} + +module KsafeBase(){ + for (xm=[0,1]) for (ym=[0,1]) { + mirror([xm,0]) mirror([0,ym]) + translate((hsz - cnr_rad) * [1,1]) + intersection(){ + rotate_extrude(convexity=10) + translate([-cnr_rad,0]) + UsualProfile(); + translate([0,0,-250]) + cube([50,50,500]); + } } } @@ -139,4 +161,5 @@ module DemoProfiles(){ translate([0,0,-4]) color("pink") WebProfile(); } -DemoProfiles(); +//DemoProfiles(); +KsafeBase();