Wish for Four Square View: Simultaneous Mode Changing

If one is working in the Four Square View, it would be quite handy (and a real time saver) to also have an option to change the viewing mode of all four windows simultaneously.

For example, one could go from Shaded to Rendered in all four windows by (possibly doing something like) holding down the Option key while Right Clicking “Rendered” anywhere on the screen.

Perhaps something like this already exists and I’m not aware of it? Apologies if so!


You could create one or more buttons/keyboard shortcuts for the following scripts…

SetAllViewsWireframe.rvb (329 Bytes)

SetAllViewsShaded.rvb (323 Bytes)

SetAllViewsGhosted.rvb (636 Bytes)

SetAllViewsRendered.rvb (327 Bytes)

SetDisplayModeAllViews.rvb (539 Bytes)

The Ghosted will only work with an English Rhino and only if a Ghosted mode is present. The last will pop up a listbox to choose from all your available display modes, not just the three basic.


Ahh, sorry, MAC… Didn’t read the title… None of the above will work. :confounded:

You can try the following on a Mac but not sure how to set them up - best thing would be to use an alias, as I’m not sure you can make your own custom buttons yet… Again, these will only work on an English system, but if you want to edit the script (very easy) you can put in what you like. Just edit the following line:

viewtype="Wireframe" (or whatever mode) change that to the equivalent in your language. Make sure the capitalization matches.


SetAllViewsWireframe.py (224 Bytes)

SetAllViewsGhosted.py (222 Bytes)

SetAllViewsShaded.py (221 Bytes)

SetAllViewsRendered.py (223 Bytes)

Greatly appreciated, Mitch! New to Python in MacRhino, but glad for the nudge since I’ve been meaning to dig into this for some time.

My IronPython install seems to be working with the samples, but unfortunately, I get an error with your scripts when running them from the command line.

Exception Occurred
Message: ‘module’ object has no attribute 'ViewDisplayModes’
line 3, in , “/Users/Dirt/Library/Application Support/McNeel/Rhinoceros/Scripts/SetAllViewsRendered.py”

Your file is:
import rhinoscriptsyntax as rs
views = rs.ViewNames()
modes = rs.ViewDisplayModes()
if viewtype in modes:
for view in views:
rs.ViewDisplayMode(view, view type)

Guidance welcomed, if you have any!


Yeah, I do unfortunately… I didn’t test on my Mac - as you might have figured, I’m primarily a Windows guy - and that message means the method is not (yet) implemented in MacPython (which is behind Windows Python)… So… you’re sorta out of luck with a scripted solution for the moment… However…

You CAN create an alias:

'_ShadedViewport _NextViewport _ShadedViewport _NextViewport _ShadedViewport _NextViewport _ShadedViewport _NextViewport

That should work in a 4 viewport config for now, until some of the other stuff gets implemented. For wireframe use _WireframeViewport instead of shaded, _GhostedViewport for ghosted, and for rendered use _RenderedViewport.

I think that’s the best I can do for now on the Mac… Sorry about the false hopes…