[Wish] Copy/Move with History

I would like to be able to select a group of objects with a history relationship and copy, cut and paste or move them while maintaining that history relationship. I see this as an explicit command, not a modification of existing behavior, and links to objects not in the selected set would be broken. As my models grow and develop, I need to be able to reorganize the objects in model space, and a desire to maintain history links prevents me from doing this.


I’m curious what the plans for History are in V6. In it’s current state History for me is a possibility only in cases I have an explicit structure and model setup. If I would have more control over the data in the link; being able to manipulate the relationships, tool options and such the possible uses of History would increase quite a bit. The fact that we now can only work with a black box type functionality imo also adds confusion and hesitation to use the command.


Hi Willem- one thing that I understand is possible with the current plumbing but so far not implemented is the ability to edit the input parameters in History operations as well as the input geometry. There is occasionally talk of adding this but I frankly do not expect it to be in V6 at this point, myself. I personally think this is at least worth looking into but as always, it is a matter of resources…



More history tools or more block tools or find duplicate geometry and replace tools or all of the above. This is a huge usability issue for a lot of modelers. These are my hopes for V6.

I’d like to be able to develop iterations of my designs whilst maintain the history relationships. So, if I build some curves and their is continuity history linking them together, when I copy and paste those objects across the model-space, I’d like to be able to keep the original history links.

This would really be a big help as now I need to setup a new history each time I copy objects!


Hi Sach - unfortunately, as I understand it from the bigger brains, this is just not in the cards any time soon. However it does work to export the objects and re-import them - so you could set up a dummy file and macro the export-import to that file to copy objects with History.



Mikko kind of shot this one down in this related topic https://discourse.mcneel.com/t/wish-duplicate-object-with-history-children/40647

What I usually do for iterations is SaveAs the file, which will preserve history links and give you a new file. Then in the new file, select all the history related stuff you want, invert the selection and delete out the rest, and now you can play with the objects for the new version.

But Pascal’s method is brilliant. Just take it a bit further and use Export With Origin and set a new base point. Now when you import back in the objects will be in a new location. You can also rename the layers in the dummy file, and then when you import back in you will have two sets of history related objects on different layers, so you can control visibility of each set.


Thanks Mark


I tried exporting and re-importing. The blend curves seem to have lost connectivity with their parents… When I move the curves, the children stay behind ;-( although they appear to be history enabled when I use the check objects with history command. Saying this, the surfaces created from the curves do update when modified.

Any ideas why the history is unsupported on blend curves?


…The blend curves seem to have lost connectivity with their parents

I missed that this happens when I try to re-import in to the same file. If I open a new Rhino session, it works okay… Strange.

I’ll check this, thanks.

@sach - this macro seems to work so far here, with curves connected by a historical Blend

 ! _-Export _Pause "C:\Users\pascal\Desktop\Junk\HIstoryCopy.3dm" 
_-Import "C:\Users\pascal\Desktop\Junk\HistoryCopy3dm" _Enter 
_History _Lock=Yes _Enter _Move _Pause _Pause _History _Lock=No _Enter