インタフェース: WorkspaceManager

インタフェース > コア インタフェース > WorkspaceManager

 

   

ビューポート シェーディング - クイック ナビゲーション

   

コア インタフェース - クイック ナビゲーション

   

WorkspaceManager コア インタフェースは、[ワークスペースを管理](Manage Workspaces) ダイアログの機能を MAXScript に公開します。

3ds Max 2013 以降で使用可能です。

   

   

メソッド:

<bool>WorkspaceManager.CreateNewWorkspace <string>identifier <string>friendlyName

最初の引数で指定された識別子文字列と 2 番目の引数で指定されたユーザ フレンドリ名を設定して新しいワークスペースを作成します。

成功した場合は true を、失敗した場合は false を返します。

   

<integer>WorkspaceManager.GetWorkspaceCount()

ワークスペースの数を返します。

   

<string>WorkspaceManager.GetWorkspaceIdentifier <index>index

インデックスで指定されたワークスペースの識別子を返します。

インデックスの基数は 1 です。

   

<string>WorkspaceManager.GetWorkspaceName <index>index

インデックスで指定されたワークスペースのユーザ フレンドリ名を返します。

インデックスの基数は 1 です。

   

<string>WorkspaceManager.GetWorkspaceNameWithIdentifier <string>identifier

指定された識別子文字列のワークスペースのユーザ フレンドリ名を返します。

   

<string>WorkspaceManager.GetCurrentWorkspaceIdentifier()

指定されたワークスペースまたは現在のワークスペースを返します。

   

<bool>WorkspaceManager.SetCurrentWorkspaceByIdentifier <string>identifier

指定された識別子文字列のワークスペースを現在のワークスペースに設定します。

ワークスペースが正常に設定された場合は True、識別子が存在しない場合は False を返します。

   

<bool>WorkspaceManager.DeleteWorkspace <string>identifier

指定された識別子のワークスペースを削除します。

ワークスペースが正常に削除された場合は True、識別子が存在しない場合は False を返します。

   

<String by value>WorkspaceManager.GetWriteDirectory()

ワークスペースのストレージのパスを返します。

   

<bool>WorkspaceManager.SetWorkspaceName <index>index <string>name

インデックスで指定されたワークスペースの名前を 2 番目の引数で指定された名前に設定します。

インデックスの基数は 1 です。

成功した場合は true を、失敗した場合は false を返します。

   

<bool>WorkspaceManager.SetWorkspaceNameWithIdentifier <string>identifier <string>name

インデックスで指定されたワークスペースの識別子文字列を 2 番目の引数で指定された名前に設定します。

成功した場合は true を、失敗した場合は false を返します。

   

<bool>WorkspaceManager.ResetToDefaults <string>identifier

指定された識別子文字列のワークスペースを既定値にリセットします。

成功した場合は True、ワークスペースが存在しない場合は False を返します。

   

format "Workspaces Directory: %\n" (WorkspaceManager.GetWriteDirectory())
theCount = WorkspaceManager.GetWorkspaceCount() --get the number of workspaces
for i = 1 to theCount do --loop through them (one-based!) and print them all
(
	theID = WorkspaceManager.GetWorkspaceIdentifier i --get the identifier
	theName = WorkspaceManager.GetWorkspaceName i --get the user-friendly name
	format "%: ID:'%' Name:'%' \n" i theID theName --print the index, the identifier string and the name
)
currentID = WorkspaceManager.GetCurrentWorkspaceIdentifier() --get the current workspace's indentifier
currentName = WorkspaceManager.GetWorkspaceNameWithIdentifier currentID --get the current name
WorkspaceManager.CreateNewWorkspace "justtesting" "Testing" --create a new workspace
WorkspaceManager.SetCurrentWorkspaceByIdentifier "justtesting" --make the new workspace current
WorkspaceManager.SetCurrentWorkspaceByIdentifier currentID --set the previous workspace as current
WorkspaceManager.SetWorkspaceName (theCount+1) "ToDelete" --rename the new workspace by index
WorkspaceManager.SetWorkspaceNameWithIdentifier "justtesting" "NoReally" --rename the new workspace by identifier
WorkspaceManager.DeleteWorkspace "justtesting" --delete the new workspace by identifier

リスナー出力

Workspaces Directory: C:\Users\YourName\AppData\Local\Autodesk\3dsMax\2013 - 64bit\ENU\en-US\UI\Workspaces
2
1: ID:'alternate' Name:'Alternate' 
2: ID:'standard' Name:'Standard' 
"standard"
"Standard"
true
true
true
true
true
true

   

<bool>WorkspaceManager.GetRunScript <string>identifier

指定された識別子のワークスペースの[スクリプトを起動](Run Script)の状態を返します。

True の場合、ワークスペースに関連付けられている開始および終了スクリプトが実行されます。

