diff --git a/box.scad b/box.scad index 9a651f9..ef7afee 100644 --- a/box.scad +++ b/box.scad @@ -84,8 +84,7 @@ module profile(ps=PROFILE_SIZE, wl=WIN_LIP, wt=WIN_THICK, wtr=WIN_TRIM, fl=FLOOR polygon(gon); } - -module box_edge(ps=PROFILE_SIZE, l=10, orient=ORIENT_Z, jh = JOINER_H,jw = JOINER_W, jb=5, jup = false, jdown=false, flx=false, wx=true, wt=WIN_THICK, align=V_CENTER) { +module box_edge(ps=PROFILE_SIZE, l=10, orient=ORIENT_Z, jh = JOINER_H,jw = JOINER_W, jb=5, jup = false, jdown=false, flx=false, wx=true, wt=WIN_THICK, tubepass=false, align=V_CENTER) { joiner_off = ps/2 + wt - jb/sqrt(2); orient_and_align([ps,ps,l], orient=orient, align=align, orig_orient=ORIENT_Z) left(ps/2) fwd(ps/2) { difference() { @@ -93,8 +92,9 @@ module box_edge(ps=PROFILE_SIZE, l=10, orient=ORIENT_Z, jh = JOINER_H,jw = JOINE profile(flx=flx, fly=true, wx=wx, wy=true); if (jup) up(l/2-jw/2)back(joiner_off)right(joiner_off)zrot(45)boxjoiner_clear(orient=ORIENT_Y_90, align=V_CENTER); if (jdown) down(l/2-jw/2)back(joiner_off)right(joiner_off)zrot(45)boxjoiner_clear(orient=ORIENT_Y_90, align=V_CENTER); - right(6+2+WIN_LIP/2)#pc4M10_clear(orient=ORIENT_Y,align=V_BACK); + if (tubepass) right(6+2+WIN_LIP/2)pc4M10_clear(orient=ORIENT_Y,align=V_BACK); } + if (tubepass) right(6+2+WIN_LIP/2)pc4M10(orient=ORIENT_Y,align=V_BACK); if (jup) up(l/2 - jw/2)back(joiner_off)right(joiner_off)zrot(45)boxjoiner(orient=ORIENT_Y_90, align=V_CENTER); if (jdown) down(l/2 - jw/2)back(joiner_off)right(joiner_off)zrot(45)xrot(180)boxjoiner(orient=ORIENT_Y_90, align=V_CENTER); } @@ -154,7 +154,7 @@ module boxjoiner_clear(inset=5, slop=.01, jh=JOINER_H, jw=JOINER_W, align=V_FRON if (PART == "corner") box_corner(); if (PART == "edge") - xrot(90) zrot(45) box_edge(l=21, jup=true, jdown=true, flx=true, wx=false); + xrot(90) zrot(45) box_edge(l=34, jup=true, jdown=true, flx=true, wx=false, tubepass=true); if (PART == "all_corners") box_all_corners(ex=30); if (PART == "simple_box") {