Unhide/show last?

I use Hide/Unhide All/Last in Sketchup constantly. Is there an equivalent to “Unhide last” in Rhino. Or could I make such a macro/command?

Hello -




And the named hide buckets in the Visibility toolbar are all probably at least partly what you want.


I’m back at this again. None of the listed commands does what I want. As I hide objects, I often want to unhide the last one without affecting the display of everything else and without typing several keys. I could Ctrl+Z, but I’m usually hiding object to see what I’m doing before executing other commands. Ctrl+Z would undo those. How could I make Ctrl+L = “unhide last object hidden”?

Hello - if you use Isolate ‘carefully’ - that is don’t use it twice in a row without Unisolate, then that will do what you want. You can do exactly the same thing by setting up your own hide buckets. Other than that, a script…

ShowSpecial.py (416 Bytes)

HideSpecial.py (270 Bytes)

To use the Python script use RunPythonScript, or a macro:

_-RunPythonScript "Full path to py file inside double-quotes"


I really don’t know how to use scripts. I tried “run python script” and choosing them but it gives errors. I’m obviously doing it wrong.
What I want is a key stroke that unhides the last hidden object with out affecting anything else. (Also, I don’t know what a “hide bucket” is.)

Pardon my ignorance, but is there a way to make a Shortcut/Alias of my choice that can do that using your scripts? If so, could you show me the steps?

Depends on the error… it could be me. What is the error message, exactly?
Use the macros I suggested on a keyboard shortcut or alias to make these work, assuming they work, which they seemed to OK, here, more like commands.


Ok. HideSpecial worked. Tools>Python Script>Run>ShowSpecial.py. I selected the cylinder and it hid. However, ShowSpecial.py gave an error.

I’m still not sure how I would use these? The normal Hide command works for hiding. So I don’t know if I need “Hide spacial.” I’m assuming ShowSpecial, reads the hidden history and shows the last selected object?

Hello - ShowSpecial updated above - should get rid of that error - sorry about that.
HideSpecial should behave just like Hide, but if you use HideSpecial, you can show just the last things hidden by HideSpecial with ShowSpecial. Personally, I’d use Isolate/Unisolate.


So, to test. I hide the cube. I then hide the cylinder, then I hide pyramid. Three object hidden at different times. I want to unhide the pyramid the last hidden object. However, running ShowSpecial unhides the cylinder, the second object hidden. Also error as shown.

I use Isolate/Show when using Rhino. However, for my workflow I use Sketchup’s “Unhide Last” non-stop. I was hoping for similar in Rhino as I transition.

Just so you know, I truly appreciate your efforts.

Hello - am I correct that you are using Hide and then ShowSpecial? How about with HideSpecial and then ShowSpecial? The errors you’re seeing, which are dumb, on my part, and fixed above, would, I think, only show if objects are not hidden with HideSpecial.


Using “HideSpecial” to hide and “ShowSpecial” to unhide worked to unhide the last object. However, still getting an error


Hello - - re-download the script, I fixed that one earlier…


Sweet! It now work exactly like I want. H=hide, L=unhilde last. Thanks so much.

1 Like

hi pascal

love this script

i seem to be able to -hidespecial- multiple times, but -showspecial- stops after one run, is it possible to -showspecial- multiple times as well, right back to the start, kind of how do/undo works?

Hi Vincent - I’ll have a look - I do not recall off hand how I’m keeping track, but I do not think it is more complicated than the built in Rhino Hide and Show buckets. Keeping track of the hide sequence might be a bit tricky to make reliable.


would be awesome

tx in advance

looking forward to it

Hi @pascal thanks for these scripts! I plan to use them when inside Blocks (since the Isolate/Unisolate will show geo outside the Block even when they here hidden before going into the Block - :frowning: ) I’m getting this error. It doesn’t like my semi-colon, it seems… Thanks, as always.

Hello - I do not know about that error - it lools like the actual error is that the script path is incomplete -you need the name of the script in there:

“G:\My Drive\Scripting\MatchObjectToLayerColor.py”


Ha, of course I do. Thanks.