🚩

Dynamoサンプル:制御文

2023/11/15に公開

if文で実行/実行しない

例えば、選択した図形の画層が「_1」の場合のみ、その図形を移動したい時。

こんな風に作成してみる。条件式がfalseで、出力がnullになってはいる。

でもどちらも移動されてしまう。

なぜならifの前は全部実行されてしまうので、ifの前の「移動を実行」グループはtrueだろうがfalseだろうが、実行されてしまうのだ。

じゃあ、どうするか?
これが正解かはわからないのだけど、ScopeIfを使うとよいみたい。ただし、ScopeIfはカスタムノードで使用しないと、うまく動いてくれないらしい。

「オブジェクトの選択」と「X移動量」以外を選択し、背景で右クリック(ノードの上ではダメ)、「カスタムノードを作成」を選択。

「名前」と「アドオンのカテゴリ」を適当に入力。

作成されたノードを右クリックし、「カスタムノードを編集」を選択。

IfScopeIfに変更し、保存して閉じる。

実行してみると、「_1」画層以外では動かないようになる。

Discussion