Stadium seating

Hello everyone ,
I am trying to create a rectangle output (seats) on my points , but i want the corner seats to rotate to the center point of pitch , I tried to rotate it through assigning domain and it worked for the sides only and not at the corners ! Please help!

Thanks in advance :slight_smile: (168.7 KB)

1 Like (162.9 KB)

The organization of your seat points is unfortunate. If they were concentric rings, with each row a separate branch, you could create interpolated curves and use HFrames on them to get rectangles oriented to the tangent of the row curves.

1 Like

Like @Joseph_Oster said is a pitty you don’t have curves to orient. But you are fortunate that proximity 3D is working so I can measure an orientation (165.6 KB)



Check this tutorial once i hope this will also help.



Since you’re already using a plugin for this stadium development why don’t you try this plugin. As a bonus developer him also available here in discourse. @max.marschall

1 Like

I just remembered a similar challenge two weeks ago to organize seats into rows based on their Z values:

Adapted in white group below. Unfortunately, your points are sloppy about their Z values so the yellow group was added to round them off to the nearest 0.325 to get proper rows. (176.0 KB)

P.S. I’m not quite sure what @laurent_delrieu is doing with Proximity 3D but it looks very clever and gets a similar result. Later: finding the two adjacent points for each point and using that to align the seat? Wow! They are not organized as rows, however.

1 Like

By the way, the thread title “Grasshopper” is useless. Please change it to something more descriptive?

1. Choose a descriptive title for your post

1 Like

Your seats are organized in sections as shown below, with seats in each section (branch of the data tree) in straight lines. No doubt deliberate and for good reason? (166.7 KB)

But in case you want smoother alignment, I added a green group to rebuild the row curves using a curvature graph on the bottom row as a guide. I also added the orange group to apply the rounded Z values to the resulting seats, meaning all the seats in each row now have the same Z value (which is not the case in the points you supplied). (186.0 KB)


Your points are already aligned and separated (164.9 KB)


And apparently within each section, all the seats on each row have the same Z value, which is not the case across all sections.

Thank you so much everyone for the immense support :hearts: @Joseph_Oster @ajarindia @laurent_delrieu @seghierkhaled