ジャンプ先: 概要. 戻り値. 関連. フラグ. Python 例.

概要

workspace( [string] , [active=boolean], [baseWorkspace=string], [create=string], [directory=string], [expandName=string], [fileRule=[string, string]], [fileRuleEntry=string], [fileRuleList=boolean], [filter=boolean], [fullName=boolean], [list=boolean], [listFullWorkspaces=boolean], [listWorkspaces=boolean], [newWorkspace=boolean], [objectType=[string, string]], [objectTypeEntry=string], [objectTypeList=boolean], [openWorkspace=boolean], [projectPath=string], [removeFileRuleEntry=string], [removeVariableEntry=string], [renderType=[string, string]], [renderTypeEntry=string], [renderTypeList=boolean], [rootDirectory=boolean], [saveWorkspace=boolean], [shortName=boolean], [update=boolean], [updateAll=boolean], [variable=[string, string]], [variableEntry=string], [variableList=boolean])

注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。

workspace は、取り消し可能、照会可能、および編集不可能です。

指定したワークスペース ファイルに従って、ワークスペースを生成したり、開いたり、編集したりします。

この文字列引数はワークスペースを表します。ワークスペースが指定されていない場合、現在のワークスペースが指定されたものとみなされます。

ワークスペースは Maya プロジェクトの基本となる定義を提供します。各プロジェクトには workspace.mel という関連付けされたワークスペース ファイルがあり、プロジェクトのルート ディレクトリに保存されています。ワークスペース ファイルは、ファイル タイプをルート ディレクトリに対して相対的または絶対的な保存場所にマップする一連の規則を定義します。この規則は、実行時にファイル パスを解決する際に使用されます。

ワークスペース コマンドは、定義の基本ファイルへの読出し、変更、保存時には、ワークスペースの低レベルの定義で直接動作します。このコマンドを使用する必要はほとんどありません。通常は、プロジェクト定義の変更はユーザ インタフェースのプロジェクト ウィンドウを介して行うことをお勧めします。複数のアクションは、指定されたパスが存在するという前提に基づきます。

戻り値

要求されたアクションによります。
string「shortName」フラグを照会する場合は、プロジェクトのショート ネームです。
string「fullName」 フラグを照会する場合は、プロジェクトのフル ネームです。
string「openWorkspace」フラグを照会する場合は、現在のワークスペース名です(現在のワークスペースがある場合)。
string「directory」フラグを照会する場合は、作業スペースのディレクトリです。
string「renderTypeEntry」、「fileRuleEntry」、または「objectTypeEntry」フラグを照会する場合は、現在のワークスペースのファイル ルールです。
string「variableEntry」フラグを照会する場合は、現在のワークスペースのファイル ルールです。
string「expandName」フラグを照会する場合は、指定したファイル名または現在のルート ディレクトリ(名前が指定されていない場合)の解決済みのフル ネームです。
string「projectPath」フラグを照会する場合は、現在のプロジェクト ワークスペースのパスです。
string「baseWorkspace」フラグを照会する場合は、現在のベース ワークスペースの名前です。
string「rootDirectory」フラグを照会する場合は、現在のワークスペースのルート ディレクトリです。
string[]「fileRule」フラグを照会する場合は、ファイル ルールのリストです。
string[]「variableList」フラグを照会する場合は、変数のリストです。
string[]「listWorkspaces」フラグを照会すると、すべてのワークスペースのリストです。
string[]「listFullWorkspaces」フラグを照会する場合は、すべてのワークスペースのフルネームのリストです。
string[]「list」フラグを照会する場合は、指定されたディレクトリ内のすべてのワークスペースのパス名のリストです。ディレクトリが指定されていない場合は、現在のワークスペースのパス名のリストです。
string[]現在のワークスペースのファイル ルールに対応する代替(ファイル ルール、ルールの位置)文字列のリストです。
string[]現在のワークスペースの変数に対応する代替(変数、値)文字列のリストです。

照会モードでは、戻り値のタイプは照会されたフラグに基づきます。

関連

translator

フラグ

