« C4D C.O.F.F.E.E. Noiseクラスを使ってみる。 | トップページ | C4D 「分離」ツール、SendModelingCommand()では? »

C4D C.O.F.F.E.E. SendModelingCommand()/CallCommand()実行前にクラスチェック?

さて、CallCommand()を使う場合、コマンドマネージャでツール名を検索し、該当のツールをスクリプトマネージャにドラッグ&ドロップするわけですね。
そうすると、「CallCommand(xxxx)」と、IDまで自動記述してくれますね。

では、ポリゴンオブジェクトやスプラインオブジェクト専用のコマンドを、別のクラスのオブジェクトに実行するとどうなるのか?

ポリゴンやスプライン専用コマンドの「別オブジェクトに分離」で、適当なプリミティブに実行してみます。

別オブジェクトに分離 SendModelingCommand()

/*
別オブジェクトに分離 SendModelingCommand()
2009.6.22
*/


main(doc , op)
{
  if(!instanceof(op , PointObject))return;

  var ct = new(BaseContainer);

  SendModelingCommand(MCOMMAND_SPLIT , doc , op , ct , MODIFY_POINTSELECTION);
}

別オブジェクトに分離 SendModelingCommand()最低限

/*
別オブジェクトに分離 SendModelingCommand()
2009.6.22
*/


main(doc , op)
{
  var ct = new(BaseContainer);

  SendModelingCommand(MCOMMAND_SPLIT , doc , op , ct , MODIFY_POINTSELECTION);
}

別オブジェクトに分離 CallCommand()

/*
別オブジェクトに分離 CallCommand()
2009.6.22
*/


main(doc , op)
{
  if(!instanceof(op , PointObject))return;

  CallCommand(14046);
}

別オブジェクトに分離 CallCommand()最低限

/*
別オブジェクトに分離 CallCommand()
2009.6.22
*/

CallCommand
(14046);

結果は、クラスチェックが無くても、コンソールにはエラーが表示されません。
勿論、強引に処理されるわけでもなく。

考えられる事は、それぞれのコマンド毎でクラスチェックをしていると思われ…当たり前か…

そう言う事で、CallCommand()やSendModelingCommand()には、クラスチェックが必要ないだろう。

|

« C4D C.O.F.F.E.E. Noiseクラスを使ってみる。 | トップページ | C4D 「分離」ツール、SendModelingCommand()では? »