Generic Model Adaptive (GMA) from Revit to Speckle to Revit

What do i want to do:
I have a couple of different Generic model adaptive (I will refer to them as GMA). I want to send these files toward Speckle and use them in another project.

Information about the GMA:
The GMA consist of 3 GMA’s inside it, these have shared checked on. This GMA is from a third party.
Picture2

Problem:
When I try to “reveive” them into my other project they fail to find the needed type and do not get loaded into the file. It looks like Speckle is replacing the wanted family type with antoher type that is unrelevant to the main family that was used originally.
Picture3
Picture4

What i have done so far:

It might have trouble gathering the information of the GMA Lets try and see what it does to another GMA(this one has 3 GMA in it as well).
Picture5!

Again Speckle could not load the wanted family type. It replace the type with a already loaded family type that was in the used template(left image). It appears that Speckle requires Revit to have the family and its types already loaded to be able to create them.

Lets see if it helps to pre load the family. When we preload a home made GMA it works(right image). Even if it has shared checked on.

Picture6

Seems like it does help.

Now we want to check if its possible to load the wanted elements in the original File that has the families and their types already loaded. If this is succesvol we can conclude that this is the problem. We delete the objects that have been send to Speckle.

Picture7
After trying to receive them again from Speckle we get the same issue. Speckle was unable to load the needed types and replaced them with a family type of another object.
The family type that is selected is one of the GMA inside the main GMA, which is odd.

Interestingly the type that replaced the family is also a Generic model adaptive (GMA). Now we take this Family and try to use Speckle on it an receive it in a clean template file.
Picture8

Picture9

It seems that there is a change in behavior. The element were again replaced with another type but speckle did place the elements in the model, which is an upgrade from our previous test.

Lets test it again but this time we pre load the main family of the wanted items, this is one of the GMA’s inside the main GMA family.
Picture11

Picture12

The family was not replaced and the element were placed by Speckle. But the preview and the created element don’t look similar at all. This can be explained. The family that was used is a Generic model adaptive (GMA). If its placed without the host family it will take its neutral dimensions. That is probably what happened here.

Now we need to find a way to send the main Generic model adaptive (GMA) and be able to receive them in another project. We select all the element of the same GMA type and send it to Speckle. Than we edit the family in the main model. We load it into the project but choose another empty project as place to load. This will be our new model. We place the element and it seems to be correct. Lets see if speckle is able to do the same as we did manually.
Picture13

Speckle again did not find the needed type of the family. Wich is strange because we have it loaded into the project. We have placed it in the project and still it was unable to find it.

Lets give it one last test. We take all the individual components from the main Generic model adaptive (GMA). This is a total of 3 elements and send them all individually to speckle. Then we try to receive it into the new project.

Picture15

The previous seems fine.

Picture16

Two of the elements are placed inside eachother and have changed in measurements(left side). Another component has also changed measurements but ended up seperated from the others(right side). It seems like we ran into the same issue as before. Because the host/main family is lost the GMA’s that were inside it take their neutral form/dimensions and don’t look similar to the wanted/previous elements. The change in location is odd and I can not explain it.

End questions and remarks

What is going wrong here?

Why does the main GMA not get received correctly in Revit from Speckle?

It does work when I use my own simply created GMA with 3 GMA’s inside it but when I used this GMA from a third party it does not work? What could cause such an error?

At first I thought the “shared” function was the trouble maker, but having made my own GMA with all components being shared I could still use Speckle just fine.

1 Like

Hi @Rowan,

Welcome to the forum! Feel free to introduce yourself!

Thank you for bringing this issue to our attention and thanks for all the work you’ve already done to try to figure out what is going on. You’re correct that a family must be existing in the Revit project, a speckle commit won’t create a new family for you (yet). It is hard to tell exactly what is going wrong here, but my first hunch is that the host / hosted relationship isn’t being set properly which is causing a failed conversion. I’m not sure why your homemade one is working while the other is failing, but it seems that even your homemade family is unable to locate some family types.

The simplest way for me to help is if you would be able to share with me a Revit file that has this family loaded so I can try to reproduce the bug.

1 Like

Hey Connor,

Thank you kindly for your quick responds. I have send you a direct message to continue our conversation.

With kind regards,

Rowan

Hi!
I have a similar problem when sending adaptive components, it looks like the data is not sent correctly, the type is null and the family is the name of the type??

1 Like

Thanks for the report! I’ve fixed this and we’ll include it in the upcoming 2.11 release:

2 Likes

it works great now in 2.11

Thanks!!

3 Likes