How can I set an alias for selectively recording history

I’d like to modeling with full screen mode, I want to set an alias for selectively recording history, like ‘Record History’ in pane,

I know ‘History’ tool allow me to record history, but problem is ‘History’ tool must call for toggle manually. so how can I set an alias for selectively recording history once.

I think you’ll get a better answer if you ask a more detailed question, and fully explain what you want the alias to do.

  1. What do you mean by toggle?
  2. What operation regarding history do you currently use that want to turn into a alias?’
  3. Are you referring to starting record and stopping record?
  4. Are you referring to updating children during a command?
  5. Selectively updating children during a command?

So option ideas to your question are
-using prefixes before command to enable or disable the actual recording(see below)
-using toggle button on the bottom panel during or after command
-using the command and its options (before your current operation via button, alias, actual command name&line, hotkeys to stored macro(possibily containing command)
-making macros that specify command options of History
-alias the macro, or script

Toggles on the panel are built into rhino, and macros cannot access toggle features that do not in some way report to the command line, and possibly change your operation, that I am aware of as I was wondering the same thing for my osnap macro buttons that change from current osnaps to only certain osnaps such as “only end”.

With scripting, it certainly may be possible to access toggle features within commands, but I do not believe macros can. Someone please correct me and tell me how if it is possible with macros though! So, your alias either runs a macro or a script.

If you are asking what I think you may be asking by having a similarity with my osnap macro issue, then scripting is the answer. If you do not know scripting though…Unless someone is kind enough to write one real quick and then be able to alias it, you may be out of luck.

Also, see overriding history below or in help. It says recordhistory command can be run inside a command and a macro run it, and within a command. Therefore, you can alias it, and hotkey it and it will then work easily inside a command.

copied from help…

Command prefixes for turning history on and off

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


Enables history recording.

For example:


% (percent)

Disables history recording.

For example:


Overriding History Options
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.

HistoryUpdate command

Redefines the object based on editing its parents.


Select the objects.



Updates all objects.

Option of History Command

Controls the behavior of the output object when the input changes.


All commands that record history will automatically update output from edited input.


The output object is not updated. Use the HistoryUpdate command to manually update the objects.

The “hash” symbol # will enable history recording as a one shot if it is not currently enabled; the percent % symbol disables it as a one shot if it is enabled.

So, if you have History recording disabled and you want to enable it for just one command, a macro would look like this (I use ExtrudeCrv as an example):

! #_ExtrudeCrv

So, just create your alias with that in mind…

HTH, --Mitch

A little hijacking here, but it would be really cool, if we could enable history recording while command is running - by entering a hash on command line, for example. Same goes for disabling.

1 Like

in the status bar, click the ‘Record History’ pane, ‘Record History’ changes to bold. then I use ‘Mirror’ command to make a curve from an existing curve, notice that ‘Record History’ pane would turn off. but the output curve will updates while I edit the input curve.
however, if I set alias for ‘History’, the ‘Record History’ pane will always be bold unless I click the pane or use command to turn it off. My command macro is “! _History _Record _Update _Lock=_No _BrokenHistoryWarning=_No _Enter”

What I exactly want is how could I set the command macro to achieve the same function of clicking the ‘Record History’ pane

I set the macro like “! #_History” but history doesnt record for one shot :pensive:

Hi, you can use keybord shortcuts to turn history on or off.
If you use an apostrohe it works as a nested command i.e. inside of running commands:

Ctrl + K = '_History _Record=_Yes _Enter
Ctrl + Shift + K = '_History _Record=_No _Enter

Or just use # or % before evoking the commands.

I knew but I just dont want to turn history off manually. what i want is a macro replacing click ‘Record History’ pane. you will find out what i want after you try two methods between click the ‘Record History’ pane and use the ‘History’ tool

like this?

! _History R _enter

edit… oh wait… that’s basically the same thing jess wrote as his first shortcut :oops:
i’m not sure what you’re trying to do then… i’ll try to read the thread more clearly

I mean i just want to record history for one shot, if i set the macro like ‘! _History _Record _Enter’ , i must turn it off manually. i dont want always record history . (right click the record history pane you can see it)

ok… right… i think i see what you’re saying with the mirror example earlier.
and no, i don’t know of a way to do that.
(not saying it’s not possible… just that i don’t know how)

anyway, thanks for reply. :pensive:

btw, do you know how to display status bar temporarily in full screen mode

Well that’s the toggle. But since there is no feedback or visual indicator in fullscreen I’d prefer a separate on and off shortcut to avoid potential trouble.

But obviously we both seem to be on the wrong track?!? :confused:

yes but i’m on mac so i don’t think it’s going to do you much good :wink:

If you see my example above, you don’t do that. You simply put the hash sign in front of the command you want to record for.

Not ! _#History… Instead: ! #YourCommand...

Quick video. Note that the hash sign actually does activate the status bar panel while in the extrude command but then deactivates it again after.

Edit, ah, I think I see what your saying, looks like it doesn’t deactivate afterwards… So I guess you also need to use the % sign afterwards. Hang on… Hmm, looks like I also found a bug, using % crashed Rhino… :confounded:



Well, looks like you might need a % sign to turn off history recording afterward, but that currently crashes Rhino, so I can’t test.

In any case I think # only works in conjunction with a command, so if you are looking for a way to turn on history for a one shot without having it integrated into a command macro, I think you’re out of luck for the moment…