2017-10-19 28 views
1

私は2018.1のMayaでworkspaceControlを使用しようとしていて、最後の位置を記憶していない壁に当たっています。私は理由を調べる際に手を使うことができました。Maya 2018.1 python workspaceControl状態が記憶されていない

# 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() 

と産卵/スクリプトエディタやPythonの棚ボタンとしてこれを使用して、それを復元:

import BBTest 
BBTest.curUI.StartUI() 

これが生成されます。このスクリプトのフォルダにBBTest.pyとして

場所少しドッキング可能な窓。あなたがそれを移動してそれをドッキングし、それを閉じた場合(どこからでも)、ドッキングされた場所を覚えていません。それはしかし、サイズの変更を覚えています。

ドッキングして現在のワークスペースで「自動保存ワークスペース」を有効にしている場合は、Mayaが起動してダイアログボックスが表示されますが、何らかの理由で閉じると、フローティングウィンドウとして再表示されます再び。

ドックの状態を覚えておくにはどうすればよいですか?

+0

私は同じ問題があることを確認できます。最初に開くとドッキングしますが、閉じた後はフローティングウィンドウとしてのみ開きます。 –

+0

Hey Green Cellさん、私は、ワークスペースのオプションボタン(Windows>レイアウト>(ワークスペース名)> [] ")を使って、現在のワークスペースのツールの状態を保存し、"ワークスペースレイアウトを自動的に保存 "をオフにすることが解決策であることを発見しました。ドッキングされたツールを使用してレイアウトを保存すると、閉じた後に再起動すると記憶されます。 –

答えて

0

より正式なテストでは、 "closeCommand"を使用するとworkspaceControlが状態を覚えていないことがわかりました。

誰かが自分のクローズルーチンでその機能を回復するために呼び出せるものが分かっていれば、私は知りたいと思う。

他にも問題がありますが、それはオートデスクの実装にまで及んでいますが、ファイルのバグを除いて私ができることはありません。

関連する問題