/* */ include include include include /* [Params] */ platfoot_x = 50.44; platfoot_y = 25.42; headpost_x = 38.08; headpost_y = 38.08; footboard_y=19; footboard_z=130; /* [Render Options] */ render_fs=.4; render_fn=0; render_fa=.4; // Set Render Options $fs= ($preview) ? $fs : render_fs; $fn= ($preview) ? $fn : render_fn; $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); } module screw_channel() { back(19.2)cyl(d=6, h=10, orient=ORIENT_Y,align=V_FRONT); back(9)cyl(d=3.5, h=100, orient=ORIENT_Y, align=V_FRONT); } module head_rear() { difference() { back(footboard_y) cuboid([platfoot_x+2*12,headpost_y+footboard_y+4,95], fillet=3, edges=EDGES_BACK+EDGES_Y_ALL, align=V_FRONT+V_TOP); footboard(); headpost(y=2*headpost_y); left(44)up(95/2)cuboid([50, 150,25]); // crossbar // Screw Holes right(40-10)up(95-10) screw_channel(); right(40-10)up(95/2) screw_channel(); right(40-10)up(10) screw_channel(); left(40-10)up(95-10) screw_channel(); left(40-10)up(10) screw_channel(); } fwd(10)up(95/2)right(40)rotate([90,0,-45])rotate_extrude(angle=360) left(18) circle(d=10); } module head_front() { difference() { cuboid([platfoot_x+2*12,platfoot_y+footboard_y,95], fillet=3, edges=EDGES_FRONT+EDGES_Y_ALL, align=V_FRONT+V_TOP); back(.01)platfoot(); // Screw Holes right(40-10)up(95-10) rotate([-90,0,0]) rotate([0,0,180]) m4s_clear(bl=30, bz=-15, drop=true, sh=0); right(40-10)up(95/2) rotate([-90,0,0]) rotate([0,0,180]) m4s_clear(bl=30, bz=-15, drop=true, sh=0); right(40-10)up(10) rotate([-90,0,0]) rotate([0,0,180]) m4s_clear(bl=30, bz=-15, drop=true, sh=0); left(40-10)up(95-10) rotate([-90,0,0]) rotate([0,0,180]) m4s_clear(bl=30, bz=-15, drop=true, sh=0); left(40-10)up(10) rotate([-90,0,0]) rotate([0,0,180]) m4s_clear(bl=30, bz=-15, drop=true, sh=0); } } //fwd(headpost_y+4) head_front(); //head_rear(); //%footboard(); //%headpost(); //%fwd(headpost_y+4)platfoot(); fwd(2)head_front(); back(2) rotate([-90,0,0]) fwd(footboard_y) head_rear();