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
  • 目標
  • 主要な概念
  • バージョンの互換性
  • データセット
  • 対処法
  • 構造物を選択する
  • 構造物の位置を取得する
  • フィルタと並べ替え
  • 新しい名前を生成する
  • 構造物の名前を変更する
  • 結果
  • ボーナス: Dynamo での視覚化
  • アイデア
Edit on GitHub
Export as PDF
  1. Dynamo for Civil 3D
  2. サンプル ワークフロー
  3. ユーティリティ

構造物の名前を変更する

PreviousユーティリティNext軌道

Last updated 2 months ago

パイプ ネットワークにパイプと構造物を追加する場合、Civil 3D はテンプレートを使用して名前を自動的に割り当てます。通常、初期の配置時にはこの値で十分ですが、設計が進行するにつれて、必然的に名前を変更する必要が出てきます。さらに、要求される命名パターンは多数あります。たとえば、パイプ配管内で最も下流の構造物から始めて構造物に順番に命名したり、現地の関係機関のデータ スキーマに沿った命名パターンに従ったりすることです。この例では、Dynamo を使用して、あらゆるタイプの命名方法を定義して、一貫して適用する方法を示します。

目標

主要な概念

  • バウンディング ボックスを操作する

  • List.FilterByBoolMask ノードを使用してデータをフィルタする

  • List.SortByKey ノードを使用してデータを並べ替える

  • テキスト文字列を生成および修正する

バージョンの互換性

このグラフは Civil 3D 2020 以降で実行できます。

データセット

まず、以下のサンプル ファイルをダウンロードし、DWG ファイルと Dynamo グラフを開きます。

対処法

このグラフのロジックの概要を以下に示します。

  1. レイヤ別に構造物を選択する

  2. 構造物の位置を取得する

  3. 構造物をオフセットでフィルタし、測点で並べ替える

  4. 新しい名前を生成する

  5. 構造物の名前を変更する

以上です。

構造物を選択する

最初に、作業する構造物をすべて選択する必要があります。これを行うには、単純に特定のレイヤ上のすべてのオブジェクトを選択します。つまり、異なるパイプ ネットワークから構造物を選択できます(同じレイヤを共有していると仮定します)。

  1. このノードを使用すると、構造物と同じレイヤを共有する可能性のある不要なオブジェクト タイプを誤って取り出すことがなくなります。

構造物の位置を取得する

構造物が取得できたので、空間内での構造物の位置を特定し、位置に応じて構造物を並べ替えられるようにする必要があります。これを行うには、各オブジェクトのバウンディング ボックスを利用します。オブジェクトのバウンディング ボックスは、オブジェクトのジオメトリ範囲を完全に含む最小サイズのボックスです。バウンディング ボックスの中心を計算することで、構造物の挿入位置に非常に近い値が得られます。

これらの挿入位置を使用し、選択した Alignment を基準にして構造物の測点とオフセットを取得します。

フィルタと並べ替え

ここでは、少し面倒な作業を開始します。この段階では、指定したレイヤ上のすべての構造物の大きなリストを取得し、それを並べ替える Alignment を選択しました。問題は、名前を変更したくない構造物がリストに含まれている可能性があることです。たとえば、構造物が対象となる特定の経路に含まれていない場合があります。

  1. 選択された Alignment

  2. 名前を変更する構造物

  3. 無視する必要がある構造物

そのため、Alignment からの特定のオフセットよりも外にある構造物は対象に含めないように、構造物のリストをフィルタする必要があります。これは、List.FilterByBoolMask ノードを使用して行うのが最適です。構造物のリストをフィルタした後、List.SortByKey ノードを使用して、測点値で並べ替えます。

リストを初めて使用する場合は、「 リストの操作 」セクションを参照してください。

  1. 構造物のオフセットがしきい値より小さいかどうかを確認する

  2. Null 値を false に置き換える

  3. 構造物と測点のリストをフィルタする

  4. 構造物を測点で並べ替える

新しい名前を生成する

最後に、構造物の新しい名前を作成する必要があります。使用する形式は <alignment name>-STRC-<number> です。ここに、必要に応じてゼロを追加して数値に埋め込むための追加ノードがいくつかあります(例: 「1」を「01」に)。

構造物の名前を変更する

最後に、構造物の名前を変更します。

結果

以下に、Dynamo プレーヤを使用してグラフを実行する例を示します。

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

ボーナス: Dynamo での視覚化

Dynamo の 3D バックグラウンド プレビューを利用して、最終的な結果だけでなく、グラフの中間出力を視覚化すると便利です。簡単に行える方法の 1 つは、構造物のバウンディング ボックスを表示することです。さらに、この特定のデータセットにはドキュメントにコリドーがあるため、コリドー計画線ジオメトリを Dynamo に取り込んで、構造物が空間内のどこに位置するかを確認することができます。グラフがコリドーを持たないデータセットで使用されている場合、これらのノードは何も実行しません。

これで、オフセットによる構造物のフィルタ処理がどのように機能するかを理解できるようになりました。

アイデア

このグラフの機能を拡張する方法について、いくつかのアイデアを示します。

特定の Alignment を選択するのではなく、最も近い Alignment に基づいて構造物の名前を変更します。

構造物に加えて パイプの名前も変更します。

経路に基づいて構造物の レイヤを設定します。

Alignment の測点に基づいて、パイプ ネットワーク構造物の名前を順番に変更します。

ミッションが達成されました。

🎯
🎉
139KB
Utilities_RenameStructures.dyn
6MB
Utilities_RenameStructures.dwg
特定のレイヤ上の構造物を選択する
バウンディング ボックスを使用して各構造物のおおよその挿入位置を取得する
構造物をフィルタし、並べ替える
新しい構造物の名前を生成する
構造物の名前を設定する
Dynamo プレーヤを使用してグラフを実行し、Civil 3D で結果を確認する
構造物とコリドー計画線のジオメトリを視覚化する
Alignment オフセットのしきい値を調整し、影響を受ける構造物を Dynamo で視覚化する