X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=ksafe-base.scad;h=c2e2704557e494b15ffc4097faf3e6a8122b13b7;hb=ba7c5b240dcdab5fa3f4e3f7823bb828551471f0;hp=a291a52373ef5f4aeeca21d24d52a9986fa6d4d0;hpb=185faaa043740199a5cb3b47413c154964bd2e3a;p=reprap-play.git diff --git a/ksafe-base.scad b/ksafe-base.scad index a291a52..c2e2704 100644 --- a/ksafe-base.scad +++ b/ksafe-base.scad @@ -4,9 +4,9 @@ bolt_above = 8.50 - 0.50; bolthole_height = 4.24 + 1.00; wall_thick = 4.50; -bolthole_width = 16.62 + 2.00; -main_sz = 150.56 + 0.75; -cnr_rad = 13.5; // approx +bolthole_width = 16.62 + 1.00; +main_sz = 149.06 - 0.25; +cnr_rad = 19.5; lidinner_thick_allow = 20.78 + 0.50; display_width = 69.81 - 0.50; @@ -44,6 +44,7 @@ dcover_edge_gap_more_width = 2.0; // each side // ----- calculated ----- hsz = main_sz/2; +cut = main_sz + 20; gppA = [0,0]; gppB = gppA - [ wall_thick, 0 ]; @@ -63,17 +64,17 @@ yw12 = yw11 + wall_thick; yw13 = -yw6; cpp1 = dpp1 + [ dcover_slop_depth, dcover_slop_height ]; -cpp2 = dpp2 + [ -dcover_slop_depth, dcover_slop_height ]; +cpp2 = [ dpp2[0] - dcover_slop_depth, dpp3[1] + dcover_slop_height ]; cppH = cpp1 + [ 0, dcover_endthick ]; cppA = [ cpp2[0], dpp3[1] + dcover_slop_inside ]; cppK = cppA + [ 0, dcover_mainthick ]; cppZ = [ -ksafecover_lip, -dcover_commonvertoff ]; cppD = cppZ + [ 0, -dcover_slop_inside ]; -cppE = cppD + [ 0, -dcover_mainthick ]; cppC = [ dcover_slop_inside, cppD[1] ]; cppF = cppC + dcover_mainthick * [1,-1]; cppB = [ cppC[0], cppA[1] ]; cppG = [ cppF[0], cppK[1] ]; +cppE = [ cppD[0], cppF[1] - (cppF[0] - cppD[0]) ]; // anchor @@ -280,17 +281,26 @@ module DCover(){ ////toplevel DCoverProfile(); } -module KsafeBase(){ ////toplevel - cut = main_sz + 20; +module DCoverSupportAllowance(){ + translate([0, -hsz, 0]) + cube(center=true, + [ display_width + 2 * dcover_edge_gap_more_width, + wall_thick * 2, + dcover_slop_inside * 2 + 0.01 ]); +} + +module BoltHoles(){ + translate([0,0, -(bolt_above + 0.5 * bolthole_height)]) + cube(center=true, [ cut, bolthole_width, bolthole_height ]); +} +module KsafeBase(){ ////toplevel DCover(); difference(){ Box(); - // bolt holes - translate([0,0, -bolt_above -0.5 * bolthole_height]) - cube(center=true, [ cut, bolthole_width, bolthole_height ]); + BoltHoles(); // string slot translate([ -cut, @@ -311,12 +321,7 @@ module KsafeBase(){ ////toplevel thumbslot_depth+1 ]); } - // support frass area by display cover - translate([0, -hsz, 0]) - cube(center=true, - [ display_width + 2 * dcover_edge_gap_more_width, - wall_thick * 2, - dcover_slop_inside * 2 + 0.01 ]); + DCoverSupportAllowance(); } } @@ -337,6 +342,22 @@ module RimTest(){ ////toplevel } } +module DCoverTest(){ ////toplevel + intersection(){ + difference(){ + union(){ + Box(); + DCover(); + } + DCoverSupportAllowance(); + BoltHoles(); + } + translate([0,0,60]) + cube(center=true, [ main_sz*2, main_sz*2, + 2 * (60 + 10) ]); + } +} + module BoltTest(){ ////toplevel dy = 0.5 * (bolthole_width+4); intersection(){