Canvasスクリプティング・インターフェース

Fabric for Mayaは、リッチなスクリプティング・インターフェースを持っており、これによりあなたはMELからグラフを作ることできます。スクリプトコマンドがUIをともなって動作する時、自動的にロギングが行われます。そのため、ほとんどの時間、あなたは下を見る必要はないでしょう。あなたは、ただ仕事を対話的に行い、ログに出されたスクリプトのステップを調べればよいのです。

例えば、これは小さなグラフを作る際にMayaのスクリプトエディターに出力される内容をコピーしたものです。

FabricCanvasInstPreset -m "canvasNode1" -e "" -p "Fabric.Exts.Math.Vec3.Vec3" -x "345" -y "85";
FabricCanvasAddPort -m "canvasNode1" -e "" -d "x" -p "In" -t "Scalar" -c "Vec3.x";
FabricCanvasAddPort -m "canvasNode1" -e "" -d "y" -p "In" -t "Scalar" -c "Vec3.y";
FabricCanvasAddPort -m "canvasNode1" -e "" -d "z" -p "In" -t "Scalar" -c "Vec3.z";
FabricCanvasAddPort -m "canvasNode1" -e "" -d "result" -p "Out" -t "Vec3" -c "Vec3.result";

FabricCanvasGetFabricVersion

Returns the Fabric version.

FabricCanvasGetFabricVersion;
// Result: 2.3.0 //

FabricCanvasAddBackDrop

キャンバスグラフに新しい BackDropノードを加えます。

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -x, -xPos: The x coordinate for placing the new backdrop
  • -y, -yPos: The y coordinate for placing the new backdrop
  • -t, -title: The name of the new backdrop
FabricCanvasAddBackDrop -m "canvasNode1" -e "" -t "MathNodes" -x "265" -y "132";

FabricCanvasAddBlock

Adds a new block node to the Canvas graph.

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -x, -xPos: 新しいノードを配置するx座標
  • -y, -yPos: 新しいノードを配置するy座標
  • -d, -desiredName: The name of the new node

FabricCanvasAddBlockPort

Adds a new port to a given block node.

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -b, -blockName: The name of the block
  • -d, -desiredPortName: 新しいポートにつける任意の名前
  • -p, -portType: ポートの型。 “In”, “Out” or “IO” のいずれか。
  • -t, -typeSpec: 新しいポートのデータ型
  • -c, -pathToConnect: An optional argument to describe it’s initial connection
  • -ct, -connectType: The type, can be “In”, “Out” or “IO”
  • -xd, -extDep: ポートのオプションの依存エクステンション
  • -md, -metaData: Additional metadata, for example UI ranges or combo lists

FabricCanvasAddFunc

Canvasグラフに新しいKL関数グラフを追加します。

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -x, -xPos: 新しいノードを配置するx座標
  • -y, -yPos: 新しいノードを配置するy座標
  • -t, -title: 新しいノードの名前
  • -c, -code: 新しいノードに対するKLコード
FabricCanvasAddFunc -m "canvasNode1" -e "" -t "func" -c "dfgEntry {\n  // result = a + b;\n}\n" -x "549" -y "63";

FabricCanvasAddGet

Canvasグラフに新しい変数のgetterノードを追加します。

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -x, -xPos: 新しいノードを配置するx座標
  • -y, -yPos: 新しいノードを配置するy座標
  • -d, -desiredNodeName: 新しいノードにつける任意の名前
  • -p, -varPath: 変数のパス
FabricCanvasAddGet -m "canvasNode1" -e "" -d "get" -p "factor" -x "293" -y "370";

FabricCanvasAddGraph

Canvasグラフに新しいサブグラフノードを追加します。

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -x, -xPos: 新しいノードを配置するx座標
  • -y, -yPos: 新しいノードを配置するy座標
  • -t, -title: 新しいグラフの名前
FabricCanvasAddGraph -m "canvasNode1" -e "" -t "MySubGraph" -x "265" -y "132";

FabricCanvasAddInstBlockPort

Adds a new port to a block instance.

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -n, -instName: The name of the instance
  • -b, -blockName: The name of the block
  • -d, -desiredPortName: 新しいポートにつける任意の名前
  • -t, -typeSpec: 新しいポートのデータ型
  • -c, -pathToConnect: An optional argument to describe it’s initial connection
  • -xd, -extDep: ポートのオプションの依存エクステンション
  • -md, -metaData: Additional metadata, for example UI ranges or combo lists

FabricCanvasAddInstPort

