It doesn’t take much effort to sort the output following curves if needed:
private void RunScript(Brep brep, List<Curve> curves, Curve extra, ref object A)
{
var unroller = new Unroller(brep);
unroller.AbsoluteTolerance = RhinoDocument.ModelAbsoluteTolerance;
unroller.AddFollowingGeometry(curves);
unroller.AddFollowingGeometry(extra);
Curve[] unrolled_curves;
Point3d[] unrolled_points;
TextDot[] unrolled_dots;
var breps = unroller.PerformUnroll(out unrolled_curves, out unrolled_points, out unrolled_dots);
if (breps.Length > 0)
{
var out_curves = new Curve[unrolled_curves.Length];
for (var i = 0; i < unrolled_curves.Length; i++)
{
var curve_index = unroller.FollowingGeometryIndex(unrolled_curves[i]);
Print(string.Format("Output({0}) = Input({1})", i, curve_index));
out_curves[curve_index] = unrolled_curves[i];
}
A = out_curves;
}
}
– Dale