Creating section of curve

Hello everyone,
I have some polylineCurves (a lot) which can be joined in a a single Polycurve. They are very dense. I would need to be able to get a vertical section of those through grashopper. The CurvePlane Intersection command in c# works great, however I need to actually get curves out of that. how would I do this? Thank you in advance,

See attached (and study what path’s 1st dim means [second is the index of segment]): (122.2 KB)

As a challenge:

  1. Add a collection capability (List/Array/etc - you’ll need a 3 dim paths output Tree);
  2. Add the general case (any curve [with or without segments] collection).