SubD Symmetry?

Thanks for the info Brian - I guess I’ll have to ‘roll my own’ in GH to get what I need.



symmetry and radial symmetry is a pretty crucial need for a sub d modeler at any level.


yup Kyle, I’ve been trying to SubD model in V7 without symmetry. SubD modeling in V7 is still very rough. It’s like a cold shower: It does the job, but man, it sucks compared to a hot one. …But modeling without symmetry is like showering without soap: It doesn’t really work.

I already told Brian here:

1 Like

2 posts were split to a new topic: Fusion Integration as replacement for T-Splines?

Unlike Nurbs, SubD surfaces change their form when uncreased edges are welded together, so to visualize one’s end result, it would be great to be able to automatically model in radial symmetry in real time.

When modelling in Clayoo with symmetry on, as clunky and awkward as the UX is, the symmetry makes it easy to make sure that the shape near the symmetry line will turn out right.

Clayoo lacks tools to snap it’s subD surfaces’ vertices to rhino objects, but Rhino SubD, even at this early stage, has those tools. This means that all one would have to do to guarantee a smooth, tangent seam at a line of symmetry would be to snap vertices to a straight line that crosses the symmetry line. There appear to be features in Xirus that do this even better. Come to think of it, if I was McNeel, I’d consider buying Xirus, integrating it’s features into Rhino, and creating optional simplified UX for some of Xirus’ over-complicated procedures.

1 Like

Bumping this thread, as I’m playing around with the WIP, not having symmetry makes it very difficult to do SubD modeling.

As mentioned in this thread. T-Splines may not have been perfect, but the symmetry was dialed for sure. Hope this is on the to-do list for V7


I’m sure they’re working on symmetry now, with so many people requesting it.

But if it’s going to take a while for symmetry to work for SubD in rhino, could we at least get the Brep Join component in Grasshopper to work with SubD input? That would allow a very short Grasshopper definition made mostly of Mirror and Join components to do SubD symmetry in any direction, including radially and other options more complicated than simple bilateral symmetry like Clayoo includes.

@DavidRutten @pascal, any chance of a few simple Grasshopper upgrades to allow easier basic manipulation of SubD objects?

Hello - Since GH will use Rhino Common, most likely any Symmetry that is implemented there will be in Rhino as well, most likely first…


1 Like

Aaah… yeah, finally we hear official confirmation from McNeel that symmetry is in fact coming to V7.

Thanks Pascal and all your team in the typing pool.


I thought I hedged that pretty well with conditionals and hedging.


I am confused: joining SubDs is possible and easy in Rhino7 WIP.

That being the case, why is a Grasshopper component that joins SubD objects not currently possible?

@gustojunk and @pascal, I fully expect it to be available in the next WIP :wink:

1 Like

Hello - I only mean to point out that GH things will depend upon Rhino Common, not that they automatically appear in both. The fact that a thing is possible in Rhino or is in RC does not necessarily mean it appears in GH as a component, it only makes it more possible. Does that get at what you’re asking?


I guess. But what I really want to know is, does “join” work for subD in rhino common for the current WIP, and if so, does that mean that someone with more advanced skills than me could make a SubD Join component easily?

A subD join component seems like it would be very powerful.

I have played around with a workaround for this that’s almost (but not quite) glitch-free and it was very very fun. It’s tedious but basically, drawing planar NURBs surfaces, running them through this, joining the meshes and then converting to SubD was possible. And that meant inserting rotations and/or mirrors after the conversion to mesh and before joining meshes was possible. And that yielded some very smooth and pretty surface textures.


From my experience, I sense that symmetry is coming, but not next week. Not next year either. Probably somewhere in the middle.

I say we start a discourse betting pool on which week Symmetry drops into the WIP.

  • week 49 (next week)
  • week 50
  • week 51
  • week 52

I’m betting on week 52. Since it’s Christmas and I still believe in Santa.



I’ll go for week 52 as well, I love Christmas gifts :slightly_smiling_face:


@gustojunk, @Mark_Landsaat, @Max3, @norbert_geelen, @kiteboardshaper
Reflect is in the latest public WIP - give that a spin - it is not a persistent ‘state’, it is a command that symmetrifies as a one-shot operation. Once a refelction plane has been established, Enter will update the SubD reflection to that plane.

(There is not a button for this yet - that is on the way. It is in the SubD menu.)




Thanks Pascal, this is another good step forward. I have some feedback based on the 2 seconds I have been able to use it.

If I take a perfectly symmetrical model and delete one half, it works as expected. Side is mirrored and edges are connected.

However, based on my experience I know how easy it is to move some points a little. Once I move some points on the centerline away from the axis just a hair, they will still mirror, but will not be connected. This can be solved by making sure points are on the axis using setpt, but I would like to ask if it’s possible to have some sort of tolerance embedded in the command. Let’s stay if points are within some small value of one another Rhino considers them to be on the axis and welds the points on the centerline. This was available for the T-Splines symmetry command and quite useful. Check out screenshot below.

I love that this is available though, even if I have to run the setpt command before I mirror the part in question

1 Like