Wish - Model with mirroring


I model many things that require symmetry. Currently, I have to build one side and manually mirror it over. Often I do this in stages, mirroring sections as I go along. This is ok, but often, history may not be enabled and not rigoroulsy monitored, I also use the 'Symmetry tool, but it’s not quite the same?

I can see the need for an mirrored modeling toolset that display a mirrored preview across a line of symmetry. Perhaps this could be a preview, that you can ‘bake’ when ready.


1 Like

I agree, the dynamic mirror for sketching like in Solidworks is very useful tool and I hope this command will be part of the Rhino.

In SubD modeling you can use _Reflect command to achieve this. See here from 10:20:

In NURBS, you can use Record History and _Symmetry to achieve a similar result. See here:

These give you basic functionality. Agree that improvements with more advanced functions are needed.

Yes thanks. I use both these approaches but I think mirrored modelling should just have a simpler approach. It could be a check box, for example which toggles mirroring on and off. This could be in the panel area and give the option of which plane to mirror around.


I’ve seen this done simply with the render mesh- the actual geometry does not mirror, but the rendermesh does giving you a good representation of the whole-


Thanks Kyle. Do you know how to do this?

Sach Chauhan

NOOOOO…I went to art school…

but there are definitely folks at McNeel who do.

Might not be what you are looking for, but you can do “Dynamic mirror” in crasshopper with geometry pipeline - and mirror node.

But it would be nice to have Alias type mirroring for layers at least.

@tomvar98 I’ll try that. Thanks.

Yes, it would be good to have it as Rhino interface tool, as it’s quite useful.

1 Like

Hi, a long time Autodesk Alias user who switched over to Rhino here. I really liked the approach to symmetric modelling in Alias. There are a few other tools to help but the main thing is that you can set individual layers as symmetric and define the symmetry axis for that layer. Anything you throw into that layer will be mirrored. The nice thing then is that you can match objects with their mirrored selves to ensure continuity across symmetry axis (with history).

I find this solution simple and elegant. Is it something that can be considered for the next Rhino release?



Grasshopper preview unfortunately cannot be used for surface analysis (Zebra analysis etc.) natively. As such, I find the preview to be lacking in quality compared to the way actual geometry is rendered and handled. Mirroring layers is the most dynamic way to approach this and would be very welcome.

Note: There is a Zebra component by David Rutten: Surface curvature analysis, like "zebra" in Rhino - Grasshopper (which I haven’t tried).

1 Like

Hi Kyle, this sounds exactly like what i need!
Can you find out how it is done? Or get a script from the defs to do so?

Hi - So I made the suggested grasshopper test from TOMI.
I works really good, I even can Filter it to a specific Layername (I called my Layer “Sym” )
Shading is a little off, but that still quite usefull!
Only frustrating thing is the performance… It gets really unusable if you have a lot of geometry on that Layer…

This could be really usful- when I dont have to Mirror the real geometry - but only the light rendermesh!
So a combination of Grasshopper and the Workflow that Kyle mentioned could be a solution.

Does anyone know if the rendermesh can be accessed via grasshopper or rhinocommon?

You can convert your geometry to mesh inside grasshopper and then mirror that. Try SimpleMesh or MeshBrep components.

Thanks for providing solutions for this @ShynnSup @jjcg.23

I think this should be a simple command within Rhino though; I imagine lots of users build symmetrical models!

1 Like

Is anyone from McNeel even reading this?
There is really many examples of easy fixes and smaller improvements like in this thread- throughout the forums, but there seems to be no reactions at all…

1 Like

Hi Jimmy -
I added this thread to feature request RH-1624 (not visible to the public).
It looks like this wish was first added to the list on 2004-04-08 and is also recorded as RH-7374, RH-2092, and RH-26905. I see that this last one is currently scheduled for 8.x but that is probably unrealistic given the amount of work that still has to be done to get Metal to work as it should.

This functionality is actual pretty banal to rebuild in Grasshopper…
It does nothing but mirroring the Geometry on the xz Plane, (for optimal performance better use the Rendermesh) you dont need access to that mirrored Geometry, its only a visual representation of the content of a tagged Layer (in my case *_Sym named)
The geometry pipeline component actually has all the functionality you need- (layer filtering!)
This is quite a good prototype of what a proper RhinoTool / Layer Option should do!


Not sure if this is good forum etiquette but I’d like to add my +1 to this feature request; modelling using a mirror or set of mirrors (like if working on a quarter of an object) is quite common and it feels like the sort of feature that Rhino would have had from day 1

This already exists for SubD so not sure I understand why it is so hard/time consuming to implement for NURBS.

I imagine both SubD and NURBS get converted to mesh under the hood to display them.

So if it exista for SubD it shouldn’t requiere much effort for NURBS :person_shrugging:

1 Like