SubD Symmetry?

Does SubD have a way of setting up symmetry planes? This would make sense on a model like this car body.



Yes also the marine industry only models half of the ship hull. Therefore it is desired to model only half the hull and mirror it later, or use symmetry to automatically adjust the other side.

In cars and boats 1-axis symmetry makes sense. In a lot of products we need symmetry in 2 and 3 axes at the same time. This is something that Modo never got right, yet.

Also for circular products (like wheels, propellers, turbines…) radial symmetry is needed.


What would a properly designed “radial symmetry” feature that allowed any integral number of repetitions around a circle provide that isn’t already available through polar array? i.e.: how could the workflow and accuracy be improved?

Symmetry is an editing feature up to the UI programmers, so it is something we can add later. In fact a general approach to symmetry which extends to other geometry types as well would be preferable in my opinion.


Good point. I agree. This thread is Subdivision Surface, as you have reminded us.

… and something that T-Splines - with all its shortcommings - nailed 100%


Good question. The most important and different aspect of symmetry in subDs is that it needs to be live and you need to see the symmetry propagation results as you are modeling, editing. Not as an after-the-fact polar array or series of mirror planes. The current approach to mirroring and polar array take as an input something that’s already modeled. This is not helpful at all when you are designing with symmetry. The tool needs to give a real-time result as you are making design decisions.

The most important change on this is that the resulting SubD needs to smooth across symmetry boundaries of its cages. So maybe this is something that the developers need to make accommodations for?

Good example of that use here:


As I’m posting this, today I’m working on a table-like product with 4 legs. Symmetric across the X AND Y planes. And I’m working on blending the legs to the body. And I need to see this on the 4 legs as I edit one to see the overal visual impact and trade off between smooth blends and visually massive.

I’m doing it in Modo with a mirror instance of quadrant 1 as quadrant 2. And then again mirror instances of quadrants 1&2. And of course the polygons at the mirror planes do not smooth. So it’s a bad hack. We need better.

Same approach done in sketching here applies to drawing/pushing curves/polygons in Rhino/SubD.

@gustojunk that your hair at the end?

1 Like

While Zbrush’s radial symmetry is very nice that feature is not comparable. The extremely dense mesh is getting realtime-displaced by brushes – it works with meshes of arbitrary topology as input and only moves the individual vertices in space. Some shading tricks let everything look nice and smooth.

In subdivision surfaces symmetry across one or two planes is easy to accomplish and common, for radial symmetry one had to manually rebuild the cage (when e.g. changing radial divisions from 5 to 7) to retain a valid mesh layout. I don’t know a single SubD program that does this.

Considering editing an entire object built using symmetry tools it occurred to me to ask:

Should there be a kind of master/slave relationship between the one segment that is editable with the rest following automatically? This would require some type of unique visual depiction of the master section - something that would also serve to define the whole object’s status as a symmetrical object. That would mean some kind of scheme to govern when the display mode is turned on - automatic would be best, but how would it work?

Or should all the segments have a peer relationship so that no matter which part of the object is edited or adjusted the rest just follow - perhaps surprising a designer who didn’t realize the object was a symmetrical one the first time he/she works on an inherited project? Of course, in this case especially, but actually either way, the object’s identity as a symmetrical object would need to be included in the properties display.

You can apply all manner of transformations and deformations to a selection set in Rhino, so what’s to stop you from selecting control points belonging to multiple segments and dragging them in a way that would break symmetry?

Good point. Of course at a minimum Rhino should recognize that situation and issue a warning. Maybe the answer is to not allow the user to select more than one segment or perhaps when more than one segment is box selected just highlight one of it’s own choosing. Or maybe use the usual multiple selection possibility dialog to let (force) the user to choose which one he’d like to use.

There’s also the case where a user might start with a symmetrical object but actually WANTS to destroy the symmetry as the next step in modifying the object. I suppose the answer to that is to do a special kind of join for symmetrical objects that transforms them into a single normal object.

Partial symmetry would be awesome

Symmetrical modeling has been on the wishlist for as long as Rhino has existed. The addition of SubD is not going to come with symmetry tools, as any creation of symmetrical modeling also would apply to curves, surfaces, etc.

Our goals for SubD in Rhino 7 is to add support for creation and editing of this new geometry type. Symmetrical creation and editing is not in the scope for V7.


1 Like