クリアランス検証のための運動学的エンベロープの開発は、鉄道設計の重要な部分です。Dynamo を使用すると、複雑なコリドー サブアセンブリを作成して管理する代わりに、エンベロープのソリッドを生成してこのジョブを実行できます。
コリドー計画線を操作する
座標系間でジオメトリを変換する
ロフトによりソリッドを作成する
レーシング設定を使用してノードの動作をコントロールする
このグラフは **Civil 3D 2020** 以降で実行できます。
まず、以下のサンプル ファイルをダウンロードし、DWG ファイルと Dynamo グラフを開きます。
このグラフのロジックの概要を以下に示します。
指定したコリドー基線から計画線を取得する
コリドー計画線に沿って目的の間隔で座標系を生成する
プロファイルの Block ジオメトリを座標系に変換する
プロファイル間でソリッドをロフトする
Civil 3Dでソリッドを作成する
以上です。
最初の手順は、コリドー データを取得することです。コリドー モデルを名前で選択し、コリドー内の特定の基線を取得します。次に、基線内の計画線をそのポイント コードで取得します。
ここで、指定した開始測点と終了測点の間に、コリドー計画線に沿って座標系を生成します。これらの座標系は、車両プロファイルの Block ジオメトリを コリドーに位置合わせするために使用されます。
座標系を初めて使用する場合は、「[2-vectors.md](../../../5\_essential\_nodes\_and\_concepts/5-2\_geometry-for-computational-design/2-vectors.md "mention")」 セクションを参照してください。
ノードの右下隅にある小さな XXX に注目してください。これは、ノードのレーシング設定が [直積] に設定されていることを意味します。これは、両方の計画線に対して同じ測点値で座標系を生成するために必要です。
ノード レーシングを初めて使用する場合は、「[1-whats-a-list.md](../../../5\_essential\_nodes\_and\_concepts/5-4\_designing-with-lists/1-whats-a-list.md "mention")」 セクションを参照してください。
ここで、計画線に沿って車両プロファイルの配列を何らかの方法で作成する必要があります。これから行う作業では、Geometry.Transform ノードを使用して、車両プロファイルのブロック定義からジオメトリを変換します。これは視覚化が難しい概念なので、ノードを確認する前に、次のグラフィックスでこれから起こる動作を示します。
基本的に、単一の Block 定義から Dynamo ジオメトリを取得し、移動または回転しながら、計画線に沿って配列を作成します。いいですね。ノード シーケンスは次のようになります。
これにより、ドキュメントから Block 定義を取得します。
これらのノードは、Block 内のオブジェクトの Dynamo ジオメトリを取得します。
これらのノードは、基本的にジオメトリの 変換元 の座標系を定義します。
最後に、このノードはジオメトリを変換する実際の作業を行います。
このノードの 最長 レーシングに注目してください。
Dynamo では、次のようになります。
とっておきの朗報です。大変な作業は終わりました。次に行う必要があるのは、プロファイル間にソリッドを生成することだけです。これは、Solid.ByLoft ノードを使用して簡単に行うことができます。
結果は次のようになります。これらは Dynamo ソリッドです。これらを Civil 3D で作成する必要があります。
最後の手順は、生成されたソリッドをモデル空間に出力することです。見やすくするために、色付けもします。
以下に、Dynamo プレーヤを使用してグラフを実行する例を示します。
Dynamo プレーヤを初めて使用する場合は、「[dynamo-player.md](../../dynamo-player.md "mention")」 セクションを参照してください。
このグラフの機能を拡張する方法について、いくつかのアイデアを示します。
各トラックに対して**異なる測点範囲**を個別に使用する機能を追加します。
小さなセグメントに**ソリッドを分割**し、クラッシュを個別に解析できるようにします。
エンベロープ ソリッドが**フィーチャと交差**するかを確認し、クラッシュするソリッドに色を付けます。
車両の縦断ブロックを使用して、コリドーに沿ってクリアランスのエンベロープ 3D ソリッドを生成します。
ミッションが達成されました。