Geometry.IntersectAll was working but is now only returning empty list

I am trying to determine the intersecting surface between two different surfaces. My script was working perfectly last night but now it seems the node is broken. I have not changed anything. Any ideas?

When I used the Geometry.DoesIntersect, it comes back true which is even more confusing.

So I ran it on an old version of the script, and that is working fine. So weird.

List structure is super important, both in the structure of the data you provide but also the implicit/explicit structure of the required input. If you pay close attention you’ll see DoesIntersect takes other singular and IntersectAll takes others plural. This means that IntersectAll is already expecting to run on a list whereas DoesIntersect is having to do an implied iteration of the structure provided. You can also see this in the output structure of each node: IntersectAll returns an L4 list where DoesIntersect returns an L5 list.

This all just means that you likely need to use list levels to specify how exactly you want your list structures to be handled. I would also recommend cleaning up your list structure as much as possible. An L5 list is pretty deep and likely going to make things pretty tricky.

1 Like