X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=sealing-box.scad.m4;h=dbfb220f9519b7535a4ec66f16a40ce6d588b30b;hp=7ead2b8bdff93d6f668d8fb393ad8134225eae2a;hb=2e669aab002d7fcae3f038b5335a7b484abdcb2f;hpb=fc62b9dd9aa736e615a341783651dd8caf8acdaa diff --git a/sealing-box.scad.m4 b/sealing-box.scad.m4 index 7ead2b8..dbfb220 100644 --- a/sealing-box.scad.m4 +++ b/sealing-box.scad.m4 @@ -29,6 +29,7 @@ $sealingbox_cnrrad = 10; $sealingbox_crude = false; +$sealingbox_inner_slop = 0.2; m4_define(`BoxLocals',` xbox = $sealingbox_sz[0]; @@ -41,13 +42,13 @@ m4_define(`BoxLocals',` xbox_lin = xbox - cnrrad*2; ybox_lin = ybox - cnrrad*2; - - innertube = 1.0 + 0.2; - lidoverlap = 1.5; - lidoverhang = 6; - tubesealrad = 2.0; ') +m4_define(`innertube', `(1.0 + 0.2)') +m4_define(`lidoverlap', `1.5') +m4_define(`lidoverhang', `6') +m4_define(`tubesealrad', `2.0') + m4_define(`BoxFn',`$fn= $sealingbox_crude ? ($2) : ($1)') m4_dnl Box_Part($1=transl_x,$2=transl_y, $3=rot_z,$4=mirror_xy) @@ -117,20 +118,27 @@ module SealingBox_FloorProfile(){ mirror([0,1]) square([wall, floorth]); } +function SealingBox_lidbigger() = lidoverlap + innertube; + module SealingBox_LidProfile(){ BoxLocals rad = tubesealrad + innertube; morex = wall; + inner_buttress_h = tubesealrad*1.5 + innertube + ceilth; + difference(){ - translate([-lidoverlap - innertube, - zbox - lidoverhang - innertube]) - square([lidoverlap + innertube + wall, + translate([0, zbox + ceilth]) mirror([0,1]) { + translate([-SealingBox_lidbigger(), + 0]) + square([lidoverlap + innertube + tubesealrad, lidoverhang + innertube + ceilth]); + square([tubesealrad*2 + innertube + lidoverlap, + inner_buttress_h]); + } hull(){ translate([tubesealrad, zbox - innertube - tubesealrad]) for (t=[ [0,0], - [morex*2, 0], [0, -zbox] ]) { translate(t) @@ -138,6 +146,13 @@ module SealingBox_LidProfile(){ } } } + translate([tubesealrad*2 + $sealingbox_inner_slop, + zbox + ceilth]) { + mirror([0,1]) { + square([lidoverlap + innertube, + inner_buttress_h]); + } + } } module SealingBox_CeilProfile(){