ジャンプ先: 概要. 戻り値. 関連. フラグ. MEL 例.
namespace [-absoluteName] [-addNamespace string] [-collapseAncestors string] [-deleteNamespaceContent] [-exists string] [-force] [-isRootNamespace string] [-mergeNamespaceWithParent] [-mergeNamespaceWithRoot] [-moveNamespace string string] [-parent string] [-recurse] [-relativeNames boolean] [-removeNamespace string] [-rename string string] [-setNamespace string] [-validateName string]
[string]
namespace は、取り消し可能、照会可能、および編集不可能です。
このコマンドを使用して、ネームスペースを作成、設定、または除去できます。 ネームスペースとは、特定の名前で複数のオブジェクトを単にグループ化したものです。ネームスペースは、主に Maya での名前の衝突を回避するために使用されます。名前の衝突とは、ファイルを読み込んだ場合などに、新規のオブジェクトが既存のオブジェクトと同じ名前を持つことを指します。ネームスペースを使用すると、2 つのオブジェクトが別のネームスペースにあれば、同じ名前を付けることができます。 ネームスペースは、ファイル システムのような階層状の構造になっていると考えてください。ネームスペースはディレクトリにあたり、オブジェクトはファイルにあたります。ネームスペース名を区切るには、コロン(':')記号を使用します。スラッシュ('/')や円記号('¥')は使用しません。ネームスペースは、オブジェクトだけでなく、他のネームスペースを含むことができます。オブジェクト同様、1つのネームスペース内い含めるネームスペース名はそれぞれ固有でなければなりません。オブジェクトおよびネームスペースは、1つのネームスペースにしか存在できません。ネームスペース名とオブジェクト名は衝突しないため、1つのネームスペース内であっても、ネームスペースとオブジェクトは同じ名前にすることができます。 コロン(':')に続けて、名称が未設定のルート ネームスペースが指定されています。名前のついたネームスペースにない他のすべてのオブジェクトは、ルート ネームスペースにあります。オブジェクト名の前のコロンはなくてもわかるため、通常は省略されています。最初のコロンが重要になるのは、「rename」コマンドを使用して、ネームスペース間でオブジェクトを移動する場合です。「rename」コマンドでは、新規の名前は現在の ネームスペースに関連します。ただし、最初のコロンを使用した完全な名前の場合にはこの限りではありません。 ネームスペースの作成には「add/addNamespace」フラグが使用されます。既定では、現在のネームスペースに作成されます。現在のネームスペースの変更は、「set/setNamespace」フラグで行います。現在のネームスペースをルート ネームスペースにリセットするには、「namespace -set ":";」を使用します。オブジェクトが作成されると、既定で現在のネームスペースに追加されます。 修飾された名前を使用して新しいネームスペースを作成すると、まだ存在していない中間ネームスペースが自動的に作成されます。たとえば、新しいネームスペースの名前を「A:B」と指定し、現在のネームスペースに「A」という子ネームスペースがすでに含まれている場合は、「B」という新しい子ネームスペースが「A」の下に作成されます。ただし、現在のネームスペースに「A」という子がまだ含まれていない場合は、「A」が自動的に作成されます。これは指定した名前(「A:B:C:D」など)に含まれているレベルの数に関係なく適用されます。 「p/-parent」フラグを使用すると、単に現在のネームスペースを既定にする代わりに、新しいネームスペースの作成先の親ネームスペースを明示的に指定できます。 新しいネームスペースに対して指定した名前が絶対名(「:A:B」のようにコロンで始まる名前)である場合は、現在のネームスペースと「parent」フラグの両方が無視され、ルート ネームスペースに新しいネームスペースが作成されます。 relativeNamespace フラグを使用して、ノード名の UI 上での表示方法や「ls」コマンドによって返される方法を変更することができます。「ls」コマンドの戻り値の、relativeNamespace モードでの動作に関する詳細を以下に記します。string |
照会モードでは、戻り値のタイプは照会されたフラグに基づきます。
ロング ネーム(ショート ネーム) | 引数タイプ | プロパティ | ||
---|---|---|---|---|
-absoluteName(-an)
|
|
|||
|
||||
-addNamespace(-add)
|
string
|
|||
|
||||
-collapseAncestors(-ch)
|
string
|
|||
|
||||
-deleteNamespaceContent(-dnc)
|
|
|||
|
||||
-exists(-ex)
|
string
|
|||
|
||||
-force(-f)
|
|
|||
|
||||
-isRootNamespace(-ir)
|
string
|
|||
|
||||
-mergeNamespaceWithParent(-mnp)
|
|
|||
|
||||
-mergeNamespaceWithRoot(-mnr)
|
|
|||
|
||||
-moveNamespace(-mv)
|
string string
|
|||
|
||||
-parent(-p)
|
string
|
|||
|
||||
-recurse(-r)
|
|
|||
|
||||
-relativeNames(-rel)
|
boolean
|
|||
|
||||
-removeNamespace(-rm)
|
string
|
|||
|
||||
-rename(-ren)
|
string string
|
|||
|
||||
-setNamespace(-set)
|
string
|
|||
|
||||
-validateName(-vn)
|
string
|
|||
|
フラグはコマンドの作成モードで表示できます | フラグはコマンドの編集モードで表示できます |
フラグはコマンドの照会モードで表示できます | コマンド内でフラグを複数回使用できます。 |
// Create three namespaces namespace -add "FOO"; namespace -add "BAR"; namespace -add "FRED"; // Create namespace with qualified name namespace -add "A:B"; // Create "C:D" under "A:B" namespace -add "C:D" -parent "A:B"; // Create absolute name namespace -add ":A:B:C:D:E"; // Set the current namespace to FOO namespace -set "FOO"; // Create the namespace BAR Under FOO. Note there are // two "BAR" namespaces, :BAR and :FOO:BAR. namespace -add "BAR"; // Validate the name namespace -validateName "name$space"; // Result : name_space // Check to see that the BAR namespace exists within the current // namespace (FOO) namespace -exists "BAR"; // Result: 1 // // Check to see that the FRED namespace exists under the root namespace namespace -exists ":FRED"; // Result: 1 // // Create two objects. It gets added to the current namespace FOO; sphere -n sphere1; sphere -n sphere2; // Result: FOO:sphere2 // // Move sphere1 from namespace FOO to FOO:BAR. Note that we // need to qualify sphere1 with the namespace FOO because // "sphere1" identifies a non-existent object in the root namespace. rename FOO:sphere1 "BAR:sphere1"; // Result: FOO:BAR:sphere1 // // Move sphere2 from namespace FOO to BAR. Note the leading // colon on the new name. rename FOO:sphere2 :BAR:sphere2; // Result: BAR:sphere2 // // query the current namespace (using the namespaceInfo command) namespaceInfo -currentNamespace; // Result: FOO // // remove the namespace FRED (it must be empty) namespace -set ":"; namespace -rm "FRED"; // Check to see that the FRED namespace has been removed namespace -exists ":FRED"; // Result: 0 // // Rename namespace BAR to JOE // Note: this is done by creating JOE, moving the contents of // BAR into JOE, and then removing the (now empty) BAR. namespace -set ":"; namespace -add "JOE"; namespace -mv "BAR" "JOE"; namespace -rm "BAR"; // JOE should now contain a single node: 'sphere2'. // Move the contents of JOE into FRANK, when FRANK already // has a 'sphere2' node. The '-force' // flag is needed. namespace -set ":"; namespace -add "FRANK"; namespace -set "FRANK"; sphere -n "sphere2"; namespace -force -mv ":JOE" ":FRANK"; // In moving 'sphere2' from JOE to FRANK it will be renamed to // 'sphere3' to ensure uniqueness. // The namespace FRANK should now contain 'sphere2', 'sphere2Shape', // and 'sphere3'. // Determine whether the specified namespace is root // namespace -query -isRootNamespace "FOO"; //Set return value to be absolute namespace name // string $retName = `namespace -add "testAbsoluteName" -absoluteName`; print $retName; //Create a sample hierachy that contains only empty namespaces, then collapse it // namespace -set ":"; namespace -add "emptyLevel1"; namespace -add "emptyLevel2" -parent "emptyLevel1"; namespace -add "leaf" -parent "emptyLevel1:emptyLevel2"; namespace -collapseAncestors "emptyLevel1:emptyLevel2:leaf"; // Create a sample for "namespace -remove" command. // This command can also be used together with three option flag named // -deleteNamespaceContent/-mergeNamespaceWithParent/-mergeNamespaceWithRoot. // The functionality of the three option flags will also be displayed in the // following sample. // Note: The three option flags are mutually exclusive. // The default way the "namespace -remove" acts is that it is used to // remove a namespace that is empty. If you want to remove any namespace // with contents, please add option flag -deleteNamespaceContent. // namespace -set ":"; namespace -add ":RM_TEST_ROOT:FOO:BAR:JOE"; sphere -n ":RM_TEST_ROOT:FOO:obj1"; sphere -n ":RM_TEST_ROOT:FOO:BAR:obj2"; // Trying to remove a namespace that is not empty without option flag, // user will get an error message show that maya cannot remove a namespace that // is not empty. // // namespace -removeNamespace ":RM_TEST_ROOT:FOO"; // Run this command you'll get an error. // Trying to remove an empty namespace. // Namespace :RM_TEST_ROOT:FOO:BAR:JOE has been removed successfully by the command. // namespace -removeNamespace ":RM_TEST_ROOT:FOO:BAR:JOE"; undo; // Recover namespace structure. // Usage of -deleteNamespaceContent flag: // Remove all the contents in the target namespace specified in the command and // remove the namespace namespace -deleteNamespaceContent -removeNamespace ":RM_TEST_ROOT:FOO:BAR"; undo; // Recover namespace structure. // Usage of -mergeNamespaceWithParent flag: // Move the content of the target namespace specified in the command to its parent // namespace and remove the namespace. namespace -mergeNamespaceWithParent -removeNamespace ":RM_TEST_ROOT:FOO:BAR"; undo; // Recover namespace structure. // Usage of -mergeNamespaceWithRoot flag: // Move the content of the target namespace specified in the command to the root // namespace and remove the namespace. namespace -mergeNamespaceWithRoot -removeNamespace ":RM_TEST_ROOT:FOO:BAR";