Cross product of nested list



I am trying to get the cross product of a nested list but am having problems.

The top part shows how it works for a simple list. Each surface within the list (length 2) is tested against 3 other surfaces to find if they intersect. For each surface there are 3 results which is correct because I’ve used cross product.

I now want to replicate this logic based on a list of lists. So each surface as indicated with the red list, tested against the 3 other red surfaces, etc. I though ‘list@level’ combined with cross product would do what I am after but it is not correct.

What am I doing wrong?



Hi @Paul_Wintour, do you have a dummy revit file and the .dyn graph?


i have solved it like this, with sum operation instead of intersection, you can use the same way.



Can you check something for me on your graph. I don’t think it is working for list at index 2. When I use this logic for my intersection the results are wrong. Can you check yours as it is cut off.

Plus the other issue which is not ideal is that for the + node it is doing a cross product for all the y inputs. If you are just doing addition than that doesn’t really add much overhead. If you are doing intersections however this will add considerable overhead.

Is there another to deal with the list structure within the first operation (intersect or addition) via list@level and lacing?


I ended up solving it as follows by duplicating the data so that the list structure was consistent. Maybe not the most elegant but it works…