Adds a new port to an instance node.

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -n, -instName: The name of the instance
  • -d, -desiredPortName: 新しいポートにつける任意の名前
  • -p, -portType: ポートの型。 “In”, “Out” or “IO” のいずれか。
  • -t, -typeSpec: 新しいポートのデータ型
  • -c, -pathToConnect: An optional argument to describe it’s initial connection
  • -ct, -connectType: The type, can be “In”, “Out” or “IO”
  • -xd, -extDep: ポートのオプションの依存エクステンション
  • -md, -metaData: Additional metadata, for example UI ranges or combo lists

FabricCanvasAddPort

与えられたグラフに新しいポートを追加します。

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -d, -desiredPortName: 新しいポートにつける任意の名前
  • -p, -portType: ポートの型。 “In”, “Out” or “IO” のいずれか。
  • -t, -typeSpec: 新しいポートのデータ型
  • -c, -connectToPortPath: ポートの初期接続を説明するためのオプションの引数
  • -xd, -extDep: ポートのオプションの依存エクステンション
  • -ui, -uiMetadata: 追加のメタデータ。例えばUIの範囲やコンボリストなど。
FabricCanvasAddPort -m "canvasNode1" -e "" -d "factor" -p "In" -t "Float32";

FabricCanvasAddSet

Canvasグラフに新しい変数のsetterノードを追加します。

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -x, -xPos: 新しいノードを配置するx座標
  • -y, -yPos: 新しいノードを配置するy座標
  • -d, -desiredNodeName: 新しいノードにつける任意の名前
  • -p, -varPath: 変数のパス
FabricCanvasAddSet -m "canvasNode1" -e "" -d "get" -p "factor" -x "293" -y "370";

FabricCanvasAddVar

Canvasグラフに新しい変数ノードを追加します。

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -x, -xPos: 新しいノードを配置するx座標
  • -y, -yPos: 新しいノードを配置するy座標
  • -d, -desiredNodeName: 新しい変数につける任意の名前
  • -t, -type: 変数のデータ型
  • -xd, -extDep: (オプションの)依存エクステンション
FabricCanvasAddVar -m "canvasNode1" -e "" -d "factor" -t "Float32" -xd "" -x "51" -y "64";

FabricCanvasConnect

Canvasグラフ内の2つのピンまたはポートを接続します。

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -s, -srcPortPath: The path(s) to the source (left) port(s) / pin(s)
  • -d, -dstPortPath: The path(s) to the destination (left) port(s) / pin(s)
FabricCanvasConnect -m "canvasNode1" -e "" -s "Scalar.value" -d "Vec3.z";
FabricCanvasConnect -m "canvasNode1" -e "" -s "Scalar.value|Scalar.value|Scalar.value" -d "Vec3.x|Vec3.y|Vec3.z";

FabricCanvasDisconnect

Canvasグラフ内の2つのピンまたはポート間の接続を解除します。

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -s, -srcPortPath: The path(s) to the source (left) port(s) / pin(s)
  • -d, -dstPortPath: The path(s) to the destination (left) port(s) / pin(s)
FabricCanvasDisconnect -m "canvasNode1" -e "" -s "Scalar.value" -d "Vec3.z";
FabricCanvasDisconnect -m "canvasNode1" -e "" -s "Scalar.value|Scalar.value|Scalar.value" -d "Vec3.x|Vec3.y|Vec3.z";

FabricCanvasCreatePreset

Create a new preset from an existing node.

  • -n, -nodeName: ノードの名前
  • -pd, -presetDirPath: The path to the directory in the preset tree where the preset should be located
  • -pn, -presetName: The name of the preset to be created

Returns the pathname where the new preset was saved on disk, or the empty string if the preset was not saved.

FabricCanvasCreatePreset -m "canvasNode1" -e "" -n "x" -pd "User" -pn "MyPreset"

FabricCanvasEditPort

Edits an existing port. Use this to rename a port, change its data type, etc.

  • -n, -oldPortName: ポートの古い名前
  • -d, -desiredNewPortName: ポートの任意の新しい名前
  • -p, -portType: ポートの型。 “In”, “Out” or “IO” のいずれか。
  • -t, -typeSpec: ポートの期待されるデータ型
  • -xd, -extDep: ポートの追加の依存エクステンション
  • -ui, -uiMetadata: UIの範囲やコンボといった、追加のメタデータ。
FabricCanvasEditPort -m "canvasNode1" -e "" -n "x" -d "factor" -p "In" -t "Scalar" -ui "";

FabricCanvasExplodeNode

サブグラフノードを展開し、中に含まれる全てのノードを親のグラフに移動します。

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -n, -nodeName: 展開したいサブグラフノードの名前
FabricCanvasExplodeNode -m "canvasNode1" -e "" -n "graph_2";

FabricCanvasGetContextID

Returns the FabricCore client contextID used by Canvas Maya nodes. This is useful if you want to create a python FabricCore client, for example, to access the same data.

