RoomNest

  • Professional work: Stantec
  • Role: Lead Computational designer
  • Team: Tabeer Tariq, Hilary Andraeos

Project Highlight and Context: At Penn Medicine healthcare facilities, our team often faced repetitive design modules such as exam rooms and patient rooms. Late client requests for changes, sometimes days before submission means dismantling and re-building entire layouts manually. These repetitive updates slow delivery, introduce more risk, and increase stress. To address this, we built a system of scripts (including RoomNest and SmartHinge) to automate module placement and updates, improving efficiency and consistency across large-scale projects.

Smart furnishing that maps to space logic, not manual placement.

Challenge

In any environment, be it digital or physical space, furnishing layouts are often constrained by access points, spatial boundaries, and predefined use types. In early stage planning in the physical space, designers need to test furnishing layouts across multiple room types. Sometimes these set of furnishing have different constraints, range or code guidelines which they have to follow. In other cases, the same configuration must be replicated across dozens of spaces. This process is repetitive, tedious and prone to error if approached by manual adjustment for each case. This slows iteration and breaks the connection between space logic and layout intelligence. Designers have to spend more time in the development phase of the project.

Process

Design rule: Spaces must be consistently labeled and paired with a defined entry edge as missing labels or edges prevent placement. Furnishing modules should have fixed orientation and dimensional constraints for scaling.

Matrix

  1. All Spaces with fixed labels should be furnished.
  2. Furnishing layout group should be a standard family following certain rules.
  3. These rules will be distances between each object (furniture) depending on city code and room requirements
  4. The furnishing should keep its layout intact and should follow spatial logics.
  5. Layout should respond to door position

Features

  1. Process spaces which are visible in active view.
  2. Filter objects dynamically by user-defined category, type, or tag.
  3. Adaptive family is of a specific type and responsibility to changing room typologies.
  4. Constraint-based placement: Family keeps in mind fixed distances from room boundaries and rule based constraints.

RoomNest was built incrementally, starting with a minimal rule set for detecting space types and anchoring modules. Additional behaviors such as mirroring based on entry orientation, adapting to new room types, and maintaining offsets were layered in sprint-style iterations. Each cycle added functionality without breaking the core system, keeping the tool responsive to evolving requirements.

Design:

  • Make an adaptive family.
  • Furniture inside the adaptive family have a specific position and constraints.
  • The constraints are derived from IFG code guidelines for healthcare buildings and these are specific for a certain room typology.
  • Select all rooms in Active view
  • Target Filtering: Filter rooms per user input
  • Boundary detection: Get room finish boundaries
  • Get door and host wall information
  • Get room finish boundaries close to host wall location
  • Get parallel and closer room boundary to the door host wall.
  • Get start point and endpoint of the selected boundary
  • Import the adaptive family
  • Map the adaptive points start and endpoint.
  • Check placement orientation, if not connecting properly Sort and reverse list.

Flow Diagram

Grasshopper Script=

Solution

A self adjusting furnishing system that resizes, mirrors and gets assigned automatically as layout shifts, without manual labour. Auto-populates environments with the right module based on their semantic label. Aligns furniture consistently with entrances.

Impact

  1. Scalable: Works across different program types: classrooms, clinics, offices, or even virtual interiors.
  2. Iterative: Enables faster testing while maintaining alignment to placement rules.
  3. Cross domain: The framework could be extended to any object placement system (lighting arrays, sensors, AR/VR props).
  4. Built iteratively, the system adapts as easily to shifting requirements as it does to changing layouts, making it very scalable.

Key Tech Stack

How I use it: User manual