例:hako001という名前のオブジェクトが存在するとき、それをスクリプトで選択したい場合
taisyou = "$'" + "hako" + "001" + "'" select taisyou
↑の記述だとエラーになる。
select $’hako001’と記述すれば、ちゃんと動作するのに、
なぜ変数taisyouに入った$’hako001’だとエラーになってしまうのか。
●select関数を使う際の決まりが守られていないからエラーになる。
select関数の引数は、ノード値でなければならないのに、
↑の例だと変数taisyouの中身は、String値(文字列値)になっている。
なのでエラーが発生する。
●エラーの解決方法
文字列値だと駄目なら、ノード値に変換すればいいじゃない。
文字列をノード値に変換するには、execute関数を使う。
taisyou = "$'" + "hako" + "001" + "'" taisyou = execute(taisyou) select taisyou
※taisyou = execute(taisyou)の部分は、
taisyou = execute taisyouと記述しても問題ない。
データ型を文字列値からノード値へ変換したので、
問題なくオブジェクトhako001を選択できる。
●データ型を確認する方法
classOf関数を使ってデータ型を調べる。
taisyou = "$'" + "hako" + "001" + "'" classOf taisyou
実行すると、↑の変数taisyouの中身は、string(文字列値)になっているのが確認できる。
●数値と文字の違いについて
数値の場合:1+1=2
文字の場合:1+1=11
"1" + "1" --←結果は11になる。 execute "1+1" --←結果は2になる。
●用語について
・引数(ひきすう)って何?
関数に渡す値の事。
・関数って何?
特定の処理に名前をつけて、再利用しやすくしたもの。
値を渡せば、処理され結果が返ってくる。
値を渡さず、処理を行う関数もある。
select関数は、ノード値を渡すと、
そのノードを選択する処理をしてくれる。
・ノードって何?
オブジェクトの事
・データ型って何?
値の種類の事。
数値、文字列値、カラー値、その他色々
3ds Max 2017 ヘルプ 基本的なデータ値
●参考文献へのリンク
↓select関数について
3ds Max 2017 ヘルプ ノードの共通プロパティ、演算子、メソッド
ノード選択のメソッド
↓classOf関数について
3ds Max 2017 ヘルプ 値の共通プロパティ、演算子、メソッド
↓execute関数について
3ds Max 2017 ヘルプ 文字列値