I need help rotating every other link on chain

I am making a chain that follows along a curve. I currently have the links along the curve lying flat in one plane. I need help finding a command which will rotate every other link 90 degrees so chain links are in proper orientation.


You could probably feed your links to the rotate component, supply it with two values for rotation 0 and 90 and graft. If it doesn’t work, please post your file.

Don’t think my approach works.
Here’s an idea from this thread: Rotate 3D around a curve?

chain.gh (9.4 KB)


Thank you for your prompt reply. I am just learning Grasshopper as an architecture student at Auburn University. I eventually found a way to develop the chain using Divide Distance, Move, Rotate, and Dispatch. Your use of Repeat Plane, Rotate Plane, and Orient make for a more streamline algorithm which I am implementing in a more general algorithm.

Find attached my original version.


02 Chain r2.gh (47.8 KB)

I did this a couple of weeks ago for a project, don’t know if it might be useful

ChainOnCrv_final.gh (16.4 KB)

Thank you inno. Another good implementation. The Sift command will come in handy. Additionally, I like the way you used the Combine and Preview commands.

chain.gh (11.0 KB) Check this aswell

Chain_2021Jan17a.gh (17.3 KB)

What about sharp corners?


Let’s split hairs!

This solutions uses kangaroo to achieve chain elements that correctly “link” each-other even at sharp corners.
From each element to the next there is a sort of " Universal joint" or “Cardan joint” with perpendicular but not-intersecting axes, so direct math is impossible.

chain.gh (42.5 KB)

04:00 am madness! :see_no_evil:

1 Like

Nice implementation using Weave and Flow.

Thank you. Much more straight forward than my original implementation.

Interesting, more physical solution. I will be using Kangaroo in a couple of weeks and will get into the details. Thank you for your help.


It was a slow day on the forum. :wink: Chain might kink like that when it’s slack and piled up on a rocky bottom or in the chain locker. Impressive Kangaroo skills!

Usually though, chain is under tension. Here’s another consideration: twist (blue group). Like what happens when a boat is at anchor through multiple tide (current) and wind direction cycles.

Chain_2021Jan18a.gh (26.5 KB)

By the way, I noticed my model was very slow and the Profiler did not show the bottleneck or actual elapsed time. On a hunch, I placed a Mesh component before Orient and now it’s fast.

1 Like

Yes, I look forward to working more in Kangaroo. The kinks add realism to the model. I like the addition of twist. Chain appears more physical when adding twist. Thank you for your help.

I am beginning work on a model of a slinky toy and will be posting request for help with a detail when I have the slinky uncoil along an arch.


slinky_2021Jan18a.gh (11.9 KB)

Very nice. I am having problem with orientation of the slinky cross section on the rail revolution. I will post question on a new thread for future user documentation.