Making barely intersecting curves intersect or snap curves onto sub-d

Hi, I have a series of curves that should have been on the surface of the sub-d, and therefore intersects the other lines, but they are not. My problem is that many of them are not intersecting because they were hand drawn, and i need the lines to intersect.

One way i thought is to project the curces onto the surface, but because its 3D, it doesn’t work. I have tried to manually redraw this, but because they are curves, or even interpcurves between the control points, they go below the surface. I don’t need the end result to be curves, it could be straight segments, but i need the points that look like they’re intersecting to actually intersect

One potential way i thought is to divide the curves into polylines, and then find the closest surface, and then snap them to it, but the control points are not on the intersecting nodes, they no longer intersect…

I am out of whits; mathematically/programmatically speaking, I’d make a loop, find the closest point between 2 curves, make that a point, and register that to associate with that line, and then once all the points are made, join the points into line segments…

But i don’t know how to program for grasshopper at all. i’m just a rudimentary python coder…


you can see here where the lines are above the surface, and then it goes below it

any ideas? thanks alot