diff --git a/bracket.scad b/bracket.scad index 3e30e0b..85e474a 100644 --- a/bracket.scad +++ b/bracket.scad @@ -16,9 +16,11 @@ footboard_y=19; footboard_z=130; LegOff = 19; LegGap=4; +headcrossgasket=13; +cornergasket=5; /* [Render Options] */ -part=""; // [ none, head_corner_rear, head_corner_front, foot_corner_front, foot_corner_rear, head_cross_front, head_cross_rear, foot_cross_front, foot_cross_rear ] +part=""; // [ none, head_corner_rear, head_corner_front, foot_corner_front, foot_corner_rear, head_cross_front, head_cross_rear, foot_cross_front, foot_cross_rear, head_cross_gasket, corner_gasket ] model = "none"; // ["none", "corner_leg", "center_leg"] plate = false; mate = false; @@ -35,9 +37,11 @@ $fa= ($preview) ? $fa : render_fa; module platfoot(x=platfoot_x, y=platfoot_y, z=260, align=V_FRONT) { cuboid([x,y,z], align=align); } + module footboard(x=100, y=footboard_y, z=footboard_z, align=V_BACK+V_BOTTOM) { cuboid([x,y,z], align=align); } + module headpost(x=headpost_x, y=headpost_y, z=260, align=V_FRONT) { cuboid([x,y,z], align=align); } @@ -91,6 +95,20 @@ module head_front() { } } +module corner_gasket(yd=cornergasket) { + blockz=headcross_yz+2*10; + difference() { + left(19/2+4) cuboid([ + platfoot_x+16+LegOff, + 5, + blockz], fillet=2 + ); + rx = 5 + headpost_x/2; + right(rx)zspread(n=3, l=blockz-10) screw_channel(); + left(50)zspread(n=2, l=blockz-10) screw_channel(); + } +} + module foot_front() { blockz= footcrossyz + 2*10; // 95; difference() { @@ -117,7 +135,8 @@ module foot_rear() { headpost(y=2*headpost_y); left(44)up(z/2)cuboid([50, 150, footcrossyz]); // crossbar // Screw Holes - rx = 5 + headpost_x/2; + //rx = 5 + headpost_x/2; + rx= platfoot_y + (16+LegOff)/2; right(rx)up(z-5) screw_channel(); right(rx)up(z/2) screw_channel(); right(rx)up(5) screw_channel(); @@ -126,6 +145,15 @@ module foot_rear() { } } +module head_cross_gasket(y=headcrossgasket) { + difference() { + cuboid([platmid_x+20, y, 42], fillet=3,align=V_BACK); + xspread(n=2, l=platmid_x+10) zspread(n=2, l=33) fwd(1) rotate([90,0,0]) m4s_clear(bl=66, bz=-34, drop=false, sh=0); + } +} + + + module head_cross_rear() { difference() { cuboid([platmid_x+20, 25+10, 42], fillet=3,align=V_BACK); @@ -223,6 +251,17 @@ if (part == "head_cross_front") { } else if (part == "both") { fwd(platfoot_y+LegGap+13) left(LegOff)head_front(); head_rear(); +} else if (part == "head_cross_gasket") { + rot = plate ? 90 : 0; + xrot(rot) + head_cross_gasket(); +} else if (part == "corner_gasket") { + blockz=headcross_yz + 2*10; + rot = plate ? 90 : 0; + xrot(rot) { + corner_gasket(); + if (mate) { down(blockz/2)fwd(headpost_x) left(19) %head_front(); } + } } if (model == "corner_leg") {