Rooms, Areas, and MEP Spaces in Revit: Getting the Spatial Data Right
Rooms, areas, and spaces are three different objects in Revit. A practical workflow for keeping area schedules, finishes data, and IFC handover honest.
Go deeper with Archgyan Academy
Structured BIM and Revit learning paths for architects and students.
The schedule that quietly stops adding up
Nobody notices spatial data until it is wrong in public. The area schedule on the planning sheet says 4,180 m2. The client’s own spreadsheet says 4,290 m2. The mechanical engineer’s load calculation covers 96 rooms and the architect’s room schedule has 103. A week before handover, the facilities team asks why eleven rooms in the IFC have no name.
Every one of those failures traces back to the same root. Rooms, areas, and spaces are three separate objects in Revit with three separate rule sets, and most teams treat them as one loosely defined idea called “the room data”. They are placed by whoever is nearest, named by nobody in particular, and never checked, because the model looks correct in plan.
This guide is about owning that data properly. It covers what each object actually is, what defines a boundary, how area schemes work, why the MEP engineer cannot simply use your rooms, how to build schedules that catch errors before the client does, and what happens to all of it on IFC export.
Three objects, three jobs
Start by separating them, because the differences are not cosmetic.
| Room | Area | Space | |
|---|---|---|---|
| Where it lives | Architecture tab | Area plan, per area scheme | Analyze tab (MEP) |
| Bounded by | Model elements (walls, floors, ceilings, columns) plus room separation lines | Area boundary lines only | Model elements, including elements in linked models |
| Typical use | Room names and numbers, finishes, occupancy, door and equipment location data | Gross, net, rentable and departmental area reporting | Heating and cooling loads, airflow, plenums, zones |
| Has volume | Optional, if volume computation is on | No | Yes, upper limit and offset |
| Exports as | IfcSpace | Not exported as spatial geometry | IfcSpace |
The practical consequence: a room is a modelled condition, an area is a measured region you draw deliberately, and a space is an analytical volume that belongs to the engineer. You will need all three on a real project, and they should never be forced to do each other’s work.
What actually defines a room boundary
A room fills the enclosed region formed by room bounding elements. Walls, floors, ceilings, roofs, columns, and curtain systems all carry a Room Bounding parameter, and it can be switched off per element. That switch is the single most common cause of a room bleeding into the corridor.
Three settings control the result, and they are easy to miss because none of them live in the room itself.
Area and Volume Computations. Architecture tab, Room and Area panel, the small dialog launcher. The Room Area Computation setting decides whether area is measured at wall finish, at wall centre, at the wall core layer, or at core centre. This one choice moves the whole schedule by a few percent, and it is the setting that has to match whatever measurement standard the project is contracted under. If you work to DIN 277, BOMA, or the RICS code of measuring practice, decide this before the first area review, not after.
Computation Height. A property of the level, not of the room. It sets the height above the level at which Revit computes boundaries. The default of 0 works until the plan has knee walls, sloped glazing, or walls that only start above the floor, at which point rooms merge in ways nobody can explain from the plan view.
Upper Limit and Limit Offset. Every room has them, and together with room bounding ceilings and floors they set the top of the room. A room with an upper limit set to the level above and no bounding ceiling will happily occupy the void above a suspended ceiling. That is fine for architecture and disastrous for anyone computing volume.
Placing rooms so the count stays honest
Revit gives you two warnings that matter here and one behaviour that catches everyone.
Not Enclosed. The room is in a region that leaks. Usually a wall join that never happened, a door swing gap at a threshold, or a wall whose Room Bounding is off. Fix it with geometry where you can, and with room separation lines where the boundary is notional rather than physical, for example between an open-plan work area and its circulation.
Redundant Rooms. Two rooms sitting in the same enclosed region. Common after copying a floor plate, and it silently doubles that area in every schedule.
The deletion trap. Deleting a room in a plan view removes it from the model but leaves it in the project as an unplaced room. It still appears in schedules, still occupies its number, and reports “Not Placed” in the area column. To remove a room from the project you delete its row from a schedule. Teams that only ever delete in plan accumulate a shadow population of unplaced rooms, and the room count in the schedule stops matching the drawing.
Rooms also belong to a phase. A room placed in the wrong phase reads as unenclosed because the walls that bound it do not exist in that phase. On any renovation job this is worth checking first, before you go hunting for a gap in the geometry. Our guide to phasing and demolition in Revit covers the wider mechanics.
Areas and area schemes: the reporting layer
Areas exist because rooms cannot answer the questions a developer asks. A room is bounded by the building. An area is bounded by whatever line the measurement standard tells you to draw, which is frequently not a wall at all.
Revit ships with two predefined schemes and lets you add your own.
Gross Building. Measured to the outer face of the exterior enclosure. Used for planning submissions, cost per square metre, and most statutory calculations.
Rentable. Built on BOMA logic, separating office area, store area, building common area, and major vertical penetrations. If you work on commercial fit-out, this is where the rent-bearing figure comes from.
Custom schemes. Add one per reporting question you actually have. Departmental area for a hospital brief. Net internal area for a lease. Construction area for a contractor’s takeoff. Each scheme gets its own area plans, its own boundary lines, and its own schedule, and they do not interfere with each other.
Two habits keep areas trustworthy. First, when you draw area boundary lines, decide consciously between picking a wall with Apply Area Rules on (the line follows the wall and updates when the wall moves) and sketching a line manually (the line stays put, which is what you want for a notional lease boundary). Second, never let the area plan drift from the room plan without a reason you can state out loud. If gross area minus circulation does not roughly reconcile with the sum of room areas, something is wrong in one of the two and you want to know which.
Rooms across linked models
On a federated job the walls that bound your rooms are frequently not in your file. Room bounding has to be enabled on the link itself, in the link’s type or instance properties, before Revit will use linked geometry to close a region. Our post on working with linked Revit models covers that setup and the related visibility settings in detail, so it is not repeated here.
The governance question matters more than the checkbox: exactly one model in the federated set owns rooms. Usually architecture. Everyone else reads them. When two disciplines both place rooms, you get two numbering systems, and the moment they disagree, nobody downstream can tell which is authoritative.
MEP spaces: why the engineer cannot use your rooms
Mechanical engineers need volume, not floor plate. They need the plenum above the ceiling as a separate analytical object. They need a Space Type for load calculation, an occupancy figure, and a zone grouping. Rooms carry none of that.
So the MEP model links the architectural model and places spaces into it. The workflow is specific:
- In the architectural model, make sure Areas and Volumes computation is enabled. Without it, spaces placed against the link have no usable volume.
- In the MEP model, enable Room Bounding on the architectural link so its walls close the spaces.
- Place spaces, then use Space Naming on the Analyze tab to copy names and numbers from the linked rooms rather than retyping them. This is the step teams skip, and it is why the mechanical schedule and the architectural schedule stop agreeing three revisions in.
- Set Upper Limit and Limit Offset per space. Occupied spaces stop at the ceiling. Add separate plenum spaces above the ceiling where the design uses return air plenums.
- Group spaces into HVAC zones for load analysis, and mark non-occupiable spaces so they are not counted for ventilation.
When the architect renames a room, Space Naming has to be re-run. Put that on the coordination checklist rather than trusting anyone to remember. For the wider modelling context, see our guide to Revit MEP modelling fundamentals.
The room calculation point, and why door schedules lie
Family instances report which room they sit in through the Room parameter, and Revit resolves that using the family’s origin unless a room calculation point is enabled. For anything sitting inside a wall, on the boundary between two rooms, the origin is ambiguous, and Revit picks one.
Turn on Room Calculation Point in the family editor and you can drag the point into the room the element genuinely serves. A door reports the room it opens into. A wall-mounted radiator reports the heated room, not the corridor behind it. An access panel reports the room it is accessed from.
This is not a cosmetic fix. Door schedules that list “to room” and “from room”, equipment schedules used for commissioning, and any asset register built from family data all depend on it. Get it wrong and the error propagates silently into handover.
Naming and numbering that survives the project
Room numbers get referenced in specifications, door schedules, finishes schedules, fire strategies, and the client’s own systems. Once issued, they should not move.
A workable convention: level prefix, then a sequential number within the level, with a suffix for subdivision. Level 2, room 14 becomes 2.14, and if it later splits, 2.14a and 2.14b. Renumbering a whole floor because a corridor moved is what you are avoiding.
Beyond name and number, decide early which parameters carry meaning: Department, Occupancy, Occupant, finish fields, and any project-specific data the client asked for. Anything the client will consume should be a shared parameter, so it survives export and can be scheduled and tagged consistently. Our guide to shared parameters and schedules covers how to set that up without polluting the template.
A room style key schedule is worth the ten minutes. Define a key called Office, set its floor, wall, and ceiling finishes once, and every room assigned that key inherits them. Finishes stop being typed 400 times, which is where typing errors come from.
Schedules that check the model for you
The best QA tool for spatial data is a schedule you never put on a sheet. Build these once, keep them in a QA folder in the browser, and open them before every issue.
- Unplaced and unenclosed rooms. A room schedule with Number, Name, Level, and Area. Sort by area. Anything reading “Not Placed” or “Not Enclosed” is an error, and both appear as text in the area column, so they are trivial to spot.
- Unnamed rooms. Filter Name equals “Room”. Every default name left in the model is a room nobody has thought about.
- Duplicate numbers. Sort by Number and scan. Revit warns on duplicates, but warnings get dismissed.
- Area reconciliation. A gross area schedule beside a totalled room schedule. Track the delta over time. A sudden jump means someone changed a boundary, not that the building grew.
- Programme compliance. Where the brief gives target areas, a calculated value comparing actual to target turns the schedule into a design tool rather than a report.
- Space to room parity. On the MEP side, a space schedule and a room schedule with the same field set. Different counts mean the models have drifted.
Colour fill legends do the same job visually. A plan coloured by department finds a mislabelled room faster than any schedule, and it takes a minute to set up. This QA layer belongs inside your wider model quality assurance workflow rather than being a one-off before issue.
What happens on IFC export and handover
Both rooms and spaces export to IfcSpace, which is the entity the entire downstream chain reads. Get this part wrong and everything you did upstream is invisible to the client.
Check three things before you export. First, the IFC setup has room and space export enabled, including the option to export rooms in 3D views if you need the space volumes to come through. Second, the parameters the client asked for are mapped to properties that actually appear in the exported file, not left as Revit-only fields. Third, your spatial hierarchy is sane: site, building, storey, space. A space parented to the wrong storey is a space the facilities system will file in the wrong place.
Where the client has issued an Information Delivery Specification, run it against the export and fix the failures rather than arguing about them at handover. And if the project ends in an asset model or a COBie deliverable, the space table is built directly from this data, which is covered in our guide to 6D BIM and asset management. Space names and numbers become the addresses every maintenance ticket for the next forty years is filed against. They are worth an hour of care.
Common mistakes
- Treating rooms and spaces as duplicates. They are not, and deleting one to “clean up” breaks somebody’s analysis.
- Leaving the area computation setting on the default. It is a contractual number. Set it deliberately.
- Deleting rooms in plan. They stay in the project unplaced and quietly inflate the schedule.
- Unbounded upper limits. Rooms leak into the ceiling void, volumes go wrong, and energy analysis follows.
- Retyping space names instead of running Space Naming. Guarantees divergence between disciplines.
- Ignoring the room calculation point. Door and equipment schedules report the wrong room and nobody checks.
- Renumbering late. Every reference in the specification, the fire strategy, and the client’s system now points somewhere else.
- Project parameters where shared parameters were needed. The data looks fine in Revit and vanishes on export.
- No named owner. Rooms are everyone’s job, so they are nobody’s job, and the model drifts.
How to start
If your current project has none of this in place, a single focused session gets you most of the way.
- Open the area and volume computation dialog and record the current setting. Confirm it against the measurement standard in the contract.
- Build the four QA schedules above. Fix everything that reads “Not Placed” or “Not Enclosed” today.
- Filter for rooms still named “Room” and resolve them.
- Agree in writing which model owns rooms and which owns spaces, and put it in the BIM execution plan.
- Check that the MEP link has room bounding on and that Space Naming has been run against the current architectural issue.
- Turn on room calculation points in the door family and any wall-hosted equipment family in your library.
- Export a test IFC and open it in a free viewer. Look for the spaces. If they are not there, or the names are missing, fix it now rather than at handover.
Spatial data is the least glamorous part of a BIM model and one of the few parts the client reads directly. The room schedule ends up in the planning submission, the space list ends up in the facilities system, and the area figure ends up in the fee calculation. Modelling it deliberately takes an afternoon. Repairing it under handover pressure takes a fortnight.
If you want to work through these workflows properly, from room bounding and area schemes through to schedules and IFC handover, our Revit and BIM courses teach them the way real project teams run them.
Level up your skills
Ready to learn hands-on?
- Project-based Revit & BIM courses for architects
- Go from beginner to confident professional
- Video lessons you can follow at your own pace