Wish: Subd Revolve to accept a SubD edge as input

While you can create a SubD surface by revolving a curve, you can’t directly use an existing SubD edge - you have to create a curve from the edge, revolve that and then join the new surface to the existing SubD.

Wanting to revolve a SubD edge as a variant of extruding a new face onto a SubD object seems such an obvious thing to want to do that initially I couldn’t figure out what was going wrong (this behaviour is different from the sweeps, for example; and the command just stops before asking for the axis, without any explanation in the command history).

Could this capability be added please?


Hi Jeremy - would you expect, then, that the new revolve is part of the thing the edge(s) came from? Can you post an example of the input and expected output?


Hi @pascal,

Here’s an example I prepared earlier. I was reproducing a real-world piece of pressed metal as an exercise in accurate SubD modelling:

Starting with the arched raised section seemed to work best as a strategy, so I got to a point where I had a profile that had to be extended in a true arc, which seemed a good candidate for a revolve.

(As my tiny brain didn’t think of deriving a curve from the profile edge until much later I ended up trying other approaches, which was educational, but time-consuming.)


Hi Jeremy - That seems hard… I am trying to think how it would work out what edges to attach itself to - especially of the revolve were some odd angle. RailRevolve might make more sense here?


OK, maybe I made my explanation confusing by drawing the quadrant lines. Here is probably where I was at when I wanted to use SubD Revolve:

And here is (approximately) what I wanted to achieve, where the new red surface is a part of the developing SubD object:


p.s. As an aside, trying to do this now, revolving from a curve derived from the SubD edge I get the message:

so my original SubD has ‘SubD unfriendly’ edges! This stuff is tougher than I thought…

p.p.s. If the purpose of a SubD revolve is to get a close approximation to a circular arc, then the output of a 90 degree revolve would benefit from being made up of more than two segments.

Hi Jeremy - ok., so joined at the edge that is chosen, is the goal, that seems more doable, to me. Presumably a 360 degree revolve would be its own thing.

So, SubD friendly includes zero-curvature at the ends, but the edge being duped is anchored by another SubD face at the top end so does not necessarily have zero curvature.DupEdge gets the 3d curve exactly and does not care if as a free standing curve it has anything to do with SubDeity…

RH-61982 Revolve: Segment count
RH-61983 Revolve: Accept SubD edges for real


I think based on this follow-up explanation this request makes a lot of sense, In theory you could achieve this with bend, but that has two major problems in rhino right now:

  1. You first need to extend something straight with multiple segments.
    1A. Extruding an edge with gumball extrudes a single edge, you have no way to add more spans (edges) along the extrusion length. . This is not very useful

1B. ExtrudeSubD also has no way to add more spans along extrusion length. This is not very useful.

1C. InsertEdge _Ring only allows you to inset one edge at a time, I cannot insert 5 equally spaced edges. This is not very useful.

  1. Bend has no way to control length to bending ratio. In fact it even has an Angle input but it only lets you bend in one direction, that is not the one that you would want here. TAke a look at this, you can bedt at 90, but not at -90??? …this is not very useful.


RH-62116 is fixed in the latest Rhino 7 Service Release Candidate