Dynamo
Primer for v2.0
日本語
日本語
  • この Web サイトについて
  • はじめに
    • Dynamo とは、その動作の仕組みとは
    • Primer ユーザ ガイド、Dynamo コミュニティ、プラットフォーム
  • Dynamo のセットアップ
  • ユーザ インタフェース
    • ワークスペース
    • ライブラリ
  • ノードとワイヤ
  • 基本ノードと概念
    • ノードの索引
    • 計算設計用のジオメトリ
      • ジオメトリの概要
      • ベクトル、平面、座標系
      • 点群
      • 曲線
      • サーフェス
      • 立体
      • メッシュ
    • プログラムの構成要素
      • データ
      • 数学的方法
      • ロジック
      • 文字列
      • 色
    • リストを使用した設計
      • リストの概要
      • リストの操作
      • リストのリスト
      • N 次元のリスト
    • Dynamo のディクショナリ
      • ディクショナリとは
      • [Dictionary]カテゴリのノード
      • コード ブロックにおけるディクショナリ
      • Revit での使用例
  • カスタム ノードとパッケージ
    • カスタム ノード
      • カスタム ノードの概要
      • カスタム ノードを作成する
      • ライブラリへのパブリッシュ
    • パッケージ
      • パッケージの概要
      • パッケージのケース スタディ - Mesh Toolkit
      • パッケージを開発する
      • パッケージをパブリッシュする
      • Zero-Touch Importing
  • Revit 用の Dynamo
    • Revit との連携
    • 選択
    • 編集
    • 作成
    • カスタマイズ
    • 設計図書の作成
  • Dynamo for Civil 3D
    • Civil 3D の接続
    • スタートアップ
    • ノード ライブラリ
    • サンプル ワークフロー
      • 道路
        • 照明柱の配置
      • 土地
        • サービスの配置
      • ユーティリティ
        • 構造物の名前を変更する
      • 軌道
        • クリアランスのエンベロープ
      • 測量
        • ポイント グループ管理
    • 高度なトピック
      • オブジェクト バインド
      • Python と Civil 3D
    • Dynamo プレーヤ
    • 便利なパッケージ
    • リソース
  • Dynamo in Forma Beta
    • Forma で Dynamo Player を設定する
    • Dynamo Player でグラフを追加、共有する
    • Dynamo Player でグラフを実行する
    • Dynamo コンピューティング サービスとデスクトップ版 Dynamo の違い
  • Dynamo でのコーディング
    • コード ブロックと DesignScript
      • コード ブロックとは
      • DesignScript 構文
      • 省略表記
      • 関数
    • DesignScript を使用するジオメトリ
      • DesignScript ジオメトリの基本
      • ジオメトリ プリミティブ
      • ベクトル計算
      • 曲線: 補間および制御点
      • 移動、回転、およびその他の変換
      • サーフェス: 補間、制御点、ロフト、回転
      • ジオメトリのパラメータ化
      • 交差およびトリム
      • ジオメトリのブール演算
      • Python 点ジェネレータ
    • Python
      • Python Script ノード
      • Python と Revit
      • 独自の Python テンプレートを設定する
    • 言語の変更
  • ベスト プラクティス
    • 見やすいプログラムを作成するためのガイドライン
    • スクリプト作成のガイドライン
    • スクリプト リファレンス
    • プログラムを管理する
    • Dynamo で大規模なデータ セットを効率的に操作する
  • サンプル ワークフロー
    • スタートアップ ワークフロー
      • パラメータを使用する花瓶
      • アトラクタ ポイント
    • 概念インデックス
  • 開発者向け Primer
    • ソースから Dynamo をビルドする
      • ソースから DynamoRevit をビルドする
      • Dynamo での依存関係の管理と更新
    • Dynamo 向けの開発
      • スタートアップ
      • Zero-Touch ケース スタディ - グリッド ノード
      • Zero-Touch ノードで Python スクリプトを実行する(C#)
      • Zero-Touch の詳細を確認する
      • Dynamo ノードの高度なカスタマイズ
      • Dynamo パッケージで COM (相互運用)タイプを使用する
      • NodeModel ケース スタディ - カスタム UI
      • Dynamo 2.x 用のパッケージと Dynamo ライブラリを更新する
      • Dynamo 3.x 用のパッケージと Dynamo ライブラリを更新する
      • 拡張機能
      • Dynamo 2.0+ のカスタム パッケージ編成を定義する
      • Dynamo コマンド ライン インタフェース
      • Dynamo の統合
      • Dynamo for Revit 向けの開発
      • パッケージをパブリッシュする
      • Visual Studio からパッケージをビルドする
      • パッケージとしての拡張機能
    • プル リクエスト
    • テストによる期待
    • サンプル
  • 付録
    • よくある質問(FAQ)
    • ビジュアル プログラミングと Dynamo
    • リソース
    • リリース ノート
    • 便利なパッケージ
    • サンプル ファイル
    • ホスト統合マップ
    • PDF をダウンロード
    • Dynamo のキーボード ショートカット
Powered by GitBook
On this page
  • 例
  • 別の例
  • バインド設定
  • オプション1: バインド データを保持しない
  • オプション2: Dynamo のグラフに保存する
  • オプション3: Dynamo の図面に保存する
  • オプション4: Dynamo プレーヤの図面に保存する
Edit on GitHub
Export as PDF
  1. Dynamo for Civil 3D
  2. 高度なトピック

オブジェクト バインド

Previous高度なトピックNextPython と Civil 3D

Last updated 1 month ago

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 以降で使用できることに注意してください。

すべてのオプションは既定で有効になっています。各オプションの機能の概要を次に示します。

オプション1: バインド データを保持しない

このオプションを有効にすると、Dynamo は最後にグラフを実行したときに作成したオブジェクトを「忘れる」ようになります。したがって、グラフは、どのような状況でも任意の図面で実行でき、毎回新しいオブジェクトを作成します。

使用する状況

このオプションは、前回の実行で行った操作をすべて Dynamo が「忘れて」、毎回新しいオブジェクトを作成する場合に使用します。

オプション2: Dynamo のグラフに保存する

このオプションを選択すると、オブジェクト バインド メタデータが保存時にグラフ(.dyn ファイル)にシリアル化されます。グラフを閉じて再度開き、同じ図面で実行すると、すべてが、グラフを閉じる前と同じように動作するはずです。別の図面でグラフを実行すると、グラフからバインド データが削除され、新しいオブジェクトが作成されます。これは、元の図面を開いてグラフを再度実行すると、古いオブジェクトに加えて新しいオブジェクトが作成されることを意味します。

使用する状況

このオプションは、特定の図面 で最後に作成したオブジェクトを Dynamo に「記憶」させたい場合に使用します。

このオプションは、特定の図面 と Dynamo グラフの間で 1:1 の関係を維持できる場合に最適です。オプション 1 と 3 は、複数の図面で実行するように設計されたグラフに適しています。

オプション3: Dynamo の図面に保存する

これは、オブジェクト バインド データがグラフ(.dyn ファイル)ではなく図面内でシリアル化される点を除き、オプション 2 と同様です。グラフを閉じて再度開き、同じ図面で実行すると、すべてが、グラフを閉じる前と同じように動作するはずです。別の図面でグラフを実行すると、バインド データはグラフではなく図面に保存されるため、元の図面でも保持されます。

使用する状況

このオプションは、複数の図面で同じグラフを使用し、Dynamo にそれぞれのグラフで行ったことを「記憶」させる場合に使用します。

オプション4: Dynamo プレーヤの図面に保存する

このオプションで最初に注意する点は、メインの Dynamo インタフェースでグラフを実行する場合に、グラフと図面の相互作用に影響を与えないことです。このオプションは、Dynamo プレーヤを使用してグラフを実行する場合に のみ 適用されます。

Dynamo プレーヤを初めて使用する場合は、「 Dynamo プレーヤ 」セクションを参照してください。

メインの Dynamo インタフェースを使用してグラフを実行し、その後閉じて、次に Dynamo プレーヤを使用して同じグラフを実行すると、以前に作成したオブジェクトの上に新しいオブジェクトが作成されます。ただし、Dynamo プレーヤでグラフを一度実行すると、図面内のオブジェクト バインド データがシリアル化されます。したがって、Dynamo プレーヤでグラフを複数回実行する場合、新しいオブジェクトを作成するのではなく、オブジェクトが更新されます。別の図面で Dynamo プレーヤを使用してグラフを実行した場合、バインド データはグラフではなく図面に保存されるため、元の図面で保持されます。

使用する状況

このオプションは、複数の図面で Dynamo プレーヤを使用してグラフを実行し、各グラフで行ったことを「記憶」させる場合に使用します。

円を作成するための単純なグラフ
Dynamo で半径の入力を変更する
選択した円の中心にテキストを配置する単純なグラフ
新しい円を選択したときの Dynamo の既定の動作
オブジェクト バインド設定
オブジェクト バインドが無効になっている場合の動作