Quickly Capping Pipes

I’m looking for a way to quickly cap pipes. The pipe does not need to be a perfect circle, so feel free to alter the creation of the pipe if it makes creating the cap easier/smoother. The goal is a smooth cap for rendering.

I’m hoping for a general process that works for round(ish) pipes, soft squares/trianlges/etc. I’ve attached some sample shapes and the cons of using a particular command.

Pipe Caps.3dm (352.1 KB)

1 Like

Hi Eric, the cheap way out is Patch, with just the pipe edges as input. ‘Adjust tangency’ checked… But also, Pipe has the option to add round caps when it is made. See also ApplyCurvePiping for rendering purposes - cheapest of all.


If you want a round end and don’t have the option to cap the end when you pipe the line then I just draw a sphere at the center and snap to a quadrant. You can always spit it and join them together if you want them to be one object.

Patch doesn’t let you control the height so much and can introduce some funkyness on the corners. This is from the triangular pipe:

Yes, pipe has that option but this is for those cases where I don’t start with a pipe. Using a sphere would work for circle shaped, but it barely beats revolving a profile curve for speed.

Plus I’m allergic to zero length edges. If I needed to use FlowAlongSrf to place parts on that sphere, I’m pretty much screwed.

I don’t know if is counts as quick enough, but -



Thanks Pascal. Made me think of DupEdge->Join->Copy (1)->AreaCentroid (on copy)->Loft (2 Crvs and AreaCentroid Pt, Smooth). That gives you history for tweaking, but still the zero length edge.

I guess I’m just looking for a better Patch command. Not to say that Patch isn’t a well built and very complex command. Just that with the current implementation, I can’t control the height (like with adjusting tangency handles in Blend/Srf), don’t know the continuity of the patch and inputs during creation, and the surface can have nasty ripples.

I don’t use Patch that often because I’ll end up running it two or three times to get the right number of spans to be positionally continuous. Also, it looks like it’s trying to be perfectly tangent at the edge without considering being smooth in the center. Since it’s a trimmed surface, I can’t smooth out those odd control points without messing up the positional continuity.

there’s the technique using BlendSrf

use CrvSeam to place the curve’s seam in desired position: (not entirely necessary i suppose)


use SplitEdge to split the edge of the extrusion into two halves (shown here as a point opposite of the seam) :

use BlendSrf on the two edges… adjust to suit:

1 Like

Hi Eric- I am not sure what the problem is with this… can you explain why you do not want it, assuming I am reading right?


You mean “Loft” connect to point with option “Loose” ?
I see no zero lenght, but there is polar connection inside object.
Example file: Loft_Loose_To_Point.3dm (77.7 KB)

Jeff_hammond’s method have connected poles outside object, that is the difference…

The best method I’ve found for doing this with a symmetrical object is using revolve. The end result is light, fast and simple and will shell as a valid solid object. The downside is lack of control over the shape. However the finished result is true surface cap.

1 Like

I’m a big fan of Blend Surface, and the 180 degree revolve is pretty slick, too. Just so you’ve got another option in your bag of tricks, here’s another method where you can control end cap height, and get at least G1 between the pipe and cap: Rail Revolve! It can be as simple as drawing a 90 degree arc, or whatever suits for the profile, and using the surface edge as your rail. Area Centroid is great for establishing the axis of rotation. If you’re “freehanding” the profile curve, SetPt is perfect for assuring tangency (or better) between the cap and pipe.

Best regards,

1 Like

@eddi, yes Loose, not Smooth. Sorry, I was typing from memory.

@pascal, my issue with a zero length edge is FlowAlongSrf and control point editing. 95% of the time I’m using pipe with a round cap. For the other 5%:

  • I’m not dealing with a circle
  • I need to control point edit some part of it and the singular point for the zero length edge is a problem.
  • I need to use FlowAlongSrf

The manual shapes I’m making are G0, but not quite G1/2 continuous. They’re close and I end up washing them in 3DCoat to remove the fraction that isn’t. I go this route because they Smash really well and are easily editable. If I wanted to do it all in Rhino, I could add a BlendSrf transition from my pipe to the cap and make everything G2.

I guess BlendSrf does the best auto job for this. It turns out heavy surfaces I wouldn’t want to manually edit, but the 2 zero length edges are not right smack in the center of the surface so they Smash really well.

1 Like

There is a command call testRemoveAllNakedMicroLoops which 9/10 times cleaned up any issues I came across with tiny deviations. Saved me a lot of time remodelling and cutting them out…

1 Like