Surface perimeters as polycurves

Given a surface and a set of polycurves, I am using Surface.TrimWithEdgeLoops to create a new surface with holes.

  1. Is there any way to retrieve these polycurves from the new surface? There is a Surface.PerimeterCurves node, but it returns curves, as the name suggests. I need the connectivity among the curves. I cannot pass the output list to a PolyCurve.ByJoinedCurves node, as there are disjoint curves.

  2. Further on that, is there a way to differentiate the inner polycurves ?

Many thanks,

  1. Explode the geometry. This will create a list of curves.
  2. Group the curves and create new polycurves from the groups (ArchiLab has a node to help with this)
  3. Create a new surface from the polycurves - the largest area is the outer polycurve. The rest are interior.