active, baseWorkspace, create, directory, expandName, fileRule, fileRuleEntry, fileRuleList, filter, fullName, list, listFullWorkspaces, listWorkspaces, newWorkspace, objectType, objectTypeEntry, objectTypeList, openWorkspace, projectPath, removeFileRuleEntry, removeVariableEntry, renderType, renderTypeEntry, renderTypeList, rootDirectory, saveWorkspace, shortName, update, updateAll, variable, variableEntry, variableList
ロング ネーム(ショート ネーム) 引数タイプ プロパティ
active(act) boolean createquery
このフラグは -o/openWorkspace フラグと同義です。
baseWorkspace(bw) string query
ワークスペースは別のワークスペースをベースにしている場合があります。つまり、明示的にオーバーライドされていない場合、ベースのワークスペースのすべてのファイル ルールと変数がこのワークスペースに適用されます。既定では、新しいワークスペースにはベース ワークスペースとして「Default」というワークスペースがあります。相対パスを含む「複製」ファイル ルールは、新しいワークスペースの作成時またはベース ワークスペースの変更時に検証または作成されないことに注意してください。
create(cr) string create
新しいディレクトリを作成します。ディレクトリの名前がフル パスでなかった場合、このディレクトリは、-dir フラグで設定された現在のディレクトリのサブディレクトリとして作成されます。このフラグは、ワークスペースを作成しないことに注意してください。
directory(dir) string createquery
このオプションは、現在のワークスペース ディレクトリを指定したパスに設定します。照会すると、現在のワークスペース ディレクトリを返します。このディレクトリは、fileBrowser の最初のディレクトリとして使用され、ファイルの位置を指定する検索パスの一部となります。pwd および chdir コマンドが使用する現在のワーキング ディレクトリと混同しないでください。ファイル ブラウザを使用する場合、この値は最後に参照した場所に設定されます。
expandName(en) string createquery
現在のワークスペース定義を使用してファイル名のフル パスの場所を照会します。パスはプロジェクトの相対的なファイル名、フル パス名、または変数名になります。戻り値は必ずフル パス名となります。パスが空の文字列の場合、戻り値はプロジェクトのルート ディレクトリになります。変数の拡張子をサポートしているため、ワークスペースで定義された変数と環境変数の両方が考慮されます。 拡張変数名には次の 3 つのフォーマットがサポートされています: %variableName%、$variableName、${variableName}。まず、現在のワークスペースで定義された変数が検索され、次に環境変数が検索されます。チルダ(~)もサポートしています。変数の冒頭にチルダを入れると、Maya では、環境変数のみを考慮して展開し、展開結果にチルダを残します。Linux および Mac プラットフォームでは、チルダを使用して ~username、~、または ~/ のフォームでユーザのホーム ディレクトリを展開できます。~username と指定すると該当するユーザのホーム ディレクトリに置き換えられ、~ または ~/ と指定すると HOME 環境変数の値に置き換えられます。
fileRule(fr) [string, string] createquery
ファイルの既定位置を設定します。1 番目のパラメータは fileRule 名(シーン、イメージなど)で、2 番目は位置です。照会すると文字列のリストを返します。リストには、fileRule 名とその場所が交互に現れます。通常、使用可能なトランスレータ 1 つにつき、1 つのファイル規則があります。環境変数がサポートされています。ファイル規則用に複数のパスを設定する場合、Windows ではセミコロン(;)、MacOSX と Linux ではコロン(:)で区切ります。パスごとに冒頭と末尾にスペースを入れることが重要です。スペースはパス名の一部として扱われます(実際にスペースで始まったりスペースで終わるわけではありません)。有効な fileRule 名には、マルチ バイト文字を含めることができません。fileRule を作成してもフォルダは作成されないことに注意してください。すべてのパスが有効かどうかを確認するのはユーザの責任になります。
fileRuleEntry(fre) string createquery
指定した fileRule の位置を返します。
fileRuleList(frl) boolean createquery
現在定義されている fileRule のリストを返します。
filter(f) boolean
このフラグは現在サポートしていません。
fullName(fn) boolean createquery
ワークスペースのフル ネームを返します。
list(l) boolean createquery
このオプションは、現在のワークスペース ディレクトリをリストします。「workspaceFile」用にパスが指定されている場合、このディレクトリのコンテンツがリストされます。指定されていなければ、-dir フラグで設定されたディレクトリの内容がリストされます。
listFullWorkspaces(lfw) boolean createquery
現在設定されている、すべてのワークスペースの名前のフル パスのリストを返します。
listWorkspaces(lw) boolean createquery
現在設定されているワークスペースの名前のリストを返します。
newWorkspace(n) boolean create
これにより、指定されたパス(「現在」のディレクトリへの絶対パスまたは相対パス)を使用して新しいワークスペースが作成されます。このパスにワークスペースが既に存在する場合、コマンドは失敗します。このアプリケーションは新しいフォルダを作成することなく、仮想ワークスペースを作成することに注意してください。相対パスを指定すると、新しいワークスペースは -dir フラグで設定された「現在」のフォルダに指定されたパスが連結されたパスにマップされます。パスが存在しない場合は、既定でワークスペースのルート フォルダ -rd がシステムのルートパス(例: C:¥ または 「/」)に設定されます。すべてのパスが存在するかどうかを確認するのはユーザの責任になります。
objectType(ot) [string, string] createquery
このフラグは現在サポートしていません。今後、既定位置はすべて fileRules に追加されます。
objectTypeEntry(ote) string createquery
このフラグは現在サポートしていません。これは、fileRuleEntry と同じ結果を返します。
objectTypeList(otl) boolean createquery
このフラグは現在サポートしていません。今後、これは fileRuleList と同じ結果を返します。
openWorkspace(o) boolean createquery
ワークスペースを開きます。開かれたワークスペースが現在のワークスペースになります。
projectPath(pp) string createquery
引数として渡された filePath を、(可能な場合は)プロジェクト ルート ディレクトリを基準にしたファイル名に変換して返します。ファイルパスがプロジェクトのルート ディレクトリの下にない場合、フル パス名を返します。
removeFileRuleEntry(rfr) string create
指定したワークスペースから指定したファイル規則を除去します。ワークスペース名が指定されていない場合、現在のワークスペースから指定したファイル規則が除去されます。
removeVariableEntry(rve) string create
指定したワークスペースから指定した変数を除去します。ワークスペース名が指定されていない場合、現在のワークスペースから指定した変数が除去されます。
renderType(rt) [string, string] createquery
このフラグは現在サポートしていません。既定のレンダー タイプは今後すべて fileRules に追加されます。
renderTypeEntry(rte) string createquery
このフラグはサポートしていません。今後は fileRuleEntry を使用してください。
renderTypeList(rtl) boolean createquery
このフラグはサポートしていません。今後は fileRuleList を使用してください。
rootDirectory(rd) boolean query
ワークスペースのルート ディレクトリを返します。
saveWorkspace(s) boolean create
ワークスペースを保存します。通常、ワークスペースは Maya が終了するときに保存されますが、このフラグを使用するとデータは確実にディスクに保存されます。
shortName(sn) boolean createquery
ワークスペースのショート ネームを照会します。
update(u) boolean create
このフラグはプロジェクト ディレクトリから、すべてのワークスペース設定を読み込みます。Maya ではスタートアップ時に使用し、使用可能なワークスペースを検索します。
updateAll(ua) boolean create
このフラグは -u/update と同義です。
variable(v) [string, string] createquery
プロジェクト変数を設定または照会します。プロジェクト変数は、名前の展開時に使用されます。次の -en/expandName を参照してください。
variableEntry(ve) string createquery
変数名を指定すると、その値が返されます。
variableList(vl) boolean createquery
ワークスペースのすべての変数のリストを返します。

