Constrain Curve To Stay same Length?

I’m running into an issue I have been unable to solve. I need to create a simple pipe bending – easy except for one thing – the pipe cannot change in length as it is being bent, just as an actual object wouldn’t change in length.

Please see the test video I made. Before the pipe is bent and after the bend is completed the pipe is the same length. However, during the travel of the pipe from start to finish the length varies and it’s quite noticeable. This also causes a huge issue with the texture map of the text on the pipe as it is being stretched to accommodate the pipes changing in length.

is there any way around this?

And here’s the Rhino file if you need it:

PipeBend.3dm (100.2 KB)



A way around can be found in the use of Rhino’s History as shown in the tutorial on
At the 6th min the use of Flow is illustrated. I’ve used the technique in this model PipeBend 001.3dm (171.4 KB)
With the Flow option Stretch=No the length of the pipe stays unaltered during animation although the length of the base curve varies.

As for the material texture color mapping I find a (for me) inexplicable difference between the result on the base pipe and on the copied flow version. I had to hustle the mapping ( in the Bitmap Texture Settings) a bit (U Repeat 5) to get the desired result. Maybe someone more eminent can shed a light on this?

Properties Texture mapping is no option because it will not correspond to the deformation caused my the morphed curve.


PS Remember you have to press and hold the left/right timelineslider buttons to get a preview of History based objects.

1 Like

Hi Luc,

You are awesome thank you! I had tried Flow previously but was not using it correctly for animation but your video and sample file clued me in.

as for the texture mapping, the final animation I’m working on will have different materials on the inside and outside of the pipe . . . so, in the example below I exploded the solid pipe into surfaces BEFORE I used the flow command and just selected all surfaces during the flow command. This let me use Surface mapping under the Properties menu to control the pex pipe texture map on the outside. Since the length of the pipe is staying the same it didn’t affect the tiling at all and looks perfect.

Thank you again!

My pleasure.