Changing family type to loses parameter values and wont reload

Hello, I copied a current family that I had and saved it as a different name and then loaded it back into revit. because I wanted different names for the same generic family. Since it had the same parameters I expected it to just inherent the instance paramter values from the family that I was changing it from. However, this is not the case. This method used to work in Revit 2015, but now they disabled this workflow? Anyways, I am trying to use dynamo to copy the nesseary parameter values from the previous type to the new type instance, but its not working. It is not giving me any error messages. its just not working. Can anyone tell me what im doing wrong? Thanks!

You’re saying you have multiple copies of the same family loaded into your project but with different names?

Parameters can have the same name, but since they’re from different families they’re not the same parameter (different IDs). Changing types has no affect on instance parameters because they’re the same parameter.

Your graph looks like its taking an element of family Lighting Backbone hanger and changing it to a different type(?) of the same family. Is that what you’re trying to do?

I’m a little confused on what you’re trying to accomplish.

The other issue you’re probably running into is that you’re pulling parameter information from the element as Type1, changing it to Type2, then trying to assign those values to the same element as Type2 - but Dynamo essentially runs all at once. You’ll most likely need to split your graph up into multiple transactions.

Well you helped me figure out the parameter issue anyways. These families were created with all family parameters, hence the issue. Not shared parameters like I am used to, so…mystery solved. They are separate families. I am essentially selecting one family and then changing it to another, but sense they were both created from the same family the coordinates and everything are exactly the same. so it comes in oriented properly. They are not individual types within the same family. I dont see how I can inherent the data into one dynamo graph and then paste it into another, so Im not sure what you mean by

Please advise.

You may have noticed that when you run Dynamo in Revit it runs as a single command - only one Undo required. You can use Transaction nodes to break Dynamo into two (or more) transactions - essentially two commands in Revit.

The problem I think you’re having is that once the element is changed to a different type the GetParameter nodes think they need to update and may be trying to pull the parameter values of the new type.

As a way to make things easier (and clean up your graph a little bit), try combining your parameters into a list and only using one GetParameter node. You’ll also want to use a Wait node to wait to change the type until after you have the parameter values. Then you can start a new transaction with the transaction nodes to set the parameters of your new type.

Something like this:

Well that’s great but I dont seem to have that Springs.input.wait node. I have Springs installed but I cant find it in a search or manually, what category is it under?

It’s under Core > Input, but it might be old and deprecated at this point.
There are a few packages that have similar nodes, or you can create your own:
You basically just need two inputs so that the node won’t return anything until both items are ready.

1 Like