generative modeling for Rhino
not the best way to do it, but maybe a starting point for you!
the attached script shows a way to use a simple forward and backtrace logic (using bisection along the curve parameterization) to try fitting as many curves along a path.
It will go forward within the domain range if the curve intersects with the previous one or if the distance is too little, and back if the distance became too small. The script will then accept the result within some small tolerance. You can input a distance between objects that is larger than 0.
Here a screenshot of a sample input. While probably not perfect, this method seems more general and precise than the ones using offsets -- but it's slower and uses the Curve.ClosestPoints(curve, pt, pt) method from Rhino 5.
Thanks, guys. Both very helpful....