Get All Walls Matching 2 Parameters and Calculate Area

I am trying to grab all walls in my scene, and then filter all that match 2 parameters. So search if they have “CMU” and are 8". I am able to search for both parameters separately, but I can’t seem to filter which ones return true for both. How do I compare 2 lists and return true if both are true, and false if one are false?
I also am grabbing the areas of all walls and grouping them by type. Once I am able to figure out how to grab all walls with 8" CMU, I want to be able to multiply that to the area to calculate how much square footage of 8" CMU I have.

Use the && operator to check for both booleans == true.

Your other option is to use check your conditions in series. Use FilterByBoolMask to filter all walls that are CMU, then filter that list for walls that are 8". Either way, I recommend filtering before doing any grouping. It’ll be much easier that way.

Ok so filter first. I’ve filtered by CMU, then how do I make that into an element list that can be filtered again by width of CMU? And then get a list of those walls to get areas of?

First off, it looks like you’re checking all layers of the wall type so you’ll need to filter your sublists down to any element containing CMU first.

Then you can use List.FilterByBoolMask to mask your wall elements with the boolean for CMU and 8". This will return the elements that match both of these conditions.

Oh ok. But that appears to only be looking at single layer walls. I am trying to search through walls that also contain insulation, brick, or other materials as well as the 8" CMU. That is why I think I would have to use the CompoundStructureLayers node.

Yes, for your case you would. I’m just showing you a generic example.
You will need to use something like List.ContainsItem to see which sublists contain a true value (and therefore a CMU layer) before using && to compare CMU and 8".