FabricCanvasGetContextID;
// Result: QmwISgSKKfQmqJYLnQuG9vtwrM/zvquvibDemkR8/TahGgHW9Z1yl9IlDFBRfl0nreQyb6yKtgfYrOHPyUdGDE1vBDD84M3D4ndWStI0ijIORlTepDtNOjEbmN8kArnX

FabricCanvasGetBindingID

指定されたCanvas Mayaノードで使われているFabricCore DFGBindingのIDを返します。これは例えば、あなたがPython FabricCoreクライアントを作成し、同じデータにアクセスしたい場合などに便利です。

  • -n, -node: Canvas Mayaノードの名前
FabricCanvasGetBindingID -n "canvasNode1";
// Result: 6119 //

FabricCanvasImplodeNodes

選択されたノードを集め、それらを含む新しいサブグラフノードを作成します。

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -n, -nodeName: 対象にしたいすべてのノードの名前。パイプ文字(|)で区切ります。
  • -d, -desiredImplodedNodeName: The desired name of the new subgraph node
FabricCanvasImplodeNodes -m "canvasNode1" -e "" -n "Vec3|Scalar|Report" -d "implodedGraph";

FabricCanvasInstPreset

既存のCanvasプリセットをインスタンス化し、それを使って新しいノードを作ります。

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -x, -xPos: 新しいノードを配置するx座標
  • -y, -yPos: 新しいノードを配置するy座標
  • -p, -presetPath: インスタンス化するプリセットへのパス
FabricCanvasInstPreset -m "canvasNode1" -e "" -p "Fabric.Exts.Math.Vec3.Vec3" -x "162" -y "62";

FabricCanvasMoveNodes

Canvasグラフの中で、一つまたは複数のノードを移動します。

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -n, -nodeName: 移動したいノードの名前
  • -x, -xPos: 移動するノードのx座標
  • -y, -yPos: 移動するノードのy座標
FabricCanvasMoveNodes -m "canvasNode1" -e "" -n "Vec3_2" -x "215" -y "23";
FabricCanvasMoveNodes -m "canvasNode1" -e "" -n "Scalar|Vec3_2" -x "97|248" -y "295|41";

FabricCanvasPaste

JSONテキストを元に、Canvasグラフの中でノードを作ります。

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -t, -text: 新しく作成するノードのJSONの内容
  • -x, -xPos: 新しく作成されるノードの中心のx座標
  • -y, -yPos: 新しく作成されるノードの中心のy座標
FabricCanvasPaste -m "canvasNode1" -e "" -t "{\n  \"nodes\" : [\n    {\n      \"objectType\" : \"Inst\",\n      \"name\" : \"func\",\n      \"ports\" : [],\n      \"definition\" : {\n        \"objectType\" : \"Func\",\n        \"title\" : \"func\",\n        \"ports\" : [],\n        \"extDeps\" : {},\n        \"code\" : \"\"\n        }\n      }\n    ],\n  \"connections\" : []\n  }" -x "680" -y "80";

FabricCanvasRemoveNodes

Canvasグラフから一つまたは複数のノードを削除します。

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -n, -nodeName: The name(s) of the node(s) to remove
FabricCanvasRemoveNodes -m "canvasNode1" -e "" -n "Vec3";
FabricCanvasRemoveNodes -m "canvasNode1" -e "" -n "Scalar|Vec3_2";

FabricCanvasRemovePort

Removes port(s) from the Canvas graph.

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -n, -portName: The name of the port(s) to remove
FabricCanvasRemovePort -m "canvasNode1" -e "" -n "factor";
FabricCanvasRemovePort -m "canvasNode1" -e "" -n "factorX|factorY|factorZ|resultXYZ";

FabricCanvasRenamePort

Canvasグラフのポートの名前を変更します。

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -n, -oldPortName: The name of the port to rename
  • -d, -desiredNewPortName: The desired new name for the port
FabricCanvasRenamePort -m "canvasNode1" -e "" -n "factor" -d "strength";

FabricCanvasReorderPorts

Canvasグラフまたはサブグラフのポートの順番を変更します。

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -p, -itemPath: The path to the item
  • -i, -indices: ポートの新しい順番のインデックス
FabricCanvasReorderPorts -m "canvasNode1" -e "" -p "" -i "[1, 0, 2]";

FabricCanvasResizeBackDrop

Canvasグラフ内部のBackDropをリサイズします。

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -n, -nodeName: The name of the backdrop node
  • -x, -xPos: BackDropのx座標
  • -y, -yPos: BackDropのy座標
  • -w, -width: BackDropの新しい幅
  • -h, -height: BackDropの新しい高さ
FabricCanvasResizeBackDrop -m "canvasNode1" -e "" -n "backdrop" -x "248" -y "280" -w "401" -h "131";

FabricCanvasSetArgValue

