How to sort the surfaces by length?

Hey guys, I want to sort these surfaces by length (from highest to lowest). How do I do that?

Thanks in advance

Script, Grasshopper, something else? What do you want to do with the “sorted” surfaces" afterward? Reposition them in order? Please be more specific with your question.

Crossing selection window from top down to catch just the top edges of tallest ones. Group. Hide or move to separate layer turned off. Repeat for next tallest, and so on. If I’m understanding your question correctly.

Think I was very specific. I want them in order, from highest to lowest. It´s for a presentation so I just want to organize them.

Yeah, I guess it works. Wanted to see if there was any tool/easier way.

In Grasshopper, get the rectangular domain max bound value in V/Y direction, Feed that into the sort component Key input and the surface rectangles into the sort component A input.

Alternative option. Surfaces → Deconstruct Brep → Vertices → Fit Line (Through Points) → Curve Length → Sort Component Key input with your surfaces in the A input

But getting the rectangular domain should be the easiest

1 Like

Sort by area centroid Y value. Only 3 components needed.

2 Likes

Just another thought since those all seem like square surfaces. Although un necessary since the others were so good already.
A output is the sorted surfaces.

1 Like

Here is a simple Python script you can try. It only works with single surfaces and it sorts by “height” in the Top view (world Y).

SortSrfsByYExtents.py (606 Bytes)

To run the script once or twice, save it to your desktop and then call RunPythonScript in Rhino and browse to the script. Select the surfaces and Enter.

To install the script more permanently see this Wiki page:
https://wiki.mcneel.com/rhino/macroscriptsetup

1 Like