With dynamic blocks you can insert one block that can change shape, size, or configuration instead of inserting one of many static block definitions. For example, instead of creating multiple blocks for different table types and chair settings, you can create one table block. Once the block is inserted, you can select the table type at any time. You can also define dynamic blocks that can be stretched, rotated, flipped, generate an array, and more.
In this example block I defined two options; a round table with 4 chairs and a rectangular table with 8 chairs. Of course, the block could contain any number of table and chair configurations.
Create your own dynamic block with different table and chair configurations.
You might also want to try this example of a stretchable block representing a window.
Watch a video to see how to create an Array dynamic block,
or to see how to create a Flip dynamic block.