Wish History to recognize when mirrored objects are moved together

One big wish is to have history suspend when moving mirrored objects that have history.
For me the biggest use of history is when mirroring curves for patterns. I can then move the original Parent curve/s or their control points and history updates the mirrored copy.

But if I move both the Parent and child curves the mirrored copy goes off. I can understand if I move the parent the child should move but if I could move both objects and they would retain their history this would be killer. Currently this is big thorn in my workflow.
Hope this makes sense.

Could not agree more,
The new history behavior is very welcomed but this is a bad issue.

Hello - This should be working now - that is, if you move both parent and child of a Mirror operation, the child will be reposiotioned according the the mirror plane - History does not break but the mirror plane (or rotation center) does not move either so there is an adjustment, in most cases, to the child. Not sure if that is what you are getting at.


Hi @pascal
Well it does work but only for one level of mirroring. But I need to do two or multiple mirrors to make most patterns from a key pattern, otherwise you lose the benefit of mirroring with history.
In the attached file
1.I first create the key pattern
2.Mirror the key pattern (Here history works if I move both parent and child and it keeps the relationship of the mirror plane)
3.Mirror the mirror and the key pattern,
Now If I move all the objects the mirror plane of step 3 does not move with the objects. It acts like rhino used to, ignoring the fact parent and child are both moved.

I think both/ all mirror planes should move with parent and child. Should be doable and would rock.
MirrorHistoryWish.3dm (164.5 KB)

Hi RM - I am not sure I follow - in uyour file the parent objects to steps 1 and 2 are in step 3. In any case, nested mirroring is respected but the mirror plane is never moved with the objects. Note in the V8 WIP, you can choose a planar object as the mirror plane; this can be moved with the objects.


Hey Pascal,
I don’t know how the functionality can be improved so the new history features remain intact, but IMO there is a logical fallacy currently.

I get it, in V7 we cannot relocate the control which in this case is the mirror plane.
A welcomed addition during a recent SR is that if the control is dragged together with the child, history stays.
When a child object is dragged without its control, history should break.

If we don’t comply with this rule what is the reason for history break warning or lock children?

What about when we open an old file, translate objects and things start flying all over the place without warning?

I believe this is still always the case. Do you have an example where that is not true?


Pls select all objects and drag them.

Example.3dm (997.2 KB)

Hi Yianni - if all objects are selected and moved then there is no case where a child is moved without its parent. Selecting and moving one prong will break history as expected however because all the prongs are children, and one is a parent as well. Does that make sense or am I missing the point?


Hi Pascal,

The point here is that the control, which was an axis in a polar array is not selectable.
Unless the user can translate the control, this new history behaviour is erroneous.

A good example is flow along curve where the control is editable and everything follows logic.

Well, yes, it would be good to have an object as the axis as in Revolve. My guess is that is possible and even on the list, but I’ll add it if not.
RH-65733 ArrayPolar: Geometry as axis


Thank you for indulging me Pascal :slight_smile:

I hope I made my point clear.

Until this implementation reaches all history enabled commands, the new history behavior is a like a fire hazard. At the very least, there should be a toggle in options…