Hi Speckle team,
Within our company, we’re applying Speckle to share Revit space data. We then add requirements and run calculations with this data, and send the outcome back to Revit, mostly stored in (Revit) parameters. We noticed some issues or possible improvements for our workflow, regarding Space and Level objects.
Spaces
Generally we get a model from the architect, in which we have to add the spaces, which are then used to go through the above-mentioned workflow. Currently, when we get a new, updated model from the architect, we are required to do a full new iteration of the described workflow (which can be time-consuming). Namely, the space data is being matched based on applicationId. So with a new model and new spaces, the previously calculated spaces do not match anymore. Because the updated model generally has a lot of similarity, it would be nice if we could match most of the ‘old’ data with the new spaces in Revit. This could maybe be based on matching name and/or number for spaces. In the ideal situation, we would be able to indicate how we would like to match the spaces in Revit with the spaces from the stream, e.g. based on applicationID, name and/or number.
An additional problem resulting from the above, is that ‘unmatching’ spaces are by default added to the Revit model. So if we essentially have equal spaces (same place, name, number, etc.) on Speckle and in Revit, but with a different applicationId due to renewal of the spaces, the space from Speckle will be added in Revit on top of the existing Revit space, resulting in two basically equal spaces in one place. Also here, we would ideally have more control, being able to indicate if we want new spaces to be placed, if an existing matching space could not be found.
Lastly, having a simple overview in a pop-up window of the matched spaces that were received from Speckle would be nice, which could also include any new spaces that were possibly placed. I do realize that we have quite a specific workflow that we would like to support here, and can imagine that this is maybe not fully aligning with your current development goals and vision. But also that would be good for us to know. What is your opinion on this?
Levels
We also noticed an issue with the levels. During conversion from our own format, we added some Levels without an elevation. These ended up overwriting our base level (z=0) within Revit. It seems that this is due to this line below, where the speckleLevelElevation
is converted to a double, which will convert Null to 0.0.
First of all we should take care that these Levels are properly defined of course. However, it seems undesired that a Level without elevation is by default added at z=0, probably overwriting an existing level in a lot of cases. I think without an elevation, the Level should not be placed at all.
Would be nice to hear what you think, Speckle developers as well as the community, thanks!