All Elements of Category node Returns Non-Editable Elements in Workshared Doc


#1

Using the All Elements of Category node in a Workshared project returns elements that are non-editable.

In the attached RVT file there are only 4 Walls in the Model. Using the All Elements of Category node, however, returns 6 objects. Examining the ElementID’s of the last two objects in the RVT file indicates that they are on the Wall Types Workset. This is further clarified in the Watch node of Get Phases. The final two entries are “Empty List”.

That’s just an FYI.

Challenge now is how to exclude the Empty List items. Ultimately I want to be able to select all Walls, actually all Families, in the model and write the Phase Created parameter to another Parameter (Comments, etc.). I can use Get from List and Is Empty List? to return a boolean but I don’t know how, yet, to create a lists of booleans using this method. Some sort of recursive node I imagine but I haven’t quite gotten there. If I had a list of booleans I should be able to use Filter by Boolean Mask to parse out the non-editable elements in the list.

So, two questions;

  1. How do I select all Families (System, etc.) in the model without a bunch of Category/All Elements from Category/Join Lists nodes?
  2. In a Workshared file (which every file I touch is/will be) how do I exclude the built-in, and non-editable, Worksets?
Thanks!

Project1All_Elements_of_Category_Node_Problem


#2

You’re right. Unfortunately, the All Elements Of Category node always returns instances and types. You can install the Select By Category package and use the nodes Get Family Instances By Category or Get Family Symbols By Category to retrieve instances or types. That would be the easy way - no filtering involved. There is currently no node - built-in or on the package manager - that will get you all model elements. You would have to use multiple Category nodes with a List node and pass that list into, for instance, Get Family Instances By Category.

 

 

 


#3

Thanks. Yes, that would be easier and, I imagine , faster. I’ll try making a node to do what I want. If it works I’ll up load it to the Package Manager.