Get Elements of Type - Then Separate the Families


I am trying to get all elements of a type, and then separate them by their family name. I can’t quite figure out how to set up a proper bool mask. In grasshopper the “list.chop” would be treated as separate lists, and would repeat the test all the way down the line to test the “all elements of type” list for true or false. But it seems to only want to test the first item.

How would I structure this to get a list of each of the family types within this category?

And by a list, I don’t just mean one of each family type. I want a list of all instances of each family type. Basically I want that FamilyType.Name list to read as a transposed list with each type in a separate sub list.

Basically, how do I get a list that looks like this:

–0 List
----0 Generic 6"
----1 Generic 6"
----2 Generic 6"
–1 List
----0 xPlaster - PLY_SF_6" WD_GYP
----1 xPlaster - PLY_SF_6" WD_GYP
----2 xPlaster - PLY_SF_6" WD_GYP
----3 xPlaster - PLY_SF_6" WD_GYP

On the same thread I thought I could repeat each item in their own respective sub-list after I chopped it, then test each sub list against the entire list of element types, but it doesn’t work like grasshopper.

In Grasshopper this would have created a list of 100 6" generic and then 100 of the next item, but instead it made 100 lists of 9 sub lists… I am very lost. Any help achieving the goal here is super appreciated.

This is what I am trying to accomplish as a trial on ONE element type to search for. However, I cannot figure out how to take a list of element types, and get them to filter out into individual lists.

Any ideas from the community?

1st question:

  • You are trying to group the contents of the list by their parent family. Use a “List.GroupByKey” node with the “All Elements of Type” node as the list input and the “Element.Type” node as the key.

2nd question:

  • Set the lacing to longest on your List.Of RepeatedItem to “longest” instead of shortest. Note that you will be looking at a list of family types not a list of elements.

Thanks. I am going to try that now.

Also one more question to follow up all of that - how do I switch back from element type, to just element?

Search for all elements of type.

Thanks Jacob. The List.GroupByKey node was perfect.

And it also took care of the follow up question by sorting them as elements, not as element types. You rock man!