Create multi-category schedules

Create multi-category schedules

4 min read

When creating a room data sheet, say for a healthcare project, it is often necessary to create a multi-category schedule that reports only the elements in the room. Within Revit, there are two ways to achieve this. Both, however, are either problematic or time-consuming. This tutorial explores an alternative approach that automates the process using Dynamo.

The problem

Pre-Revit 2023

Until Revit 2022, the only way to have a schedule return only the elements in the room was to assign a filter. However, this method has two significant drawbacks. The first issue is that multiple schedules are required, one for each room, each with a unique filter. For example, one schedule must filter elements where the Room Number equals “101”, while another must filter elements where the Room Number equals “102”. The second issue is that, like any other view in Revit, schedules must have a unique View Name, meaning each schedule must be renamed manually.

Schedule Properties
Schedule Properties

Post-Revit 2023 

Recognising this was time-consuming, Autodesk introduced a new function in Revit 2023, allowing you to filter by sheet. When enabled, filter by sheet allows you to have a single overall schedule that automatically filters once placed on a sheet. Only elements visible in viewports on the sheet are included in the schedule. The rest are filtered out. Note that, unlike other views, the same schedule can reside on multiple sheets, making this workflow possible. The benefit of this approach is obvious – A single schedule without the need for filters. So why wouldn’t you use this approach?

Filtered by sheet
Filtered by sheet schedule showing elements outside of room

Filter by sheet limitations

Quite simply, filter by sheet applies only to elements visible in viewports on the sheet, which may not be desirable. For example, elements will not be included in the schedule if:

  • Elements are concealed behind other geometry; 
  • Elements are located above the plan view cut plane, and no reflected ceiling plan is included; and
  • Elements are hidden using visibility and graphic overrides.

Additionally, suppose a view extends beyond the limits of the room, as is frequently the case with a callout. In that case, elements outside the room will be visible and included in the schedule. While the intentions of the filter by sheet setting are admirable, in practice, it has significant limitations, making it problematic. So what is the solution?

Creating multi-category schedules with Dynamo

To address this problem, Parametric Monkey has developed a Dynamo graph, which is available as part of our Dynamo Package Development service. The graph generates a multi-category schedule for each room selected, renames the view, assigns a view template, and applies a unique By Room Number filter. The result is a series of schedules reporting all elements in the room, regardless of whether the element is visible.

Multi-category schedule
Creating multi-category schedules with Dynamo Player

To run the graph:

  • Select the rooms to schedule (#1). 
  • Define the view name prefix (#2). This value can be left blank if desired.
  • Define the room parameter to reference in the view naming convention (#3). By default, this is “Number”.
  • Define the view name suffix (#4). This value can be left blank if desired.
  • Define the view template to be applied (#5).  
  • Press Run.
Schedule with Filter
Schedule with Filter showing only elements in room

Computational logic

The view naming convention is generated based on Prefix – Parameter Value – Suffix (inputs #2 – #4) of the selected rooms (input #1). If a proposed view name already exists, the room is excluded and returned separately. Next, a multi-category schedule is created, renamed, and a view template assigned. For best results, the view template should include all parameters except Filter, as these must vary from view to view. Finally, a filter is assigned by “Room: Number”. Note that although a schedule is created for all rooms, non-enclosed rooms are returned separately, as these schedules will be incomplete since Revit cannot assign elements to that particular room.

Conclusion 

Generating room data sheets is often an incredibly time-consuming task. However, with automated routines such as the one shown above, it is possible to drastically save time whilst maintaining accuracy. To learn more about our Dynamo Package Development service, drop us a line and discover how we can automate your Revit workflows.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Renumber Viewports
Premium

Renumber viewports

Use Dynamo to automatically renumber the detail number parameter of viewports placed on sheets, streamlining documentation.

Axonometric Crop Region
Premium

Axonometric crop region

Learn how to use Dynamo to batch update the crop region of axonometric views with a consistent buffer offset.

Place Views On Sheet
Premium

Place views on sheets

Use Dynamo to automatically place a single or multiple views onto a new sheet, such as for room data sheets.

Copyright​

© 2025 Parametric Monkey
Parametric Monkey and the Parametric Monkey logo are trademarks of Parametric Monkey Pty Ltd.

Discover more from Parametric Monkey

Subscribe now to keep reading and get access to the full archive.

Continue reading

Subscribe

Gain full access to tutorials and newsletter updates.

CONTACT US

Drop us a message and someone from our team will be in touch with you shortly.

BOOM!

Thank you for your interest. Someone from our team will be in touch soon.

WORKSHOP APPLICATION

To find out about upcoming public workshops or to organise a private workshop, please submit the following contact form and we’ll be in touch soon.