Rebuild Factoryzの礒です。
今回は、ジオメトリー間でサイズを合わせたり、面の位置を合わせたりするときに使うch関数について、備忘録代わりに書いておこうと思います。
やりたいこと

Box1(赤色)の上にぴったりBox2(青色)を乗せる。
全体図

全体図は割とシンプルに収めました。
右側のネットワークは緑色のtransformノードしか使わないです。
青色Boxの位置調整

Boxの底面をグリッドに合わせたいので、
ch("sizey")/2
とCenterのY軸に入力します。
Transformで面を合わせたい

青色BoxをTransformノードで位置合わせしたいと思います。
さてパラメーターにはどう入力すればいいんでしょうか。

海外のモデリング例などを見るとよく見かけることもありますし、自分でジオメトリーの編集結果をNullノードを用いてOutputを明確化することが多々あります。
そこでジオメトリーの編集結果であるNullをch関数で引っ張ってきて書いてみましょう。
ch("../OUT_box1/sizey")
書いてはみましたが、これではだめです。
ではどうすればいいのか

ch("../box1/sizey")
そこで赤色のBox1のYサイズを引っ張ってきてみましょう。
今回は青色BoxがY軸方向に動きました!
正解かと思いきや…

間が空いている…。
これは単純に赤色BoxのYサイズ分動かしたからこうなっているだけです。
さらに前提条件として、青色Boxは最初からグリッドと面合わせをするために、CenterをY軸方向に動かしていました。
それが結果としてBox間に隙間を作る原因となりました。
余談:bbox

あえてNullノードを使って面合わせをするのであれば、
bbox("../OUT_box/", D_YMAX)
とTranslateのYパラメーターに入力すれば、Nullノードのバウンディングボックスのサイズを引っ張ってくることができます。
赤色BoxのCenterを変える

余談はさておき、赤色Boxの底面を青色Boxと同じようにグリッドと合わせてみましょう。

これで期待通りの結果が導かれました。
赤色BoxのYサイズを変更しても青色Boxが追従してくれるようになります。
ここで終わってもいいのですが、少し余談を書いていきます。
Transformを挿入すると…

赤色Boxノードの下にTransformノードを入れてみましょう。
当たり前ですが追従しません。

そこでTransformのサイズを引っ張ってきてみましょうか。
ch("../transform2/sizey")
Transformはサイズを持っていないので結果は0です。

解決策として考えられるのはバウンディングボックスを利用することです。
bbox("../transform2", D_YMAX)
ですが、この手はNullノードを相手にしても同じことです。
モデリングのフローをわかりやすくするためにもNullノード(名前はOUT_をつけるなど)を活用することで、ノードネットワークなどが綺麗に保たれます。
まとめ
ということでバウンディングボックスを使って位置合わせをするならNullノードで事足りますね。
そしてch関数でジオメトリーのサイズを参照する場合は、必ずジオメトリーを相手にすること。
Nullノードなどからは引っ張ってくることはできません。
chとbboxはモデリング中、割と混同する関数だと思います。
僕も結構間違えることがあります。
間違えずにバシッと一発で決めることができるようになったら初心者から脱却できるかもしれませんね。
終わり
では今回はこれで終わります。