Please look at my reply above You’ll need to use
Cross-product Lacing on the String.Contains node, then also use a List.AllFalse node with
List@Level 2 enabled and a Not node.
What this does is it takes your input strings (Your CAD.LayerNames) and then checks them against every single string you want to search for (This is what cross product does), providing you with a List of lists of boolean values (Trues and Falses). As you simply want to see if a layer contains any of your matches, then you can use the List.AllFalse node at the L2 level to check if they are all false (Which means there is no match). We then use the Not node to flip Trues to Falses and Falses to Trues - to make it a little more sensible to feed into the List.FilterByBoolMask node.