3 elements d h w : spaces ( n- ) &space times ; : --- ( - ) '+ putc @w 2 * [ '- putc ] times '+ putc ; : ? ( n- ) @h <> [ '| ] [ '+ ] if ; : slice ( n- ) '/ putc @w 2 * spaces '/ putc @d swap - dup spaces ? putc cr ; : |...|/ ( - ) @h [ '| putc @w 2 * spaces '| putc 1- spaces '/ putc cr ] iterd ; : face ( - ) --- @w 1+ spaces '/ putc cr |...|/ --- cr ; : cuboid ( whd- ) !d !h !w cr @d 1+ spaces --- cr @d [ dup spaces slice ] iterd face ; 2 3 4 cuboid