How to unroll a surface gradually?

Hello, I have a question about unrolling a surface, I created a rolled surface by copy trim a diamond shape to a cylinder, and I want to unroll it in that way. I have searched a lot but people intend to use components to unroll surface in one go. But is there anyway I can control the unrolling movement by a number slider? and without using kangaroo as I will apply this to a massive building as facade

image

Maybe something like this:
unroll_cyl_trim.gh (11.3 KB)
Since it is a cylinder, you can find the exact rectangle the untrimmed surface unrolls to, then map the trim from the curved version.

Hello Daniel, Thanks a lot for replying, I can get the dimension of the cylinder and map the trim, but I don’t know how to unroll a cylinder by using number slider and I still need the motion of rolling and unrolling in order to generate attractor points effect, is there a way that you’d like to teach me?

Once you know the dimensions of the cylinder, you can compute the combination of radius and angle for any unroll:
unrol
unroll_cyl_trim2.gh (14.4 KB)

Hello Daniel, Thanks again for answering me questions, but is there a way the cylinder could unroll from its mid line? so that the trimmed shape would not needed to move its position as the image shows. And idk why when I connect your script to a massive amount of the cylinders, they moves so far awayJeffrey 2.gh (30.8 KB)

Just orient the unroll back to the original location.
unroll_cyl_trim2-in place.gh (17.8 KB)