Problem Getting Elements by Type

Am I doing something wrong? This looks pretty straight forward to me and still not working.

Check the warning message carefully - the solution is in that text. :slight_smile:

My apologies, should have shown it from the first place.

image

I may have the wrong idea here, but aren’t Element types and Element Wall Types the same?
As in, aren’t both types? Does it mean there isn’t a node to get all elements of any type (including wall)?

I tried this technique which I thought it worked with anything, but also got an error, I assume I have wrong understanding of types in Revit.

They aren’t the same, but similar.

Element.Types expects an element type, such as FamilyInstance, Wall, WallType, etc… The options which that node can take are found in the Element Types node.

Typically I find the easiest way to gather a selection of walls is to use a ‘bulk select and filter down’ method. I prefer this way as while it may not be as direct as some nodes avilable in custom packages (I think Beaker has one), it allows you to simplify the collection by introducing other tests concurrently.
Walls > All Elements Of Category > Element.ElementType > == to test for your target type > List.FilterByBoolMask.

1 Like

So in other words, there isn’t a universal way to get any element type from a selection (to avoid scrolling through all elements), correct?

You can call for an element type by name but the spelling is specific and case sensitive, so you’d likely have to spend some time looking it up anyway.

1 Like

I followed your suggestion which seemed the most logical and reliable and yet I got another error. I honestly can’t tell if the there is a problem with the model / revit or its just me.

You want to filter the elements (from the All Elements of Category node) by if the Element.ElementType is == to the desired wall Type.

Remove the list.Flatten and replace it with an == node. This will give you some true/false values which become the Mask for your List.FilterByBoolMaks node.

You may find that you have to ask for the id (Element.Id) in order to get something which is comparable in the == node, sadly I’m not at my PC so I cannot check…

1 Like

Hi,

If you want to shorten and save the part « filter items ». You can use the SelectByCateOrType custom node of the Genius Loci package which works with category, element types, wall types and family types inputs.

Anyway it is essential to know how to use ListFilterByBoolMask to progress in Dynamo.

1 Like