# Office Table System Example

Live configurator link: <http://rml.co/UjT6>

This table system consists of table (starting configuration: `{"componentId": "soulpepper:cutout_table"}`) with a possibility to select a table top shape. The tabletop geometry is implemented by using rescalable meshes.

* Various accessories can be docked to the table while checking what is already docked and what yet can be added.
* Credenza and Extension are furniture implemented from scripted primitive geometry. Therefore, more sizes can be added without a lot of effort.
* Extension is placed next to the table as an accessory, while Credenza replaces one of the table legs, adding a connector holding the tabletop on top of Credenza instead.
* If the extension is long enough, another cabinet can be added. This is implemented by optional self-duplication of the component's geometry, using the same component as a subcomponent.
* The whole table system can be selected in a way that it has different surface materials on the tabletop, on the fronts of the cabinets, plinths and walls.
* This example uses extensively subcomponent patterns described in the Subcomponents chapter.

[cutout\_table.json](https://github.com/roomle-content/docs_samples/blob/main/content/docs_samples/components/cutout_table.json)

[cutout\_beam.json](https://github.com/roomle-content/docs_samples/blob/main/content/docs_samples/components/cutout_beam.json)\
[cutout\_cabinet.json](https://github.com/roomle-content/docs_samples/blob/main/content/docs_samples/components/cutout_cabinet.json)\
[cutout\_connector.json](https://github.com/roomle-content/docs_samples/blob/main/content/docs_samples/components/cutout_connector.json)\
[cutout\_credenza.json](https://github.com/roomle-content/docs_samples/blob/main/content/docs_samples/components/cutout_credenza.json)\
[cutout\_extension.json](https://github.com/roomle-content/docs_samples/blob/main/content/docs_samples/components/cutout_extension.json)\
[cutout\_frame.json](https://github.com/roomle-content/docs_samples/blob/main/content/docs_samples/components/cutout_frame.json)\
[cutout\_handle.json](https://github.com/roomle-content/docs_samples/blob/main/content/docs_samples/components/cutout_handle.json)\
[cutout\_legsingle.json](https://github.com/roomle-content/docs_samples/blob/main/content/docs_samples/components/cutout_legsingle.json)\
[cutout\_modestypanel\_material.json](https://github.com/roomle-content/docs_samples/blob/main/content/docs_samples/components/cutout_modestypanel_material.json)\
[cutout\_modestypanel.json](https://github.com/roomle-content/docs_samples/blob/main/content/docs_samples/components/cutout_modestypanel.json)\
[cutout\_tabletop.json](https://github.com/roomle-content/docs_samples/blob/main/content/docs_samples/components/cutout_tabletop.json)\
[cutout\_wireopening.json](https://github.com/roomle-content/docs_samples/blob/main/content/docs_samples/components/cutout_wireopening.json)
