Revit connector: Levels and Spaces

Hey @Rob ,

Thanks for sharing these use cases and for the suggested features!

Spaces

  • matching: matching by name/number makes sense but it comes with its own issues, what if someone wanted to update a space name or number? This would get tricky. So, ideally the matching would happen before the data is received in Speckle. But let’s explore a few additional options: from where are you sending these spaces to Speckle? If it’s GH/python we could add a parameter that toggles how the matching is done (we have the same for Levels at the moment with the referenceOnly prop). Another option is to add an “Advanced Setting” in the Revit connector UI that lets you toggle the same on receive.

  • receive behavior: we have recently added support for a "receive mode" that could be extended to support your needs. For instance we could add an “update only” mode that only updates matching elements, without creating new ones. WDYT?

  • preview of changes: it sounds like something that would be addressed by this pending issue

Levels

The elevation property on levels is a double which by default is not nullable in C#. I don’t see good reasons to change it, unless people have a good use case for sending levels without elevation :wink:
So it’d be better to add a check/constraint on your end if possible?