フラグはコマンドの作成モードで表示できます フラグはコマンドの編集モードで表示できます
フラグはコマンドの照会モードで表示できます フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。

Python 例

import maya.cmds as cmds

# Set the current workspace to "alphabet".
cmds.workspace( 'alphabet', openWorkspace=True )

# Save the current workspace settings (for "alphabet").
cmds.workspace( saveWorkspace=True )

# Change current directory to project directory
cmds.workspace( directory="/h/userName/maya/projects/" )

# Create a directory for a new workspace
cmds.workspace( create="newWorkspace" )

# Create a new workspace named "newWorkspace".
cmds.workspace( 'newWorkspace', newWorkspace=True )

# The file rules and variables of "newWorkspace" are based on "default" workspace
cmds.workspace( baseWorkspace='default' )

# Return the list of existing workspaces
cmds.workspace( listWorkspaces=True )
# Result: default   newWorkspace

# Add a scriptJob to run on workspaceChanged events
def workspaceChangedCallback():
print 'My workspaceChangedCallback was called'

workspaceChangedID = cmds.scriptJob( event = ["workspaceChanged", workspaceChangedCallback] )

# add a file rule to the current workspace
cmds.workspace(fileRule = ['newFileRuleName', 'newFileRuleValue'])
My workspaceChangedCallback was called            #workspaceChangedCallback was called

