# == lacing crossing -- list filter bool mask

**URL:** <https://forum.dynamobim.com/t/lacing-crossing-list-filter-bool-mask/12867>\
**Category:** Revit\
**Created:** [June 30, 2017, 11:41am UTC](https://forum.dynamobim.com/t/lacing-crossing-list-filter-bool-mask/12867 "2017-06-30T11:41:46Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![EzDoesIt](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/ezdoesit/32/70125_2.png) [@EzDoesIt](https://forum.dynamobim.com/u/EzDoesIt)\
**Post date:** [June 30, 2017, 11:41am UTC](https://forum.dynamobim.com/t/lacing-crossing-list-filter-bool-mask/12867/1 "2017-06-30T11:41:46Z")

</div>

Hi,

When i set == node to crossing and wire it to list.filterbyboolmask (lacing shortest)you get an error  
if you put the node List.AnyTrue in between it works just fine.

It took me quit a long time to figure it out.  
Can anybody explane why?.

 ![](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/c/0/c0bac0fd3c53aba6a91dd53f8fe7619719ed16e9.png)

thnks Edwin

---

<div class="post-metadata">

**Author:** ![Thomas\_Mahon](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/thomas_mahon/32/64209_2.png) [@Thomas\_Mahon](https://forum.dynamobim.com/u/Thomas_Mahon)\
**Post date:** [June 30, 2017, 11:53am UTC](https://forum.dynamobim.com/t/lacing-crossing-list-filter-bool-mask/12867/2 "2017-06-30T11:53:03Z")

</div>

Different data structures. Using X-product will produce a 2D list (your mask) and your list input into `FilterByBoolMask` node is probably a different data structure (1D maybe?..you could at least provide some better screenshots, and the error, so we aren’t left guessing). `List.AnyTrue` node will output a 1D list as it will evaluate each sublist and return a single object for each one. That would explain why it works, i.e. 1D list to 1D list is required for the `FilterByBoolMask` to work, whereas 1D list to 2D list wont work which would explain your problem.

Also, if Dynamo has nodes OOTB, like AnyTrue, then you should use that instead of a package.

 ![](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/3/5/358f26a13a957fee1fcab73417a20f58325428ee.png)

---

<div class="post-metadata">

**Author:** ![EzDoesIt](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/ezdoesit/32/70125_2.png) [@EzDoesIt](https://forum.dynamobim.com/u/EzDoesIt)\
**Post date:** [June 30, 2017, 12:13pm UTC](https://forum.dynamobim.com/t/lacing-crossing-list-filter-bool-mask/12867/3 "2017-06-30T12:13:50Z")

</div>

![](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/3/8/38a4b42f1b8fdd06be4a3cb28ce4d01ca32bf88f.png)

---

<div class="post-metadata">

**Author:** ![EzDoesIt](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/ezdoesit/32/70125_2.png) [@EzDoesIt](https://forum.dynamobim.com/u/EzDoesIt)\
**Post date:** [June 30, 2017, 12:17pm UTC](https://forum.dynamobim.com/t/lacing-crossing-list-filter-bool-mask/12867/4 "2017-06-30T12:17:05Z")

</div>

[dummy.dyn](https://forum.dynamobim.com/uploads/short-url/eq7GaLOLq35yBFguoTsmWtfaLAw.dyn) (17.6 KB)

this is the .dyn file

---

<div class="post-metadata">

**Author:** ![EzDoesIt](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/ezdoesit/32/70125_2.png) [@EzDoesIt](https://forum.dynamobim.com/u/EzDoesIt)\
**Post date:** [June 30, 2017, 12:21pm UTC](https://forum.dynamobim.com/t/lacing-crossing-list-filter-bool-mask/12867/5 "2017-06-30T12:21:13Z")

</div>

I try to get only the structural plans from revit then set it in order on level height  
from bottom to top, the ultimate go is to retrieve the structural level below the current one.

thnx

---

<div class="post-metadata">

**Author:** ![jacob.small](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/jacob.small/32/161030_2.png) [@jacob.small](https://forum.dynamobim.com/u/jacob.small)\
**Post date:** [June 30, 2017, 1:16pm UTC](https://forum.dynamobim.com/t/lacing-crossing-list-filter-bool-mask/12867/6 "2017-06-30T13:16:40Z")

</div>

I can’t explain the error any better than @Thomas_Mahon did, but I think I can help you get your result.

Instead of using a bool mask, take the list of sorted levels, insert a ‘null’ value at the front of the list, and remove the last item in the list. You now have a list of levels sorted by height, and a list of the level below each of those levels.

Edit: spelling

---

<div class="post-metadata">

**Author:** ![EzDoesIt](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/ezdoesit/32/70125_2.png) [@EzDoesIt](https://forum.dynamobim.com/u/EzDoesIt)\
**Post date:** [July 2, 2017, 2:32pm UTC](https://forum.dynamobim.com/t/lacing-crossing-list-filter-bool-mask/12867/7 "2017-07-02T14:32:54Z")

</div>

@jacob.small  
I am affraid that i can not follow you but i figure it out on another way 😃.

> [@jacob.small](#):
>
> Instead of using a bool mask, take the list of sorted levels, insert a ‘null’ value at the front of the list, and remove the last item in the list. You now have a list of levels sorted by height, and a list of the level below each of those levels.

Here is the dyn file.

[dummy.dyn](https://forum.dynamobim.com/uploads/short-url/GjDd12vjUC1qUHvwRXANu0xpFo.dyn) (28.6 KB)

Edwin