False に設定すると、スクリプトは無視されます。

<void>WorkspaceManager.ToggleRunScript <string>identifier

指定された識別子のワークスペースの[スクリプトを起動](Run Script)オプションを切り替えます。

これを WorkspaceManager.GetRunScript とともに使用して、オプションの状態を変更できます。

たとえば、オプションをオンにするには、現在 False に設定されているかどうかをチェックし、設定されていれば切り替えます。

theWS = WorkspaceManager.GetWorkspaceIdentifier 1
if not (WorkspaceManager.GetRunScript theWS) do WorkspaceManager.ToggleRunScript theWS

   

<filename>WorkspaceManager.GetEntryScript <string>identifier

指定された識別子のワークスペースに関連付られている開始スクリプトのファイル名を返します。

開始スクリプトは、ワークスペースがロードされるときに実行される MAXScript です。

<bool>WorkspaceManager.SetEntryScript <string>identifier <filename>script

2 番目の引数で指定された開始スクリプトのファイル名を、1 番目の引数として渡される識別子によって指定されるワークスペースに関連付けます。

成功した場合は True、識別子が既存のワークスペースを示していない場合は False を返します。

このメソッドは、指定されたスクリプトが有効かどうか、あるいは指定のパスに存在するかどうかをチェックしないことに注意してください。

   

<filename>WorkspaceManager.GetExitScript <string>identifier

指定された識別子のワークスペースに関連付られている終了スクリプトのファイル名を返します。

終了スクリプトは、別のワークスペースがロードされたために現在のワークスペースが終了するときに実行される MAXScript です。

<bool>WorkspaceManager.SetExitScript <string>identifier <filename>script

2 番目の引数で指定された終了スクリプトのファイル名を、1 番目の引数として渡される識別子によって指定されるワークスペースに関連付けます。

成功した場合は True、識別子が既存のワークスペースを示していない場合は False を返します。

このメソッドは、指定されたスクリプトが有効かどうか、あるいは指定のパスに存在するかどうかをチェックしないことに注意してください。

   

<integer>WorkspaceManager.GetAllSubsystemsCount()

すべてのサブシステムの数を返します。

   

<string>WorkspaceManager.GetSubsystemName <index>index

インデックス付きのサブシステムの名前を返します。

   

<bool>WorkspaceManager.IsSubsystemSaving <string>identifier <string>subSystemIdentifier

1 番目の引数により名前で指定されたサブシステムが、2 番目の引数により与えられる識別子のワークスペースが保存されるときに保存される場合は True を、そうでない場合は False を返します。

<bool>WorkspaceManager.ToggleSubsystemSaving <string>identifier <string>subSystemIdentifier

1 番目の引数により指定されたインデックス付きのサブシステムが、2 番目の引数により与えられる識別子のワークスペースが保存されるときに保存されるかどうかを切り替えます。

新しい保存状態を返します。

   

<bool>WorkspaceManager.IsSystemWorkspace <string>identifier

指定された識別子により指定されるワークスペースがシステム ワークスペースの場合は True、そうでない場合は False を返します。

   

for w = 1 to WorkspaceManager.GetWorkspaceCount() do
(
	theWS = WorkspaceManager.GetWorkspaceIdentifier w
	theWSName = WorkspaceManager.GetWorkspaceName w
	isSystem = WorkspaceManager.IsSystemWorkspace theWS
	format "\n%:% Workspace ID: % | Name:\"%\"\n" w (if isSystem then "SYSTEM" else "Custom") theWS theWSName
	for i = 1 to WorkspaceManager.GetAllSubsystemsCount() do 
	(
		theName = (WorkspaceManager.GetSubsystemName i)
		isSaving = (WorkspaceManager.IsSubsystemSaving theName theWS)
		format "\t%: % | isSaving:%\n" i theName isSaving
	)
)

サンプル出力

1:SYSTEM Workspace ID: Workspace1 | Name:"Workspace: Default"
	1: kMeta | isSaving:false
	2: kCui | isSaving:true
	3: kViewportPresets | isSaving:false
	4: kMenu | isSaving:true
	5: kHotkeys | isSaving:false
	6: kRibbon | isSaving:false

2:Custom Workspace ID: Workspace2 | Name:"Alternate Layout"
	1: kMeta | isSaving:false
	2: kCui | isSaving:true
	3: kViewportPresets | isSaving:false
	4: kMenu | isSaving:true
	5: kHotkeys | isSaving:false
	6: kRibbon | isSaving:false

3:Custom Workspace ID: Workspace3 | Name:"Viewport Layout Tab Presets"
	1: kMeta | isSaving:false
	2: kCui | isSaving:true
	3: kViewportPresets | isSaving:false
	4: kMenu | isSaving:true
	5: kHotkeys | isSaving:false
	6: kRibbon | isSaving:false
OK