# look up the value of the file rule entry
cmds.workspace(fileRuleEntry = 'newFileRuleName')
# Result: newFileRuleValue

# remove specified file rule entry
cmds.workspace(removeFileRuleEntry = 'newFileRuleName')
My workspaceChangedCallback was called            #workspaceChangedCallback is called

# kill the scriptJob with the number
cmds.scriptJob(kill = workspaceChangedID)

# The following example shows how to expand environment and workspace variables

# expand a path value to be a full path relative to the project directory
# relative path example
cmds.workspace( expandName = 'relativePathName')
# Result: /h/userName/maya/projects/newWorkspace/relativePathName
# full path example
cmds.workspace( expandName = '/h/userName/maya/projects/default/')
# Result: /h/userName/maya/projects/default/

# The following examples show various formats for expanding workspace and
# environment variables.

# add a variable to the current workspace
cmds.workspace(variable = ['newVariableName', 'newVariableValue'])
cmds.workspace( expandName = '%newVariableName%')
# Result: /h/userName/maya/projects/newWorkspace/newVariableValue

# add an environment variable
os.environ['newEnvVariableName'] = "newEnvVariableValue"
cmds.workspace( expandName = os.environ['newEnvVariableName'])
# Result: /h/userName/maya/projects/newWorkspace/newEnvVariableValue

# When a tilde is used, maya will only consider the environment variable
# not the workspace variable.
cmds.workspace( expandName = '~%newVariableName%')
# Result: /h/userName/maya/projects/newWorkspace/~newEnvVariableValue

# The following example shows how to set multiple paths into a fileRule value
cmds.workspace(fileRule = ['newMultiPathFileRuleName', '/h/userName/maya/projects/default;newFileRuleValue'])
multipath = cmds.workspace(fileRuleEntry = 'newMultiPathFileRuleName')
# Result : /h/userName/maya/projects/default;newFileRuleValue

# Note that white space at the beginning or end of each path is significant.
# Add a file rule that uses multiple paths with the white space at the beginning and end of each path
cmds.workspace(fileRule = ['newMultiPathFileRuleName', ' /h/userName/maya/projects/default ; newFileRuleValue '])
# Querying and expanding the path value shows that the white space is still included.
multipath = cmds.workspace(fileRuleEntry = 'newMultiPathFileRuleName')
# Result :  /h/userName/maya/projects/default ; newFileRuleValue

# Find the current workspace area.
cmds.workspace( q=True, directory=True )
# Result : /h/userName/maya/projects/

# Note that the "current working directory" as defined by the
# 'pwd' and 'chdir' commands is unrelated to the directories
# used by the workspace command
#
os.getcwd()
# Result : /usr/tmp

os.chdir( '/tmp' )
os.getcwd()
# Result : /tmp
cmds.workspace( q=True, directory=True )
# Result : /h/userName/maya/projects/

cmds.workspace( directory='/h/userName/maya/projects/commercial' )
os.getcwd()
# Result : /tmp