FamilyType based parameters not reacting when changed through Dynamo

Hello everyone,

I’m currently working on a Dynamo script that fills parameters for multiple instances of families en masse. Generally, I’m handling parameters such as text and numerical values without any issues. However, I’m encountering a problem with parameters of the FamilyType.

These FamilyType parameters influence the geometry, such as determining whether a cantilever is on the left, right, or centered. Although the script correctly fills these parameters, the family in Revit does not update automatically. When I manually click on the family and reselect the same option from the dropdown list of the parameter, the family updates as expected.

I need assistance to ensure that I don’t have to manually “re-click” the correct values each time. Maybe some sneaky Python could re-enter those values again, so this would force the family geometry to change?

I’ve attached an RVT file (2022) where this issue can be replicated.

Thanks in advance for your help!

ExcelToRevit.dyn (48.7 KB)
Parameters.xlsx (19.3 KB)
RevitTest.rvt (7.5 MB)
Test_Family.rfa (1.8 MB)

Can you share a screenshot of your script in action, with all the node preview bubbles pinned?

Sure thing:

Here’s how the script goes - as you can see, nothing out of the ordinary:

What’s interesting, the parameters are filled out correctly, as in Left, Right, Left Right, etc.
The value is correct, but the model is “frozen”, as if - the geometry didn’t get the memo, and stayed as the default “center” position.

Once promted, as in - re-enter the values manually (thing, that I’d rather avoid), it wakes up and moves accordingly.

So - the values are the same as before, but I had to “re-enter” them.

I suspect this is a document regeneration issue. Try running this from a schedule view with all other views closed, and then open this 3D view.

2 Likes

Could also try the Elements.SetParameterByNameTypeOrInstance node from the Rhythm package.
I’ve had issues in the past setting instance parameters with the OOTB node so I just stick with that one now.
image

Regenerate Method (revitapidocs.com)

1 Like

Unfortunately - none of the solutions worked. I’m attaching the finished RVT file, the parameter we’re talking about is “Side”.
RevitTest_2.rvt (7.5 MB)

Can you show us what you tried and any errors you may have gotten? It would be helpful to see the full graph as well. My view updates when I change a FamilyType parameter through Dynamo. My guess is that the element you’re providing is somehow invalid.

You can also take a look at this thread to see how to get the nested reference types for that parameter specifically.
How to set an instance “Family Type” parameter of a Family in a Project - Revit - Dynamo (dynamobim.com)

Thanks for the advice! It turns out that the issue was because I wasn’t referencing the NestedFamilyTypeReference, but instead was directly referencing the families in the file, which caused the model not to respond. The link you provided helped me fix it. I ended up writing the appropriate code in Python, though I find it a bit surprising that such a useful feature has such a high “entry barrier” – requiring Python to implement it.

Thanks again for your help!