Importing Revit Spaces with parameters

Hi Speckle,

I’m testing a simple workflow on Revit connector v3, namely, to reload existing spaces with new / updated parameters. For us this is a vital workflow, which worked properly on Speckle v2. It enables us to:

  • Retrieve spaces from a Revit model
  • Run calculations on space data in another application
  • Store results as parameters within the space objects
  • Reload the spaces back into Revit, with calculation results

I tested this workflow through following steps:

  • Published a model with some spaces
  • Changed some parameters of the Revit spaces within Revit
  • Reloaded the model from Speckle, expecting parameters to be changed back to their original

Unfortunately, this test wasn’t successful, breaking a major use case for us. Of course I would like to know why this isn’t working as before:

  • Do I have wrong assumptions on how Speckle v3 should be working?
  • Is some bug preventing parameters to be imported?
  • Is it simply not implemented yet?
  • Or is this change in behavior by design, and is it not planned to support this workflow anymore?

Thanks in advance!

3 Likes

Hi @Rob,

A lot of parameter-writeback workflows sit in the collective folk memory from v2, but many of them were never formally supported. In v3, the Revit connector doesn’t yet provide a reliable way to push updated parameters back into existing Spaces, which is why your round-trip test fails. This isn’t a deliberate change; it hasn’t been implemented yet.

We’re now scoping a dedicated Parameter Updater that would cover the workflow you’re describing. The intent is to let you update parameters on existing elements, no matter where the new values come from; but where do you anticipate making the changes, for example?:

  • Speckle Intelligence
  • The main web application
  • Your own custom app
  • Jupyter or programmatic pipelines
  • Any other API-driven process

We don’t expect rapid turnaround on this, but we will have a POC sooner rather than later, and your scenario is precisely the kind of workflow we want to capture.

If you can share a minimal example or the specific Space parameters you rely on, that will help us fold it into the spec cleanly.

2 Likes

Thanks @jonathon, happy to hear it’s still to be implemented.

We will be making parameter changes in various ways, like in our own web apps, but could also be via Grasshopper, using your connector or programmatically via specklepy. Speckle of course supports to make these changes ‘anywhere’ and that’s also how we use it.

As for the Space parameters we use, the generically available Space properties are a good start, see here: Help | About Space Properties | Autodesk
We’re using these mostly for MEP, so parameters like Specified Supply Airflow, Design Heating / Cooling Load are useful, together with more generic parameters such as Level, Area, Base Offset, etc.
However, we also add lots of additional shared parameters that are part of our Revit templates that also get added during calculations. Also these should be able to be passed back into Revit. This worked properly for V2, as long as the custom parameters were already defined within the Revit model.

Does that provide enough context? And is it helpful if I just share a very basic Revit model with some generic and some custom shared parameters?