FilterByBoolMask only listing first result


I’m trying to coordinate zone airflows with unit airflow assumptions, and I’ve managed to organize the two sets of information. Now, I’m trying to use a boolean expression to find the right unit sizes based on the airflow criteria. I’m running into the issue between the “==” node and the “List.FilterByBoolMask” node where the “==” node shows all of my true/false results (8 airflow zones = 8 L2 lists), but the List.FilterByBoolMask only shows the first result. Forgive me if this is already covered, but the best I’ve managed to find is that it may pertain to the levels used in my List.FilterByBoolMask inputs, and I’m not having any luck here. I’ve included a snip of what I’ve put together; any guidance would be appreciated. Thanks

First of, your number of items in the mask node (80) (<= and >=) is already more than your number items (10), which is definitely wrong approach into filtering airflow in between those two values. Secondly, there isnt a need to put string from object, you can just apply the == nodes directly. Thirdly, is there really a need to use so much “levels” and lacing on your nodes?

To your question, can i see the X input from above? without that part i doubt anyone could give you any concrete solutions :slight_smile:

1 Like

to give you a general direction, the picture below shows you one of the many possible ways to choose a unit size based on the values that are in between the maximum and minimum size

1 Like

Thanks for the response. I’ve cleaned this up a little. I was replicating a task I’d seen at AU hence the lacing. I’ll go back and review lacing requirements. I need to review the image you uploaded below, but I’m having difficulties identifying the discrepancies between my script and yours. I must be misunderstanding; your example has ten items for minimum and maximum range values with 50 sample numbers (Math.Random (random values)). I have ten minimum and maximum range values with eight sample numbers (Math.Sum). 50 sample numbers x 10 range values = 500 outputs and my 8 sample numbers x 10 ranges = 80 outputs. I’ve included a snip of more of the script.

Thanks for your help; I really appreciate it.

So, I was working on this message when I had a colleague walk up behind me and watch me finish this message. I explained to him the issue I was running into, and he likened this function to an array function in Excel. His explanation sounded like a cross-product lacing situation; I switched the FilterByBoolMask to cross-product lacing, and I got my full list of neck sizes.

If there are cleaner, simpler ways of doing this, please do respond with those approaches; anything I can do to improve my work is appreciated.

ah you see, i was using && instead of ==