For whatever it’s worth, I’ll offer a few observations on this that may help in coming up with a better strategy for creating these curves. It’s usually better to avoid trouble in the first place than cope with it after the fact.
Asking GH to pull curves together where they nearly intersect is more complex than it’s worth. I would advise defining the intersection points and then using them somehow to create the curves you want. Clearly they are arbitrary and intended to please the eye (art), so I won’t try to address that. Sorry.
- There is no need anywhere in this code to reparameterize curves. Doesn’t hurt but doesn’t help either so avoid it unless it’s necessary.
- Working so far from the origin (X = 28K, Y = -62K) can be a pain, if for no other reason than just finding the geometry in Grasshopper is difficult unless you bake a curve, point or surface, CTRL-A in Rhino (‘select all’) and ‘Zoom extents’ to show the geometry.
- Using negative values for ‘Start/End’ inputs to Extend Curve is dubious to me, even though it appears to work. There has to be a better way to get that bottom curve.
The only code I wrote is in the cyan group (below). It replaces your white group in trying to create the surface(s) between all four curves. It uses PFrames on your bottom curve (the shorter one) to create rectangular surfaces that will intersect all four curves. Using surfaces instead of planes is better because many of the planes will intersect the curves in two places instead of one. Four intersection points for each PFrame are sorted by their Z values and connected with a PLine (PolyLine), which are then lofted. It’s not perfect, especially where the two middle curves don’t actually intersect, but it’s not bad?
Keep at it, it’s an interesting concept and can surely be done “perfectly” with a better model, perhaps entirely in GH instead of relying on Rhino for the two intersecting curves.