generative modeling for Rhino
I’m working on a definition for mitering an object.
I’m trying to organize a list of curves for lofting. I’ve searched for a solution but haven’t found one yet.
My loft curves are created upstream in the definition from the intersection of breps. The curves I need to loft will vary in location and number, depending on the surface they are derived from. I think the problem I’m having is with the order in which the curves are inputted into the loft component. (I assume the index positions of curves in a list represent their order for the loft).
So I’m trying to reorganize the order in which the curves appear in a list. I’m looking for a local direction that my set of loft curves can follow (i.e. clockwise or counter-clockwise).
I took the edge curve of the relevant face and shattered it. I found intersecting points between my loft curves and the shattered pieces. These resulting points always seem to be in a predictable order as shown with the "point list preview" in the image (i.e. CCW when looking at the face head-on). So far so good.
So now I think there must be a way to piggyback my loft curves with these points (through merging or some other component) and then cull the points, leaving me with chronologically correct curves. Unfortunately it seems that when I disassociate the points from the curves, the curves return to their original order. Am I misinterpreting what’s happening? Is there a way to have the curves follow the same order as the points shown in the "point list preview"? Or perhaps another way to re-order the curves, making then correct for lofting? Please excuse the inflated definition. It’s a WIP!
Any help or comments are appreciated.
That is exactly what I needed. Thank you, Vincent!
Despite this being a solution, I'm still curious if its possible to use the order of one set of indices to re-order another.
Also, I've never used the Curve Closest Point component. You are referencing the "t" output which is defined as "Paramater on curve domain of closest point". What does this mean, and how is it measured (i.e. file units, domain or ???)...
If I understand what you mean, you've got a list of integers that correspond to index numbers of a second list of data and you want to order this second list of data using the first list of integers. Use the "List Item" component for that. Connect the second list of data to the L input and the index list to the i input.
Second question: The parameter of the curve is a value inside the domain of the curve. It's a sort of mathematical property of that position of the curve and does not represent any magnitude like length of the curve, but in this case is useful for ordinal purposes.
Thanks for your explanations, Vincente.
Things are starting to make sense :-)