“Group” (in fact : Clustering). One way is the standard one: K-Means (Google that) as far as you know the N of Clusters. There’s also various other ways: for instance a more “generic” distances Clustering as far as you know the max prox distance.
After defining a suitablle Coordinate System (say: a fitted Plane moved to the Cluster centdroid) AND “orienting” properly the Plane … one way is to order pts by Angle (of 2 Vectors: Plane XAxis and pt - Plane.Origin).
Use some higher order data collection Type like a DataTree.
For the 2 see the 3 indicative snaps attached to my answer to this (for “orienting” Planes Dot/Cross (Google these) Products are used) :
I think there’s a component for pulling points to the nearest shape, and it should output the index of the shape which was nearest. So that’s either going to be a 0 or a 1 if you use two curves. You can then use that number to sift your points into two outputs.
I can’t check to make sure as my current build of Rhino crashes on startup. It’ll take a few hours to sort out.
"I apologize for not providing a detailed example in my previous message. My primary concern is how to establish a consistent starting point for labeling each group of points, ensuring that the labeling follows a clockwise or anticlockwise direction. For instance, I want to ensure that the labeling for group x1 starts at point 1 and proceeds in a clockwise manner, and similarly for the remaining groups.
Secondly, I’m wondering if there’s a more efficient approach to automating the creation of text components for each group of points. Currently, I’m manually creating text components for every group, which becomes tedious as the number of groups increases. Is there a way to automate this process using Grasshopper’s native components or third-party add-ons?"
“I’m so thankful for your brilliant advice and the helpful solutions you’ve shared so far. I tried my best to follow your instructions and apply the suggested methods, but I’ve faced a few hiccups along the way. I apologize for my persistent requests, but I’m eager to overcome these challenges and achieve the desired results. Your continued support and expertise would be immensely valuable to me.”
"With your continued guidance, I’m confident that I can overcome the remaining hurdles and achieve the desired outcome. Would you please kindly assist me in addressing my remaining questions
I’m interested in establishing a reference point, or origin point, for each piece, consistently positioning it either on the left or right side. It indicates where to begin the assembly process.
I want to create labels for each piece and its sub-pieces. Each piece should have two labels: one in the center of the whole piece and another in the center of each sub-piece. The label should also show the piece’s position in the sequence, like “X1” for the first whole piece and its sub-pieces.
In situations where a main piece, such as “X1,” splits into two separate main pieces, one on the left and one on the right, I’d like to differentiate them by labeling the left piece “X1-LA” and the right piece “X1-RA.” This approach would be consistently applied to all pieces, regardless of their position, ensuring clarity and organization.
If the generated label extends beyond the boundaries of a piece, could it be automatically resized to fit within the piece? This would prevent label overlap and ensure that the labels remain visible and unobtrusive.