ジャンプ先: 概要. 戻り値. 関連. フラグ. 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
|
|
|
このフラグは -o/openWorkspace フラグと同義です。
|
|
baseWorkspace(bw)
|
string
|
|
|
ワークスペースは別のワークスペースをベースにしている場合があります。したがって、はっきり優先の指定がない場合、ベースのワークスペースの全設定がこのワークスペースに適用されます。
|
|
create(cr)
|
string
|
|
|
新しいディレクトリを作成します。ディレクトリの名前がフル パスでなかった場合、このディレクトリは、-dir フラグで設定された現在のディレクトリのサブディレクトリとして作成されます。
|
|
directory(dir)
|
string
|
|
|
このオプションは、現在のワークスペース ディレクトリを指定したパスに設定します。照会すると、現在のワークスペース ディレクトリを返します。このディレクトリは、fileBrowser の最初のディレクトリとして使用され、ファイルの位置を指定する検索パスの一部となります。pwd および chdir コマンドが使用する現在のワーキング ディレクトリと混同しないでください。ファイル ブラウザを使用する場合、この値は最後に参照した場所に設定されます。
|
|
expandName(en)
|
string
|
|
|
現在のワークスペース定義を使用してファイル名のフル パスの場所を照会します。パスはプロジェクトの相対的なファイル名、フル パス名、または変数名になります。戻り値は必ずフル パス名となります。パスが空の文字列の場合、戻り値はプロジェクトのルート ディレクトリになります。変数の拡張子をサポートしているため、ワークスペースで定義された変数と環境変数の両方が考慮されます。 拡張変数名には次の 3 つのフォーマットがサポートされています: %variableName%、$variableName、${variableName}。まず、現在のワークスペースで定義された変数が検索され、次に環境変数が検索されます。チルダ(~)もサポートしています。変数の冒頭にチルダを入れると、Maya では、環境変数のみを考慮して展開し、展開結果にチルダを残します。Linux および Mac プラットフォームでは、チルダを使用して ~username、~、または ~/ のフォームでユーザのホーム ディレクトリを展開できます。~username と指定すると該当するユーザのホーム ディレクトリに置き換えられ、~ または ~/ と指定すると HOME 環境変数の値に置き換えられます。
|
|
fileRule(fr)
|
[string, string]
|
|
|
ファイルの既定位置を設定します。1 番目のパラメータは fileRule 名(シーン、イメージなど)で、2 番目は位置です。照会すると文字列のリストを返します。リストには、fileRule 名とその場所が交互に現れます。通常、使用可能なトランスレータ 1 つにつき、1 つのファイル規則があります。環境変数がサポートされています。ファイル規則用に複数のパスを設定する場合、Windows ではセミコロン(;)、MacOSX と Linux ではコロン(:)で区切ります。パスごとに冒頭と末尾にスペースを入れることが重要です。スペースはパス名の一部として扱われます(実際にスペースで始まったりスペースで終わるわけではありません)。有効な fileRule 名には、マルチ バイト文字を含めることができません。
|
|
fileRuleEntry(fre)
|
string
|
|
|
fileRuleList(frl)
|
boolean
|
|
|
現在定義されている fileRule のリストを返します。
|
|
filter(f)
|
boolean
|
|
|
fullName(fn)
|
boolean
|
|
|
list(l)
|
boolean
|
|
|
このオプションは、現在のワークスペース ディレクトリをリストします。「workspaceFile」用にパスが指定されている場合、このディレクトリのコンテンツがリストされます。指定されていなければ、-dir フラグで設定されたディレクトリの内容がリストされます。
|
|
listFullWorkspaces(lfw)
|
boolean
|
|
|
現在設定されている、すべてのワークスペースの名前のフル パスのリストを返します。
|
|
listWorkspaces(lw)
|
boolean
|
|
|
現在設定されているワークスペースの名前のリストを返します。
|
|
newWorkspace(n)
|
boolean
|
|
|
新しいワークスペースの作成を指定します。同じ名前のワークスペースがすでに存在する場合、コマンドは失敗します。
|
|
objectType(ot)
|
[string, string]
|
|
|
このフラグは現在サポートしていません。今後、既定位置はすべて fileRules に追加されます。
|
|
objectTypeEntry(ote)
|
string
|
|
|
このフラグは現在サポートしていません。これは、fileRuleEntry と同じ結果を返します。
|
|
objectTypeList(otl)
|
boolean
|
|
|
このフラグは現在サポートしていません。今後、これは fileRuleList と同じ結果を返します。
|
|
openWorkspace(o)
|
boolean
|
|
|
ワークスペースを開きます。開かれたワークスペースが現在のワークスペースになります。
|
|
projectPath(pp)
|
string
|
|
|
引数として渡された filePath を、(可能な場合は)プロジェクト ルート ディレクトリを基準にしたファイル名に変換して返します。ファイルパスがプロジェクトのルート ディレクトリの下にない場合、フル パス名を返します。
|
|
removeFileRuleEntry(rfr)
|
string
|
|
|
指定したワークスペースから指定したファイル規則を除去します。ワークスペース名が指定されていない場合、現在のワークスペースから指定したファイル規則が除去されます。
|
|
removeVariableEntry(rve)
|
string
|
|
|
指定したワークスペースから指定した変数を除去します。ワークスペース名が指定されていない場合、現在のワークスペースから指定した変数が除去されます。
|
|
renderType(rt)
|
[string, string]
|
|
|
このフラグは現在サポートしていません。既定のレンダー タイプは今後すべて fileRules に追加されます。
|
|
renderTypeEntry(rte)
|
string
|
|
|
このフラグはサポートしていません。今後は fileRuleEntry を使用してください。
|
|
renderTypeList(rtl)
|
boolean
|
|
|
このフラグはサポートしていません。今後は fileRuleList を使用してください。
|
|
rootDirectory(rd)
|
boolean
|
|
|
saveWorkspace(s)
|
boolean
|
|
|
ワークスペースを保存します。通常、ワークスペースは Maya が終了するときに保存されますが、このフラグを使用するとデータは確実にディスクに保存されます。
|
|
shortName(sn)
|
boolean
|
|
|
update(u)
|
boolean
|
|
|
このフラグはプロジェクト ディレクトリから、すべてのワークスペース設定を読み込みます。Maya ではスタートアップ時に使用し、使用可能なワークスペースを検索します。
|
|
updateAll(ua)
|
boolean
|
|
|
variable(v)
|
[string, string]
|
|
|
プロジェクト変数を設定または照会します。プロジェクト変数は、名前の展開時に使用されます。次の -en/expandName を参照してください。
|
|
variableEntry(ve)
|
string
|
|
|
variableList(vl)
|
boolean
|
|
|
フラグはコマンドの作成モードで表示できます
|
フラグはコマンドの編集モードで表示できます
|
フラグはコマンドの照会モードで表示できます
|
フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。
|
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 )
# Create a new workspace named "newWorkspace".
cmds.workspace( 'newWorkspace', newWorkspace=True )
# The settings 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(q = True, 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 with the same as the workspace variable
maya.mel.eval('putenv "newEnvVariableName" "newEnvVariableValue"')
cmds.workspace( expandName = '%newEnvVariableName%')
# Result: /h/userName/maya/projects/newWorkspace/newEnvVariableValue/
# The following example shows how conflicting names in both workspace
# and environment variables are resolved.
# add a environment variable with the same name as a workspace variable
maya.mel.eval('putenv "newVariableName" "newEnvVariableValue"')
# maya considers workspace variables first before matching environment variables
cmds.workspace( expandName = '%newVariableName%')
# Result: /h/userName/maya/projects/newWorkspace/newVariableValue/
# 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(q = True, fileRuleEntry = 'newMultiPathFileRuleName')
# Result : /h/userName/maya/projects/default;newFileRuleValue
# The following will only return the first expanded path.
cmds.workspace( expandName = multipath)
# Result : /h/userName/maya/projects/default
# 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(q = True, 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/default
# Note that the "current working directory" as defined by the
# 'pwd' and 'chdir' commands is unrelated to the directories
# used by the workspace command
#
cmds.pwd()
# Result : /usr/tmp
cmds.chdir( '/tmp' )
getcwd()
# Result : /tmp
cmds.workspace( q=True, directory=True )
# Result : /h/userName/maya/projects/default
cmds.workspace( directory='/h/userName/maya/projects/commercial' )
getcwd()
# Result : /tmp