History

Toolbar Menu Status bar

History
Main
Main2
Tools

Not on menus.

Record History

The History command stores the connection between a command's input geometry and the result so that when the input geometry changes, the result updates accordingly.

For example, with History recording and Update turned on, a lofted surface can be changed by editing the input curves.

Steps

  1. In the status bar, click the Record History pane.

    • Clicking the Record History pane only records History for the current or next command.

    • Right-click the Record History pane and enable Always Record History to record History for all commands that support History.

  2. Use a history-enabled command such as the Loft command to make a surface from input curves.

  3. Edit the input curves.
    The surface updates.

  • Parent and child objects will stay connected if they are cut/copy-pasted, or moved together.

Command-line options

Record

Controls the default Record History setting.

In general, it is best to leave the Record option set to No and use the Record History status bar pane to selectively record history. Recording history uses computer resources and makes saved files larger.

Update

Allows output to automatically update when input is edited. This may be slow or may interfere with your workflow.

If the option is set to No, use the HistoryUpdate command to manually update the objects.

Lock

Locks child objects created with History to discourage direct geometry editing of the child object. Editing the child object directly will break the history link to the parent object.

History locked objects are selectable to use as input and edit properties, but not change geometry. If full locking is needed, children can be selected and locked with Lock command.

The selection filter toolbar flashes if you try to select a object that is filtered out. Trying to drag or otherwise transform an object with history now displays the error message, "Unable to transform X history locked objects" if "Lock children" is selected.

To temporarily disable History locking in a command session, start the command with "!&". Details...

BrokenHistoryWarning

Displays a warning dialog when an action is taken that breaks the link between the output and input objects. To get back, use the Undo command.

Cautions

The connection between the input objects and the output object is easily broken. The basic rules for preserving history are:

  • Do not purge the history from the child (output) surfaces.
  • Do not delete the parent geometry (input objects - curves, surfaces, etc.) that was used to create the child surface.
  • Do not control-point edit or move the child surface.
  • Do not move parents and children together.
  • Joining objects breaks history on the objects.
  • History stored in previous versions of Rhino may not carry over to a later version.
RecordAnnotationHistory

Turns History recording on/off for dimension commands. Yes is the default value.

Overriding History Options

  • The status bar Record History pane reflects the current state of history recording. Click the pane to toggle the global setting for the duration of one command. If the text in the pane is bold, then recording is active, if it is not bold, recording is not active.
  • Change the option using the History command. This command can be run inside another command. It can also be included in a macro. This setting does not quit after one command. It must be explicitly changed.
  • History can be recorded without the output geometry being updated when inputs are edited.
  • Dimensions have History recorded by default. The default History recording behavior is controlled by the RecordAnnotationHistory option in the History command.

Command prefixes for turning history on and off

Type these shortcut symbols before a command name to enable/disable history recording

# (hash)

Enables history recording for the following command.

For example: #ArcBlend

% (percent)

Disables history recording for the following command.

For example: %ArcBlend

Commands with history enabled

Commands with the following notation pay attention to history recording.

 History enabled

These commands can make use of history recording.

Related commands

HistoryUpdate

Toolbar Menu Status bar

History

Not on menus.

Record History >

Update Children

The HistoryUpdate command redefines the object based on editing its parents.

Steps

Command-line option

All

Updates all objects.

HistoryPurge

Toolbar Menu

History

Not on menus.

The HistoryPurge command removes history from an object and its children.

History records can add to the file size so purging unneeded history may a good idea at times.

Warning

HistoryPurge cannot be undone.

Steps

  • Select the objects to remove history data.
  • Select the All option to remove history data from every object in the model.

Command-line options

All

Removes history data from all objects in the model.

SelChildren

Toolbar Menu

History
Select History

Edit

Select Objects >

History >

Children

The SelChildren command selects child objects of the currently selected objects.

Command-line options

(These options are not visible with pre-selection.)

All

If no objects are selected, the All option will select all child objects.

DeselectOthersBeforeSelect
Yes

Remove the current object from selection when its child object is added.

Repeat the SelChildren command.
No

Keep the current object in selection when its child object is added.

Repeat the SelChildren command.
IgnoreAnnotations

Do not select annotation objects created with History recorded.

SelParents

Toolbar Menu

History
Select History

Edit

Select Objects >

History >

Parents

The SelParents command selects parent objects of the currently selected objects.

Command-line options

(These options are not visible with pre-selection.)

All

If no objects are selected, the All option will select all parent objects.

DeselectOthersBeforeSelect
Yes

Remove the current object from selection when its parent object is added.

Repeat the SelParents command.
No

Keep the current object in selection when its parent object is added.

Repeat the SelParents command.

See also

Edit objects using history

History Explained - 1/2