So, I’ve been a Rhino user for a while and never discovered this helpful feature (and now, current issue) I have. This feature is having your display modes list appear in your right-click menu. While this is very useful if you have a small list of display modes, it is not at all useful if you have a large list. Please see attached images.
I’ve downloaded a fantastic list of display modes on the forum and added them to my list. For me it’s helpful, for others maybe not. Anyway, I originally found a script that allows importing all of your display modes at once. Now I need a script that will do the reverse and unfortunately a default button does not exist to reset this particular option, only the ability to delete them one by one. Does anyone out there know if a script exists or can someone with scripting skills manage to create one to assist in this dilemma? I’m not yet trained myself in assembling Rhino or Python scripts which happens to be my next endeavor.
It might also be helpful if it is possible to change the dropdown menu list order. Does this ability exist?
you should find a restore defaults in your display modes, i have in the mac version… i assume you just have to look a bit around.
if that really does not exist in the windows version, you might be able to clear these by exporting your options with OptionsExport and OptionsImport then check all except view.
I had a script that does just this, so I rewrote it to present a better GUI and a warning.
Use with care and know that IF you delete one of the DEFAULT display modes then they will be restored to default next time you restart Rhino. So it can be used to purge your default display modes as well.
Use with care!
import rhinoscriptsyntax as rs
import Rhino
def deleteDisplaymodes():
### Get displaymodes
displaymodes = rs.ViewDisplayModes()
if not displaymodes: return
### Get selection
selection = rs.MultiListBox(displaymodes, "Select display modes to remove\n (Shift of Ctrl for multiple)", "Remoce display modes", None)
if not selection:
print ("Deletion canceled")
return
### Print warning
message = "Are you really sure you want to delete these displaymodes?\n\n"
for displaymode in selection:
message += str(displaymode)+"\n"
warning = rs.MessageBox(message, 4+16, "WARNING!")
### Check for YES and delete the displaymodes
if warning != 6:
print ("Deletion canceled")
return
### Delete the selected displaymodes
for displaymode in selection:
print ("Removing displaymode: "+str(displaymode))
GUID = rs.ViewDisplayModeId(displaymode)
if GUID:
Rhino.Display.DisplayModeDescription.DeleteDisplayMode(GUID)
deleteDisplaymodes()
I think the sorting is always alphabetical so you would probably need to rename them to 1_displayname, 2_displayname, 3_displayname etc… That has to be done in the displayname setting and then exported again if you want to reimport them later on of course. So a tedious workaround in other words.