Canvasグラフ内の引数に値をセットします。

  • -m, -mayaNode: Canvas maya ノードの名前
  • -n, -argName: The name of the argument
  • -t, -type: 引数の新しいデータ型
  • -v, -value: JSONエンコードされた値
FabricCanvasSetArgValue -m "canvasNode1" -n "Vec3.x" -t "Float32" -v "1";

FabricCanvasSetCode

Canvasグラフ内部のKL関数ノードにKLコードをセットします。

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -c, -code: KL関数ノードに対する新しいKLコード
FabricCanvasSetCode -m "canvasNode1" -e "func" -c "dfgEntry {\n  //result = lhs + rhs;\n \n}\n";

FabricCanvasSetExtDeps

Canvasグラフ内のKL関数ノードに依存エクステンションをセットします

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -xd, -extDep: 依存エクステンションのリスト
FabricCanvasSetExtDeps -m "canvasNode1" -e "func" -xd "Math:*";

FabricCanvasSetNodeComment

Canvasグラフ内のノードにコメントをセットします。

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -n, -nodeName: ノードの名前
  • -c, -comment: コメントのテキスト
FabricCanvasSetNodeComment -m "canvasNode1" -e "" -n "Vec3" -c "My useful information";

FabricCanvasEditNode

Renames a node in a Canvas graph.

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: The path of the graph inside of Canvas to operate on
  • -n, -oldNodeName: The current name of the node
  • -d, -desiredNewNodeName: The desired new name for the node
  • -nm, -nodeMetadata: (Optional) Additional metadata for the node
  • -xm, -execMetadata: (Optional) Additional metadata for the executable (for instances)
FabricCanvasEditNode -m "canvasNode1" -e "" -n "Vec3" -d "MyTitle";

FabricCanvasSetPortDefaultValue

Canvasグラフ内のノードのポートにデフォルト値をセットします。

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -p, -portPath: execPathの下のポートへのパス
  • -t, -type: 新しいデフォルト値の型
  • -v, -value: JSONエンコードされたポートのデフォルト値
FabricCanvasSetPortDefaultValue -m "canvasNode1" -e "" -p "Vec3.x" -t "Float32" -v "1";

FabricCanvasSetRefVarPath

Canvasのgetまたはsetノードに参照変数のパスをセットします。

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
  • -n, -refName: 捜査対象のgetまたはsetノードの名前
  • -p, -varPath: 参照したい変数の新しいパス
FabricCanvasSetRefVarPath -m "canvasNode1" -e "" -n "get" -p "factor";

FabricCanvasSplitFromPreset

実行可能なオブジェクト(つまり、グラフまたは関数)を、それらが参照しているプリセットから切り離します。

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -execPath: 操作の対象となるCanvas内のノードのパス
FabricCanvasSplitFromPreset -m "canvasNode1" -e "DrawMesh";

FabricCanvasDismissLoadDiags

Dismisses one or more load diagnostics

  • -m, -mayaNode: Canvas maya ノードの名前
  • -di, -diagIndices: The indices of the load diagnostics to dismiss
FabricCanvasDismissLoadDiags -m "canvasNode1" -di "[3, 14]";

FabricCanvasGetExecuteShared

Returns the current shared execution state.

  • -m, -mayaNode: Canvas maya ノードの名前
FabricCanvasGetExecuteShared -m "canvasNode1";

FabricCanvasSetExecuteShared

Enables/disables canvas nodes to be executed in parallel with the Maya parallel evaluation capabilities.

  • -m, -mayaNode: Canvas maya ノードの名前
  • -e, -enable: ‘true’ to enable parallel evaluation, else ‘false’
FabricCanvasSetExecuteShared -m "canvasNode1" -e true;

dfgImportJSON

Sets the graph of a canvas node either from a canvas file or from a JSON string.

Note that one can only import graphs into empty Canvas nodes.

  • -m, -mayaNode: Canvas maya ノードの名前
  • -p, -path: unused.
  • -f, -filePath: The path and filename of a .canvas file.
  • -j, -json: An optional JSON representation of a Canvas graph.
  • -r, -referenced: ‘true’ set as reference.
dfgImportJSON -m "canvasNode1" -f "C:/test.canvas";

dfgExportJSON

Exports the graph of a canvas node as a .canvas file.

  • -m, -mayaNode: Canvas maya ノードの名前
  • -p, -path: unused.
  • -f, -filePath: The path and filename of the output .canvas file.
dfgExportJSON -m "canvasNode1" -f "C:/test.canvas";

dfgReloadJSON

Reloads the graph of a canvas node that references a .canvas file (see command “dfgImportJSON”).

  • -m, -mayaNode: Canvas maya ノードの名前
  • -p, -path: unused.
  • -f, -filePath: unused.
  • -j, -json: unused.
  • -r, -referenced: unused.
dfgReloadJSON -m "canvasNode1";