How to model a pipe?

Okay, sounds simple. But I really don’t know how to model a simple pipe from a cylinder. Could somebody tell me how?

You can extrude your entire cylinder and then scale the doubled faces inward.

If you want a curved pipe you could use bezier curves and the BevelOb property.

for the lazy:


Sounds simple, but there are some modeling techniques that you need to know.

First of all, you’ll probably want to use subsurf and set smooth, and a cylinder with only 6 or 8 vertices. Initially set it up along a global axis, even if you are going to place it at some odd angle once it’s modeled.

Scaling: You can scale in only two axes, which you’ll need to do to get the ends of the pipe to line up. Suppose your cylinder is aligned along the z axis. If you simply extrude and scale (type e, then type escape, then type s and move the mouse or type in 0.95) the inside of the pipe won’t be as long as the outside, because scale works in all three dimensions, including z.

So, instead, scale in only x and y: type s, then Shift+Z, then move the mouse or type in your scale factor. Shift+Z tells Blender NOT to scale along the Z axis.

Since you are in subsurf, the pipe will look wonky. In order to square off the ends, you need another set of vertices. Select the end faces, and extrude them, but don’t move them. Type e, then escape.

Another tip: switch to face select mode. You can select an entire loop of faces by putting the mouse cursor near an edge, holding alt and RMB clicking.

Making pipe connections: Use the loop cut tool to make an edge close to the end of the pipe. (This is easier to do with subsurf turned off: Deselect the “Enable modifier during interactive display” button, or the “Enable modifier during Editmode” button.) Use the loop cut tool to add a new edge around the inside and the outside of the pipe (you’ll have to do loop cut, Ctrl+R, twice).

The loop cut tool will cut across whatever edge you point out with the mouse cursor, and will show you a purple line for the proposed cut. When cutting the inside of the pipe, make sure the purple line doesn’t go all the way to the outside of the pipe, that’s a sure sign that you’ve selected an edge on the outside of the pipe.

Once you have the new row of faces, select the faces on the end of the pipe, then expand this selection by typing ctrl+Numpad Plus, twice. Extrude this whole selection, then escape, and scale it out using the Shift+Z technique. Then type ctrl+Numpad Minus twice to return to having only the end faces selected, and move them along the z axis, until the pipe connection is as long as you want it to be. Then extrude those faces once, but escape to leave them in place (this squares off the end of the pipe in subsurf.) You can adjust the sharpness of the edge between the pipe and the connection by switching to edge mode, selecting the edge next to the joint and moving it closer or further away from the joint.

Bending pipe. You can make nice bends by setting the pivot point to the 3d cursor (there’s a menu in the window header to set pivots points, default is median point of selection), putting the cursor at the center of rotation for the bend, then extruding the end faces of the pipe, and rotating them (e, escape, r, move the mouse or type in a number of degrees.)

Thanks very much, expecially to Orinoco for the very helpful advice!

EDIT: Could somebody tell me how to do this? (I can’t explain it with words, but with an image.) The end of the pipe should remain a circle, not to transform into an oval…


I’m assuming you want to cut the end of the pipe at an angle, like this

If that’s the case, make the straight pipe, then tilt it, select the verts on one edge, and scale along z to zero (type s, z, zero).

This will shrink the cross section (in this case along the x axis, because it’s rotated around the y axis) so after you scale to zero, you have to scale up in x to make the cross section round again. (I did it by eye, and as you can see, it’s not perfectly lined up.)

Note, both rows of verts at the end must be tilted, but you have to do them separately, otherwise scale to zero would move them all to the same level on the z axis, and you do want to keep some separation between those edges.

I think you could also make a separate plane object, insert it into the pipe at the proper angle, and use the retopo tool to drop the appropriate verts onto the plane. That way you’d retain the circle and not have to muck about with adjusting the x scale.

I made it! Thanks again, Orinoco!

For future reference, another way to make the angled cut is to use shear. Change your view to see the pipe from the side (or top, depending on what direction you want the angle to be), then select all the vertices at the end of the pipe you want to angle and press ctrl + s. Then move the mouse left or right until you get the angle you want.

A minor correction to the shear instructions: rotate the pipe so it is aligned with the x or y axis. If the pipe is aligned with the z axis, shear won’t help, no matter what view you are in. This is a better method than tilting the pipe and using scale to zero, since it preserves the circular cross section. Thanks, JasonBob45. I learn something new here every day. I love this place :smiley:

Whoops, didn’t even cross my mind that the pipe might be aligned to the z axis. Orinoco is right about that.

I recently had to make an angled pipe just like this, so the shear tool was fresh on my mind :wink:

A new question about pipes: How to make holes to them?


And a new problem: How to make the conical part smaller, like described in image 1. I always get the result which can be seen in image 2.


To get straight edges, you need to add loops to stabilize the bent part, otherwise the subsurf algorithm will make curves.

I think this is what you are looking for.

This is where the edge loops are. This image is with subsurf temporarilly turned off – the location of the edges with subsurf turned on is not real, since they are moved around by subsurf. Notice I used three edges to get a sharp corner. If you zoom in really close (with subsurf turned on), you’ll see there is still a curve centered on the middle edge, but it straightens out as it reached the edge on either side.

For making a diagonal cross section, the knife tool can also be very handy. You can use the grid to make sure you get a perfect 45 degrees. Select all vertices > K to invoke knife tool

Hmm… I think I didn’t explain it correctly because you misunderstood me. Look this image and you will maybe understand it better.


Here is the set up, with triple edge loops to stabilize the edge when the mesh has subsurf turned on.

And here is what it looks like, subsurfed.

Now, you don’t want to scale the whole angled section smaller, because that will mess up one of more of the set of edge loops that create the subsurfed edge. Just take the three edge loops to the far right, and move them to the left.

The edge on the left stays in place, undisturbed, and the section gets shorter, the angle steeper, the connecting angled surface is still fairly straight. You can make some minor tweaks to the size of the two inside edge loops (the two edge loops on the slope) by scaling or shifting them slightly to the left or right (hold shift down to get more control) , to get an even straighter angled surface

and what about if you pipe turns more than 90 degree ?

What you can do to get it perfectly accurate is select any edge or vertex in this edge loop (or the whole loop if you want). All that really matters is selecting something along this particular axis that the loop is on.

You want to move the 3D cursor to that spot, so after you have it selected, push Shift + S, then select “Cursor --> Selection”. After that, you want to use that cursor as your pivot point. You do that by clicking this button on the bottom of your 3D view and selecting “3D Cursor”:

Then you can select everything that you want to make smaller, and hit S to scale, then lock it to either the x, y, or z axis depending on how your pipe is aligned. Mine was along the x axis, so I had to hit S then X:

That should do it I think.

kkrawal: You mean you just want the pipe to turn? Make your straight pipe, up to the point where you want it to turn. Put your 3D cursor where the “center” of the curve will be. Then select all the edges on the end where the turn will start, and find the Mesh Tools under the Editing Panel (F9):

Set the degrees to whatever you want, and the steps to the number of subdivisions you want in the turn. When you’re done, press “Spin”. This is the result I got using the settings in the above picture:

Hope that helps.

1 Like

Thanks! And what about holes? Is it simple or not?