See attached image. I’m trying to get the family name of each element in a list. Not the Type Name, nor the Family Name: Type Name. Just the Family Name.
If I use Element.Parameters node, I can see that there is a Parameter called “Family” that contains exactly the info I need, which is “(Concrete)-Rectangular-Framing”. When I use Element.GetParameterValueByName, I get a number 87683. What??? And to Further confuse things, if I use Family.Name or FamilySymbol.Name, I get the Type Name “12 x 24” rather than the Family Name.
Any ideas? What is the intended use of Family.Name if it does not give the Family Name?
1 Like
Hi Ben,
The Dynamo team has tried to keep the structure of the nodes as similar as possible to their equivalents in the Revit API. That has a lot of benefits but it may be a hindrance at times too because the API has been revised and re-revised constantly for the last 10+ years and the naming scheme in the API is frankly said is a bit of a mess. However if you think logically about it, you can still find your way through it:
-When you run a collector of all elements of a category, you get family instances.
-
You have to then extract the family symbol object of those instances ( that’s the family type)
-
Once you have the symbol, you can cross-reference it to the families and see the family it belongs to
-
finally you can use the Name node to extract the name from the family objects as a string.
1 Like
Thanks Dimitar.
That solves my problem I’m dealing with, but it does not explain the inconsistency between the Element.Parameters node finding a parameter called “Family”, but the Element.GetParameterByName node returning a 6 digit number for “Family” instead of the value that was found by Element.Parameters. Is that just some weird bug or is that 6 digit number actually the ID of the Family Type?