Description
Paramètre le mode d’affichage de tous les details (sur le layout actif). Utile pour rapidement paramétrer tous les details du layout actif sur “Hidden”, le mode d’affichage de VisualArq.
Voir aussi le script SetDetailDisplayModeAllLayouts.
Le script suivant fonctionne sur :
- Rhino pour Windows ;
- Rhino pour macOS ;
- Le mode d’affichage “Hidden” est spécifique à VisualArq, il requiert donc l’installation du plugin VisualArq.
Script par MLAV.LAND, sous licence GNU GPL 3.
Code
import rhinoscriptsyntax as rs
import scriptcontext as sc
import Rhino
def SetDetailDisplayModes():
modes = Rhino.Display.DisplayModeDescription.GetDisplayModes()
mode = None
modeNum = 0
if sc.sticky.has_key('DETAIL_MODE'):
modeNum = sc.sticky['DETAIL_MODE']
if len(modes) == 1:
mode = modes[0]
else:
mode = modes[modeNum]
go = Rhino.Input.Custom.GetOption()
go.SetCommandPrompt("Select display mode")
str_modes = []
for m in modes:
s = m.EnglishName.replace(" ","").replace("-","")
str_modes.append(s)
go.AddOptionList("DisplayMode", str_modes, modeNum)
if go.Get()==Rhino.Input.GetResult.Option:
mode = modes[go.Option().CurrentListOptionIndex]
modeNum = list(modes).index(mode)
sc.sticky['DETAIL_MODE'] = modeNum
if not mode: return
view = sc.doc.Views.ActiveView
if isinstance(view, Rhino.Display.RhinoPageView):
dets = view.GetDetailViews()
if not dets: return
for det in dets:
view.SetActiveDetail(det.Id)
rs.ViewDisplayMode( mode = mode.EnglishName)
#det.Viewport.DisplayMode = mode
pass
view.SetPageAsActive()
sc.doc.Views.Redraw()
pass
print("Display mode applied to layout :)")
if __name__ == '__main__':SetDetailDisplayModes()