Professional Project: Stantec
Role: Computational Designer
Team members: Esra Abumounshar, Tabeer Tariq
Parametric Classroom layouts with rule-based seating and safety gaps.
Challenge
Classrooms have various kinds of seating arrangement which help foster collaboration, interaction and a more involved education experience. Testing variety of options while keeping clearances, circulation and Net square footage in mind while maximizing number of desks can take a lot of time and become a complicated task. Thus the motivation: How can we test classroom layout options quickly and optimize based on NSF?

Typical computer classroom layout 1:

Typical computer classroom layout 2:

Typical computer classroom layout 3:

Matrix
- Room inputs: boundary curve/polyline, usable internal edges, wall index
- Clearances: front-of-class teaching zone, side aisles, rear aisle, row-to-row, egress width, social distancing.
- Teaching area
- Desk counts
- Net square footage
- Furniture: one or more Revit/Rhino desk families with width/depth/rotation anchor; optional teacher desk.
- Orientation: global desk angle (θ) or align to a guiding line; optional “face to teaching wall.”
- Rules to respect: distance rules i.e min seat spacing (social distance or code)
- Outputs must: fit in room, avoid overlaps
Features
- Smart packing: computes desk count per row and row spacing from clearances & desk depth.
- Centering & padding: auto-centers row spans so edge desks don’t hug walls.
- Row fields: supports multiple row “bands” (front, middle, back) with different rules if needed.
- Layout arrangement: computes different arrangements according to the wall user chooses as primary wall.
- Angle control: global rotation or align to reference; auto-rebuilds vectors when θ changes.
- Obstacle-aware: trims placement curves around columns/objects and door swing keepouts.
- Live toggles: switch desk family, change aisle width, flip orientation, adjust teacher zone layout updates.
- Validation layer: overlap checks, aisle graph connectivity, min-width tests, ADA reach probe.
- Reports: seat count, NSF.
Design
Design Rule For Users:
- Provide a clean room boundary and select teaching wall or a guiding axis.
- Set clearances first; desk angle second; furniture third.
- Keep θ consistent per room unless you intentionally segment bands.
- If validation flags fail (aisle width, overlap), adjust inputs not geometry by hand.
Design Rules For Creator:
- Keep packing, centering, and validation as separable modules.
- All distances in consistent units; expose them via one schema (dictionary/UI).
- Avoid geometry mutation in place output new curves/CS each stage.
- Make each test return booleans + messages to surface in the report UI.
Inputs:

- The user first has to setup the revit project.
- Family inputs need to be added into the model so they can be imported in.
- Choose layouts which you want to test out with
- 2 kinds of desks will be added: Teachers desk and students desk
- Assign clearances according to code, and regulation
- Design Criteria has to be defined which helps includes: room front back and side offsets
- Social distance requirements
- Minimum clearnace desk widths, desk depth
- White baord angle
- Rooms to assign to.
- Orientation based on wall choosing; wall index

ITERATIVE PROCESS
Built incrementally: v1 seat packing along a single back curve → v2 Transforming → v3 centering & aisles → v4 obstacle-aware trimming and so on. Short cycles, quick usability tests with real rooms, and a backlog for teacher-zone presets, mixed desk types, and L-shaped rooms.
Create students/teachers desk information and create polygons


- The first part of the script script shows taking student desk information and changing it into a ploygeometry
- The second part of the script shows taking teachers desk information and changing it into a polygeometry
- Points on Whiteboard viewport intersection
Room walls breakdown


Intersection point from white board angles:


Create polygon based on view angle


Create room offset curve and view angle


Create back offset for travel pathway and clearance


Minimum desk clearance + seat coordinates


Distance between rows


Assign polygons to coordinate system




Filter desks which satisfy clearance requirements


Place teachers desk and Visualize elements


Solution
The scripts creates a variety of desk layout options of any sized classrooms. The user just has to add information for inputs as per project requirement and choose style of table arrangement, and the scripts hands over best possible solution.
Impact
- Happens very frequently on education projects.
- Quickly populates desks per code requirements all wall orientations in rooms
- Speed: hours of arranging tables become minutes of setup.
- Fewer errors: Furniture aligns with clearances evenly
- Scale: works across large plans and multi‑level studies
- Keeps momentum: I can iterate on layout without paying a manual rework cost each round.