Blender Stack Exchange is a question and answer site for people who use Blender to create 3D graphics, animations, or games. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I was trying to make a pipe with rounded cap or ends. Something like in the image, where I just added to spheres as "ends".

enter image description here

I've already surfed the internet a little and it looks like an uncovered issue, as simple as it seems.

I need to do this because I want to animate it later, like some type of growing body of water.

So, the method I'm trying out now is using a Bezier curve and applying some bevel, because of the "start bevel factor" and "end bevel factor" parameters which can modify the length of the pipe from its start or its end. Very handy.

What I've tried later, was to select a sphere for the bevel object, so it would return a pipe with rounded caps... but it was impossible.

So I'm totally open to new approaches, if you have any ideas!

share|improve this question
up vote 11 down vote accepted

You can do this with an array modifier and a curve modifier (see this post):

  1. Add a slightly extruded circle/cylinder with no caps:

    enter image description here

  2. Add an array modifier:

    enter image description here

  3. Add a curve modifier:

    enter image description here

    For the array to deform as expected the object origins must be in the same place.

  4. Add two half spheres as start and end caps:

    enter image description here

  5. the length can be animated with the Count value of the array modifier.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.