A tough one here, and I am finding it equally hard to describe what is going on. But lets see if I can sufficiently explain.
This involves two Dynamo Graphs dealing with Pipe Accessories (Valves specifically) as shown below:
The First filters to get Pipe Accessories writes the string "Valve" to a Type Parameter (for Families having "Valve" in their parent Family Name)
The Second filters to get Pipe Accessories and assigns a Valve ID Number to an Instance Parameter intended to be used with a our Valve Tag Annotation Standards.
In one model I am testing with the Second graph… for some unknown reason, the Element IDs at one point actually turn up Revit Assemblies if I use Revit Select by ID tool. However, when I check the Revit Assemblies via Categories and All Elements of Category nodes in the model, the same Element ID’s do not match at all. Now, it might shed some light that there does happen to be actual Valves nested within the Assemblies - and it is these Valves that wish to work with - of interest to note though, the user named his Assemblies with the word Valve in their name. So, in this case BOTH the name of the Assembly as well as the name of the Family nested within has “Valve” in their name.
Perhaps I’ve turned up a Revit/Dynamo bug?
What I think I need is some way to steer clear of these Assemblies in both graphs.
I did test the first graph with Assemblies that had Valves as part of the Assembly - and it successfully wrote to their Type Parameter (noting that the first graph actually goes through the Family Types even when there are no actual instantiated valves in the model.) I only stumbled on this when the both the Family and the Assembly included the word "Valve" in its name.
Thanks in advance for your thoughts!