Reversing Actions

This task shows you how to reverse actions.
  1. Open at least one object and perform actions that can be reversed.

    In this scenario, the object looks like this:
  2. Click Undo in the Standard toolbar or select Edit > Undo xxx (or press CTRL+Z), "xxx" corresponding to the name of the last action performed.

    This cancels the action.
  3. If you want to reverse one or more actions preceding the last one you simply have to repeat step 1.

    Sometimes no action can be undone. When this is the case, the command is grayed out.

    By default, a maximum of 10 global undo actions is possible. This maximum can be changed in the PCS tab.

  4. If you want to display an history of actions that can be reversed in the active document, click Undo with history :

    The name of the document in which you are about to reverse actions is displayed at the top of the dialog box (where you can see "Search1.CATProduct").

    The Undo with history dialog box lets you choose the actions to be reversed from the numbered list displayed in the bottom part, the most recently performed action being displayed at the top of the list.

    Each action is identified by its name, for instance "Properties Edition" refers to Edit > Properties.

    When you run a command or or when you start editing an object, you start a global action. Such action is identified in the Undo with history dialog box by a name beginning with "Start" (e.g. "Start line definition...", "Start Edition : Part xxx", etc.).
    Inside a command, you perform internal transitions and some of them are displayed in the Undo with history dialog box with a name ending with "..." to distinguish them from global commands (e.g. "Select search results...").
    When a command is over, local actions are committed and replaced in the Undo with history dialog box by a global action representing everything you did while running the command.
    Note that a global action can sometimes be seen as a local action from a more global point of view: this is the case, for instance, for an exclusive command performed while editing, or for a shared command used while running another command.

    You can reverse then recover internal transitions as long as you are in the command. If several Undo actions are performed successively until the command's starting action is reversed, the command itself is reversed.

    For instance, suppose the following scenario with two different cases:

    1. Copy an object.
    2. Paste the object.
    3. Select the object then move it.

    Case 1
    Click Undo: this moves the object back to its original position in step 2.
    Click Redo: this moves the object to the location defined in step 3.
    You can reverse then recover the move because you are still in the Select command.

    Case 2
    Click Undo: this moves the object back to its original position in step 2.
    Click Undo once again: the paste action is canceled and you go back to step 1.
    Click Redo: the object is pasted.
    But you cannot recover step 3 after this and if you display the history, you can see that it is empty. You cannot recover the move because the second reversal impacts the Paste command and not the Select command anymore.

    To reverse the first action only, click Undo in the dialog box because the first action is already highlighted in the list: the action is reversed and removed from the history.
    To reverse the first four actions, all you need to do is click the last action to be reversed (i.e. the fourth one in our example): clicking an action implies that all former actions are selected as well and thus, reversed in order to keep the history.
    If you change your mind and decide to reverse the first two actions instead, click the second action in the list: only the first two actions are selected and not the first four anymore.
    Bear in mind that one history is used per document ; the history of actions is not forwarded from one document to another. As a consequence, reversing actions in a document opened several times simultaneously (e.g. when opening a CATPart and a CATProduct containing this CATPart) may corrupt data. It is recommended not to reverse actions in a document that has been modified in another window.
  5. When satisfied with your selection, click Undo in the dialog box to reverse all the selected actions.The dialog box stays open and you can keep on reversing actions.
    In this scenario, "Line definition" has been selected which means that the line and offset creation has been reversed. The result now looks like this:

  6. If necessary, click Flush or Flush All to remove finished global actions from the undo log as follows:
    • Flush lets you remove from the Undo history all finished global actions performed in the current editor.
    • Flush All lets you remove from the Undo history all finished global actions performed in all open editors.
    These buttons let you manage more precisely the Undo log without modifying the Stack size value in the PCS tab and help you consume less memory.

  7. To close the Undo with history dialog box, click Close.

 

More about the Undo capability

  • Undo cancels the last action only (i.e. the last single click) and therefore, if a command has been run by double-clicking, it cannot be reversed via Undo.
  • You can undo the UI-Activation (User-Interface Activation) of an object but note that this also cancels any other action performed during the object's activation.
  • The Redo stack is emptied as soon as you perform a new action (except an Undo action, of course). This means that if you reverse an action, then perform this action again using a different method, you will not be able to recover this action because the Undo/Redo mechanism considers that two different actions have been performed even if both actions give the same result.
  • Each editor has its own Undo/Redo log. When a component is open in several editors (e.g. through Open in New
    Window
    ), switching from one editor to another flushes the Undo/Redo log of the first editor so that no change done prior to
    the switch can be reversed. This prevents the model from being potentially corrupted.
  • The Select command is specific: as this is the default command in many cases, no starting action is stored in the Undo stack and therefore, this command cannot be stopped unless you run another exclusive command. However, like other commands, every local action (including shared commands) performed while running the Select command is committed when another exclusive command is run.
  • Default settings (modified via Tools > Options) cannot be restored using Undo . This can only be done using Reset at the bottom of the Options dialog box. For more information, refer to Resetting Default Settings Without Locks.
  • There are several ways to cancel a command that is running: clicking Cancel in a dialog box, deactivating the icon command, starting a new command, or activating another editor.
    The result is that any action you may have performed between the command creation and the canceling action is reversed.
    For user convenience some commands keep modifications from the previous editor when activating a second editor. This is the case for the Sectioning command, for instance.
    Example:
    • When using the Sectioning command in a first editor, activate a second editor.
      Modifications done in the first editor are kept in the second editor.
    • When in the second editor, use the Pad command till its end to create a pad.
    • Reactivate the first editor window: the Sectioning command is re-activated. Use the Sectioning command, then click OK.
      • If you click Undo in the first editor, it will reverse only actions performed from the reactivation of the editor to the end of the Sectioning command.
      • If data are shared between both editors and you want to undo modifications performed by the Sectioning command when in the first editor for the first time, you must:
        • Activate the second editor, click Undo
        • Then, activate the first editor and click Undo.
  • Expanding or collapsing a geometrical set in the tree amounts to running a command. When the expand/collapse command is over (because you run another command or an Undo/Redo), a new Undo step linked to the selection you made when expanding/collapsing the geometrical set is created and displayed in the Undo with history dialog box. This behavior has an impact on the number of reversed/recovered steps in the following two cases.
    • Case 1: the Undo stack is full (i.e. the maximum number of Undo steps (N) defined in the PCS tab is reached). Then, you expand/collapse a geometrical set (this action is not yet stored in the Undo stack and thus, is not visible in the Undo with history dialog box). When you click Undo , this ends the command managing the expand/collapse action and a new step is added to the Undo stack (and as the stack is full, the oldest step is removed). Because the selection command has been ended by the Undo mechanism, reversing the expand/collapse command impacts two steps: the one linked to the selection and the one linked to the expand/collapse command itself. Therefore, the Undo stack contains N-2 Undo steps.
    • Case 2: you click Undo which means that a Redo step is displayed in the Redo with history dialog box. Then, you expand/collapse a geometrical set (this action is not yet stored in the Undo stack and thus, is not visible in the Undo with history dialog box). When you click Redo , this ends the command managing the expand/collapse action and a new Undo step is created. The Redo stack is emptied (which means that no action can be recovered anymore) and a selection step is displayed in the Undo stack.