How to obtain constant radius variation with the “Pipe Variable” component

I want to use the Pipe Variable component to produce a tapering pipe that follows a non-planar curve:

However, I’ve noticed that this component doesn’t produce a constant variation of the radius along the pipe’s length, but instead the radius variation seems to be higher near the midpoint of the curve, and smaller near the endpoints of the curve. To make this easier to notice, here you can see the Pipe Variable component with a straight line as its Curve input — an “S” shaped edge (yellow line) is obtained instead of a straight edge (red dotted line):

How can I control the radius variation in order to obtain a pipe with straight tapering? Or should I use another method instead of the Pipe Variable component? (Remember I can’t use the Cone component because I want the pipe to follow a non-planar curve). Here’s the GH definition:Pipe (12.2 KB)

Thanks for your attention!

Sweep 1 with two or more “station curves” of different sizes (on phone, can’t do more right now).

1 Like

Sweep 1 presents the same issue as the Pipe Variable component, it doesn’t produce constant radius variation: Sweep (9.5 KB)

This shows two curves at the same time, one a straight line and the other a 3D curve:

Sweep1_2019Oct6a (11.9 KB)

Sweep 1 works well enough in this case, even with only two station curves, but you could also bump the ‘Steps’ slider up to 100 and loft the circles instead of sweep.


Sweep1_2019Oct6a2 (15.7 KB)

1 Like

You can use Loft, Extrude point and Flow

Pipe (16.9 KB)


As you can see here, the Sweep 1 component still doesn’t show a constant radius variation; “S” shaped edges appear when I use it in the definition you uploaded:

However, the Loft component works perfectly, and it allows me to control how many subdivisions the new surface will have. Because of this advantage, I chose your reply as the solution for this thread! Thanks a lot @Joseph_Oster!

The Flow component of your definition works great too @seghierkhaled! However, since it doesn’t allow me to choose how many subdivisions the new surface will have, I chose @Joseph_Oster’s answer as the solution. Thank you very much for your help too!