Determine Start and End Points of Curve_ThroughPt Command

I was wondering if there is a way to determine the start and end points used for the Curve_ThroughPt command.

If I manually select the points in the order that I want the command ‘sees’ which one I selected first and which one I selected last - which helps when I want a gap(open curve) as a result.

However, manually selecting points can be a very labor intensive operation if I am importing many curves with many points, ie. Importing one curve at a time, extracting points, then ctrl+a for all points for the Curve_ThroughPt Command doesn’t work as desired since through this means the widest gap between points is chosen as determining start and end pts.

In the program I am importing the lines from, I can apply an attribute of each point as its ‘u’ position (aka UV) along the curve. These attributes corresponds to the order the points lie along the curve and hence can be defined as the order in which a new line is created using the ‘u’ attribute.
I am wondering, would I have to do something like this in GrassHopper? Is it possible? or can I get this result staying ‘in’ Rhino?

Curve_ThroughPt.3dm (61.1 KB)

The points are used in the same sequence in which they are made - the first point is the start of the curve and the last point is the end of the curve. If you do not know the order in which the points were made, you can use What command. The What command will display sequence of the points and their coordinates. For example this is data for one point:

  ID: fdd91317-9204-4e13-ac9f-fec2be7b1751 (90331)
  Object name: (not named)
  Layer name: Default
  Render Material: 
    source = from layer
    index = -1
    Valid point.
    Point at (13.5917,54.8446,0).


is the sequence number.

Point at (22.188,63.441,0.000).

are the coordinates.

The same data appears in the same window when you select the point(s) and click Details in Properties panel.

List command displays similar data. The sequence number is called “Runtime serial number.”

Thanks, but how do I get the Curve_ThroughPt command to recognize those first and last points made so that it leaves a gap between the first and last point? (Without me having to manually select each point in their order - and instead select all points at once).

Something I have to set up in GrassHopper?

You are right and I was wrong! The CurveThroughPt command takes into account not only the sequence, but also the spacing between adjacent points. The spacing is more important than the sequence. I would run the CurveThroughPt command twice to make two halves of the curve. I would join the halves using Join command. (I do not use Grasshopper.)

Thanks for the suggestion - However, for my purposes it doesn’t give the desired curve.
The process I’m looking at is to refine the incoming curve. If it is not initially made with the target start and end points, the resulting curve is out of ‘whack’ in relation to the original curve ie. how the curve shapes into the points that sit at the ends of the half vs. a continuous shape across those points uninterrupted.

It’s ok though, I have a solution of just taking the steps in the original file production and refining it there.
I was mostly looking for places where I can do some of the workflow in Rhino and just trying to overturn all the stones available - For Rhino I think the next step in looking into that will be can be done with GrassHopper.

I think the point about each point having an ID number association will help. Thanks for pointing that out.