I am new here and new to Rhino so apologies for any faux-pas I commit in my first post!
I have several layers containing different groups of points I have placed along a non-planar scaled mesh surface (so the points have different heights). In each layer, I am hoping to connect all possible combinations of these points with a single polyline between each pair so that I end up with a (very messy) polyline network in which every point is connected to every point. Ultimately my goal is to pull the distance of each of these polylines into a table for analysis.
Obviously Polyline Through Points will only connect each point to its nearest neighbor so that won’t work. I’ve also looked into paneling tools but these points are not in a grid so that wouldn’t work either. I could just do this manually and write down the distances of each but would prefer to avoid that because of the time required, so I’m looking for a more automatic tool or script-based solution.
So my questions for anyone who might know are:
Can all possible pairs of points in a layer be automatically connected with a polyline in Rhino 7 or must it be done manually?
Is there a way to specify whether these connections are direct between the points or made along another surface?
Can distance measurements in layers be exported en masse to a table from Rhino?
I have attached two screenshots to help illustrate. The first is a group of points and the second shows how I would like all those points to be connected using just one as an example. I am open to a script-based solution if there are no tools or plugins available.
@Gijs No I have not although admittedly I know even less about Grasshopper. So looking into it right now, I can bring each point individually into Grasshopper then plug them all into a polyline component but that just seems to replicate the results of Polyline Through Points. Is there a way to tell it to connect all combinations of points, not just the nearest neighbor pairs?
Also, would this process need to be repeated for each layer in Grasshopper or is there a way to copy/paste this like a function to apply to each point group?
@Gijs Incredible! So then I’m seeing I can plug that output into a “Line Dimension” component which can’t act as an input for anything else. Any thoughts on how to output those distances into a text or table where it can show point 1, point 2, distance?
@Gijs@pascal Thank you so much to you both! Great solutions. I see how the object name and distance measures can be output into a table, but any thoughts on how to identify each curve’s two end points for output as well? That way I can identify the curve distance with the two points used to generate each line.
Hello- the script above spits out both end points and the distance between them as text. If the point objects have names, that can be included as well, either in the gh solution or the script.
@pascal@Gijs Pardon my ignorance, but I’m not sure how to include the object names in either solution. I’ve been manually naming each point then trying to include items like text objects, object details, etc. in Grasshopper and check the output in a panel but with no luck. I am not familiar with Python in Rhino so wasn’t sure how to try there either.
I guess I did not specify completely in my original post but I’d like to name each point sequentially with letters and numbers for each layer (M1, M2, etc. for the points in one layer, T1, T2, etc. for another) then produce the output table with these object names (rather than coordinates) and distances to analyze in Excel. I also want to be able to have the object names labeling each point in the viewport so that I can quickly select the lines that I identify in my analysis. In short, I want to use the table data to identify distance anomalies in Excel, then pick out the associated lines to copy to a new layer. Although I do realize that labeling the points in the viewport might be an entirely different issue.
Hopefully that makes sense, thanks again for your help!