2017-10-19 3 views
1

Ich versuche WorkspaceControl in Maya 2018.1 zu verwenden und habe eine Wand in es nicht zu erinnern, es ist letzte Position. Ich könnte eine Hand benutzen, um herauszufinden, warum.Maya 2018.1 Python WorkspaceControl nicht erinnern Status

Diese in Ihrem Skript Ordner als BBTest.py:

# BBTest.py 
import pymel.core as pm 

WorkspaceName = 'WorkspaceWinBoo' 

class BBTest(object): 
    def StartUI(self): 
     if pm.workspaceControl(WorkspaceName, query=True, exists=True) is False: 
      pm.workspaceControl(WorkspaceName, uiScript = 'from BBTest import curUI\ncurUI.buildUI()', closeCommand='from BBTest import curUI\ncurUI.CloseUI()') 
     else: 
      pm.workspaceControl(WorkspaceName, edit=True, restore=True) 

    def CloseUI(self): 
     if pm.workspaceControl(WorkspaceName, query=True, exists=True): 
      pm.workspaceControl(WorkspaceName, edit=True, close=True) 


    def buildUI(self): 
     WinLayout = pm.columnLayout(adjustableColumn=True) 
     pm.button(label='Do Nothing') 
     pm.button(label='Close', command=pm.Callback(self.CloseUI)) 

curUI = BBTest() 

und Laich/wiederherstellen diesen Editor in Ihrem Skript verwenden oder als Python Regal-Taste:

import BBTest 
BBTest.curUI.StartUI() 

Diese erzeugen ein kleines andockbares Fenster. Wenn Sie es bewegen und andocken, schließen Sie es (auf irgendeine Weise), es wird sich nicht erinnern, wo es angedockt wurde. Es erinnert sich zwar an Größenänderungen.

Wenn Sie es andocken und Maya beenden (mit aktiviertem Arbeitsbereich "Autosave" im aktuellen Arbeitsbereich), wird Maya gestartet und zeigt den angedockten Dialog an. Wenn Sie ihn jedoch schließen, wird er als unverankertes Fenster angezeigt nochmal.

Wie bekomme ich es zu erinnern, ist es Dock-Status?

+0

Ich kann bestätigen, dass ich das gleiche Problem habe. Es wird beim ersten Öffnen angedockt, aber nach dem Schließen wird es nur als schwebendes Fenster geöffnet. –

+0

Hey Green Cell, ich fand eine Lösung darin, den Werkzeugstatus für den aktuellen Arbeitsbereich zu speichern, indem Sie die Optionsschaltfläche des Arbeitsbereichs (Windows> Layouts> (Name Ihres Arbeitsbereichs)> []) verwenden und "Arbeitsspeicherlayout automatisch speichern" deaktivieren. Speichern Sie Ihr Layout mit angedocktem Werkzeug und es wird beim Neustart nach dem Schließen gespeichert. –

Antwort

0

Also durch mehr formale Tests, habe ich festgestellt, dass die Verwendung von "closeCommand" verhindert, dass workspaceControl den Zustand zu erinnern.

Wenn jemand weiß, was ich in meiner eigenen nahen Routine anrufen könnte, um diese Funktionalität wiederherzustellen, würde ich gerne wissen.

Es gibt andere Probleme, aber das hängt von der Implementierung von Autodesk ab. Abgesehen von Dateifehlern kann ich nichts dagegen tun.