Skip to main content
In this workflow, we will demonstrate how to extract room data from Revit models using SpecklePy SDK to a Pandas DataFrame.

Prerequisites

Before you begin, ensure you have the following:
  • A Revit model with room data.
  • Send your model to Speckle using the Speckle Revit Connector. (Learn how here)
  • SpecklePy SDK installed in your Python environment.
  • Pandas library for data manipulation.

Step 1: Install SpecklePy SDK and Pandas

You can install the required libraries using pip:

Step 2: Connect to Speckle

First, import the required libraries and authenticate with Speckle.

Step 3: Retrieve the full object graph

Next, we will retrieve the full object graph of the Revit model that contains the room data. To do this, we need the project ID and version ID of the model we sent to Speckle. You can find these IDs in the URL of your project and version in the Speckle web interface. Learn more about the core concepts here.

Step 4: Flatten the object graph to a list of objects

Step 5: Create helper functions to filter objects by category and extract nested values

In this step, we will define helper functions to filter objects by category and to extract nested values from the properties of the objects. These functions will be used in the next step to extract the desired data from the room objects.

Step 6: Filter room objects and extract desired data into a DataFrame

In this step, we will define the field paths for the desired parameters and extract the data for the room objects into a Pandas DataFrame. You can use the Speckle 3D Viewer to inspect the structure of the properties and adjust the paths as needed.

Results should look like this

Last modified on July 18, 2026