Hi @hkellyMLT6P,
Thanks for trying FormIt out! Echoing @lucdoucet_msdl, we're very sorry you lost data. This is something we work hard to prevent. Here are some answers that might help:
- As Luc mentioned, FormIt features a unique Undo/Redo system. If you're editing a nested Group, Undo/Redo only affects that Group. This is particularly useful if you make a change inside a Group, then make a ton of other edits in other Groups, then return to the first Group and decide you want to Undo... you can Undo that specific change in that Group with just one Ctrl + Z, without Undoing all the other things you did elsewhere, which technically came after the change you want to Undo. On the flip side, if you exit all Groups to the Main Sketch, Undoing from there will act more like traditional Undo/Redo systems, allowing you to Undo any change from any Group, based purely on chronological order. So you can still execute a "global" or "time-based" Undo from the Main Sketch. You have options!
To answer your question specifically, if you're editing a Group, and you want to Undo the deletion of a Group that happened somewhere else, you'd have to either 1) go find the "parent" Group where the deletion took place and Undo in there, or 2) exit all Groups to the Main Sketch and try Undoing until you get the Group in question back, or 3) use the Undo Manager in Windows, which is great for visualizing the Undo/Redo history stack in all Groups. You can look in there for the Group inside which you deleted another Group, and you should be able to roll back to get the deleted Group back. Again, if you find the Undo state in question, you can roll this back without affecting other Groups, which is pretty sweet.
- Inactive Groups mean Groups that were either deleted by you explicitly, or Groups that once existed, but whose creation were undone via Undo.
- The only way currently to restore an Inactive Group is to Undo their deletion, or Redo their creation, by taking one of the paths I outlined in #1.
You're also correct that once you close the FormIt file, all Inactive Groups are deleted as part of file cleanup and memory management, just like your Undo/Redo stack is deleted too. Inactive Groups only stay around in memory during the FormIt session, in case you use Undo or Redo to bring them back. Note that there's an option in File > Export -> AXM where you can "Include History", which will keep all Undo/Redo states, as well as their associated Inactive Groups, in the file for the next time you open it. This causes the file size to increase, since we're saving a lot of data that would otherwise be deleted, but it could be useful if you ever want to maintain the ability to restore deleted geometry or have Undo/Redo stick around for longer than one session.
By the way, thanks to your post, we noticed an issue with Redo from the Main Sketch. Remember, Undo/Redo from the Main Sketch (not inside a Group) should act like a chronological Undo/Redo system. But in a complex model with many nested Groups that each have Undo/Redo states, Redo may not actually Redo the change you expect, forcing you to Redo multiple times to get to the change that should have been first. We're fixing this! It could have contributed to your experience, but it's hard to know for sure.
We're also adding your feedback to the request to allow restoring Inactive Groups from the Undo Manager, without having to Undo/Redo to get there.
Thanks again for reaching out. Your feedback makes FormIt better!
Josh Goldstein
Senior Product Manager