Dynamo for Civil 3D には、各ノードで作成されたオブジェクトを「記憶する」ための非常に強力なメカニズムが含まれています。このメカニズムはオブジェクト バインドと呼ばれ、これにより、Dynamo グラフは同じドキュメントで実行されるたびに一貫した結果を生成することができます。これは多くの状況で非常に望ましいことですが、Dynamo の動作をより詳細にコントロールしなければならない場合もあります。このセクションでは、オブジェクト バインドの仕組みと、その利点について説明します。
現在のレイヤでモデル空間に円を作成するこのグラフについて考えてみましょう。
半径が変更されるとどうなるかに注目してください。
これが実際のオブジェクト バインドです。Dynamo の既定の動作では、半径の入力が変更されるたびに新しい円が作成されるのではなく、円の半径が 修正 されます。これは、グラフを実行するたびに、Object.ByGeometry ノードが 特定の 円を作成したことを「記憶」するためです。さらに、Dynamo はこの情報を保存するので、次に Civil 3D ドキュメントを開いてグラフを実行すると、まったく同じ動作が実行されます。
次に、Dynamo の既定のオブジェクト バインド動作を変更する例を見てみましょう。たとえば、円の中央にテキストを配置するグラフを作成するとします。ただし、このグラフの目的は、繰り返し実行でき、選択した円に毎回新しいテキストを配置できるようにすることです。グラフは次のようになります。
ただし、別の円を選択すると、実際にはこのようになります。
グラフを実行するたびにテキストが削除され、再作成されているように見えます。実際には、選択した円に応じてテキストの位置が 修正 されています。つまり、同じテキストが、別の場所に配置されているだけです。毎回新しいテキストを作成するには、バインド データが保持されないように、Dynamo のオブジェクト バインド設定を修正する必要があります(以下の「#binding-settings」を参照してください)。
この変更を行うと、求めている動作が得られます。
Dynamo for Civil 3D では、Dynamo メニューの [バインド データ ストレージ] 設定を使用して、既定のオブジェクト バインドの動作を変更することができます。
[バインド データ ストレージ]オプションは、Civil 3D 2022.1 以降で使用できることに注意してください。
すべてのオプションは既定で有効になっています。各オプションの機能の概要を次に示します。
このオプションを有効にすると、Dynamo は最後にグラフを実行したときに作成したオブジェクトを「忘れる」ようになります。したがって、グラフは、どのような状況でも任意の図面で実行でき、毎回新しいオブジェクトを作成します。
使用する状況
このオプションは、前回の実行で行った操作をすべて Dynamo が「忘れて」、毎回新しいオブジェクトを作成する場合に使用します。
このオプションを選択すると、オブジェクト バインド メタデータが保存時にグラフ(.dyn ファイル)にシリアル化されます。グラフを閉じて再度開き、同じ図面で実行すると、すべてが、グラフを閉じる前と同じように動作するはずです。別の図面でグラフを実行すると、グラフからバインド データが削除され、新しいオブジェクトが作成されます。これは、元の図面を開いてグラフを再度実行すると、古いオブジェクトに加えて新しいオブジェクトが作成されることを意味します。
使用する状況
このオプションは、特定の図面で最後に作成したオブジェクトを Dynamo に「記憶」させたい場合に使用します。
このオプションは、特定の図面 と Dynamo グラフの間で 1:1 の関係を維持できる場合に最適です。オプション 1 と 3 は、複数の図面で実行するように設計されたグラフに適しています。
これは、オブジェクト バインド データがグラフ(.dyn ファイル)ではなく図面内でシリアル化される点を除き、オプション 2 と同様です。グラフを閉じて再度開き、同じ図面で実行すると、すべてが、グラフを閉じる前と同じように動作するはずです。別の図面でグラフを実行すると、バインド データはグラフではなく図面に保存されるため、元の図面でも保持されます。
使用する状況
このオプションは、複数の図面で同じグラフを使用し、Dynamo にそれぞれのグラフで行ったことを「記憶」させる場合に使用します。
このオプションで最初に注意する点は、メインの Dynamo インタフェースでグラフを実行する場合に、グラフと図面の相互作用に影響を与えないことです。このオプションは、Dynamo プレーヤを使用してグラフを実行する場合に のみ 適用されます。
Dynamo プレーヤを初めて使用する場合は、「Dynamo プレーヤ」 セクションを参照してください。
メインの Dynamo インタフェースを使用してグラフを実行し、その後閉じて、次に Dynamo プレーヤを使用して同じグラフを実行すると、以前に作成したオブジェクトの上に新しいオブジェクトが作成されます。ただし、Dynamo プレーヤでグラフを一度実行すると、図面内のオブジェクト バインド データがシリアル化されます。したがって、Dynamo プレーヤでグラフを複数回実行する場合、新しいオブジェクトを作成するのではなく、オブジェクトが更新されます。別の図面で Dynamo プレーヤを使用してグラフを実行した場合、バインド データはグラフではなく図面に保存されるため、元の図面で保持されます。
使用する状況
このオプションは、複数の図面で Dynamo プレーヤを使用してグラフを実行し、各グラフで行ったことを「記憶」させる場合に使用します。