Change nested family type


#1

Hey,

How to change they type of a nested family? When I list it out it looks like this:

In the dropdown on our titleblock it looks like this:

kp1

The change parameter by name node really does nothing in this case.
Any suggestion is appreciated :slight_smile:


#2

Additional info:
The change parameter by name node requires ElementID parameter as an input.
What is not clear in this case how we can input ID. By string or number it is not working.
Also how we can make sure the the proper ID is selected as (if I’m not wrong) ID may change with every start of revit. Also I want to use this script across multiple files.


#3

#4

Is this how you mean it? It didn’t really brought me any forward :frowning:


#5

Try to use the elements from the GetParameterValue node as a direct input to set your type


#6

Yes, it is working.

How I can get the same element without using set up control sheets?


#7

Beaker, for instance, has nodes to filter elements by their name, if I understood your question


#8

So the question is:
When I list all the titleblock, taking that parameter I’m able to get let’s say the first item and use it as a parameter (as shown above)

Now I have options from A-Z for this parameter. These are not necessarily existing in the plans, it is a type inside a nested family. How can I get a list like the one with the IDs but all the options one after each other?


#9

Do you mean as a drop down list?


#10

It is hard sometimes to tell people what you want :slight_smile:

So. The goal of this thing is: Sheet name is A1000.X and I want the sector X to be selected. This to be done on 5000 sheets based on sheet number.
I can create list from sheet number, isolate all the sheets with lets say X. Now I have to set X as a type for that nested family.

In order to do it is need that ElementID as an ID (like with the green numbers) not a string. I can get the sting but I cannot to anything with it.
So to be able to isolate X for the setting I want to:

  1. Get a list with all ElementIDs of all possible solution
  2. Create a boolean mask to select the one I need
  3. Use it as a parameter to set X for all sheets number ending with X

Hope it is clear. So I want to get those ElementIDs without having a sheet that already has X set up. Coz in the upper example I have selected a sheet already placed.


#11

additional explanation:


#12

Sorry I don’t have time to replicate this situation but I am sure someone else will…


#13

Appreciate your efforts so far. Thank you. :slight_smile:


#14

Can you upload a sample .rvt and current .dyn? I think parent family and then family types might do the trick, but need to test it to even be able to vocalize more than that.


#15

I will share you the titleblock. It is company titleblock so I have deleted everything but that sector selector. Place it in a new project and you can try it out with a few sheets. In dynamo I really just took the parameters from titleblock nothing else.

Thanks

TESTBLOCK.rfa (344 KB)


#16

Your Keyplan Sectors Arch family is nested into your titleblock family, go there and share it in the Family Categories and Parameters dialog, it should then appear in the family browser and be selectable.
See here if needed:


#17

Thank you very much.
Now it is working like charm :beer:


#18

@daninet
Great, will you please mark this topic as solved so that it can be closed?
Thanks :slight_smile:


#19

There is one more option. In my case I don’t want to check “Shared” inside the nested family because my project will be flooded with a lot of families and family types. That is why it was tricky to get the nested family types. It is possible to get them as NestedFamilyTypeReference using GetFamilyTypeParameterValues Method http://www.revitapidocs.com/2018.1/a9c8ff23-17ec-1b87-e58a-4be589217766.htm