Interesting Revit Family Issue

In a test of Speckle I decided to take the data from a Revit 2024 project and save it back to Revit 2022. I knew certain things would fail, but wasn’t sure what. But a piece of Mechanical Equipment became created in a way that I have never seen outside of a corruption. I am wondering if you you know what I’m looking at? This link will allow you to look at the 2022 Revit Project.

Revit File

In the file you will find two small Furnace families. The one that “works” I added for your convenience, but it’s identical to the one next to it that was Downgraded. Now here’s the thing, I understand why parameters were lost and connectors no longer exist. What I don’t understand is how two objects both listed as Mechanical Equipment and schedule on the same Mechanical Equipment schedule can not be swapped out for each other.

The family on the left won’t allow the activation of the type selector list. It does not appear to be an in-place family. It can not be edited by any way that I am familiar with. It does contain some data that I can change, but those were due to an error in the family conversion that made them into Text parameters.

If it’s not an in-place family, not a system family, schedules appropriately, and is categorized appropriately, yet can not be swapped out for another family of the exact same type… then what is it?

I’ll add that if you can’t answer “what is it” that’s just fine, a good old fashion I’ve seen it or a nope, that’s something different is good too. :slight_smile: Just trying to understand what it did or if it simply corrupted that family in the conversion.

Hi @BrianMyers ,

Welcome to our community, and thanks for the nice introduction!

While various people have demonstrated using Speckle to downgrade Revit models, it is not one of the core workflows we’re currently supporting, hence the issues you have encountered.
This is because when you publish a Revit model to Speckle, the actual Families are not transmitted, just their “Family Names”.

  • On receive, the connector tries to find matching Families by name in the document
  • If none are present, it should display a dialog asking to load missing ones or match with any other in the model.
  • If you proceed without loading or matching, then it defaults to the first family present in the same category.
  • If there is no family of such category in the model, instead it creates a Direct Shape (of the same category)

So, I believe that’s what you received, a Direct Shape, which cannot be swapped.

Let us know if you have more questions or if you have other workflows in mind where Speckle could help and we’d be happy to assist!

2 Likes