How can I get the curves in list 2 that do not intersect with curves in list 1?


#1

I have 2 lists of curves which have the same structure. How can I get the curves in list 2 that do not intersect with curves in list 1?


#2

You mean geometric intersection or set intersection ?

For the second option, I think that you can use List.SetDifference


#3

I mean geometric intersection. The curves in each list do not have the same order but I want to find the curves that do not intersect with the other list.


#4

I think what you have started to do is great. Maybe add an List.AllFalse before the filtering to check if each curve has at least one intersection with the other list.


#5

Here is the simplify graph.
Test.dyn (14.6 KB)

and the Revit file https://www.dropbox.com/s/ky1550dse5pcb0n/Test.rvt?dl=0


#6

I would add a List.Contains node, searching for ‘true’ with lacing longest or level set to 2. This will return a single ‘true’ value for any line which intersected any of the other lines, or false if there was no intersection. You can then use a List.FilterByBoolMask and get the excluded set.


#7

Or use “List.AnyTrue” :slight_smile:


#8

Also would work. :slight_smile:


#9

Thank you all!