How to split two sets of curves


I have selected 4 floor slabs, created geometry from them (Solid), joined geometry (Solid.union) and extracted the curves of the edges of the new solid in order to make a new floor plate using Floor.ByOutLineTypeAndLevel. This works fine as long as there is only one set of joining curves. If there are two closed curves (one inside the other as shown below), Floor.ByOutLineAndLevel will return an error as it expects only 1 set.

I have selected the curve with the biggest X-value in its starting point, meaning this curve is furthest out. Next I can find intersecting curves of the first one, I add them to a new list that is to contain only the curves of the outer edges. But I cannot get a loop to go through the original list of curves to find the others that are part of the outer edge.

any help would be greatly appreciated.


Has anyone ever set up a while loop for this?

There is a node called ‘GroupCurves’ in the Archilab package which will give you a sublist of the outer and inner loop. This post by also gives a method for doing so via Design script: Grouping Curves with Design Script.

Once grouped you can search the forum for ‘hole in floor’ and similar terms to find posts to edit the sketch lines to create the opening.


Got it, thanks Jacob!