# Lichtraumprofil

<figure><img src="https://641824696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNHcLDVpyqI8KoM5vfcD1%2Fuploads%2Fgit-blob-08eb8cd428425a923af595cea18442b7936ffbdf%2FRail_ClearanceEnvelope_Player.gif?alt=media" alt=""><figcaption></figcaption></figure>

Die Entwicklung kinematischer Profile für die Lichtraumvalidierung ist ein wichtiger Bestandteil der Schienenkonstruktion. Dynamo kann verwendet werden, um Volumenkörper für die Profile zu erstellen, anstatt komplexe 3D-Profilkörper-Querschnittsbestandteile erstellen und verwalten zu müssen.

## Ziel

> :dart: Verwenden Sie einen Block für einen Fahrzeug-Längsschnitt, um 3D-Volumenkörper mit Lichtraumprofil entlang eines 3D-Profilkörpers zu erstellen.

## Wichtige Konzepte

> * Arbeiten mit 3D-Profilkörper-Elementkanten
> * Transformieren von Geometrie zwischen Koordinatensystemen
> * Erstellen von Volumenkörpern durch Anhebung
> * Steuern des Blockverhaltens mit Vergitterungseinstellungen

## Kompatibilität der Versionen

{% hint style="success" %}
Dieses Diagramm wird in **Civil 3D 2020** und höher ausgeführt.
{% endhint %}

## Datensatz

Laden Sie zunächst die folgenden Beispieldateien herunter, und öffnen Sie dann die DWG-Datei und das Dynamo-Diagramm.

{% file src="<https://641824696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNHcLDVpyqI8KoM5vfcD1%2Fuploads%2Fgit-blob-222654e8840c6bbf40f05df443b418d04c4edbd7%2FRail_ClearanceEnvelope.dyn?alt=media>" %}

{% file src="<https://641824696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNHcLDVpyqI8KoM5vfcD1%2Fuploads%2Fgit-blob-555200ae7db1ec786f8084e35bd0a17f3fbdc8dc%2FRail_ClearanceEnvelope.dwg?alt=media>" %}

## Lösung

Hier sehen Sie einen Überblick über die Logik in diesem Diagramm.

> 1. Elementkanten aus der angegebenen 3D-Profilkörper-Basislinie abrufen
> 2. Koordinatensysteme entlang der 3D-Profilkörper-Elementkante mit dem gewünschten Abstand erstellen
> 3. Blockgeometrie des Längsschnitts in die Koordinatensysteme umwandeln
> 4. Volumenkörper zwischen den Längsschnitten anheben
> 5. Volumenkörper in Civil 3D erstellen

Los gehts!

### Abrufen von 3D-Profilkörperdaten

Unser erster Schritt ist das Abrufen von 3D-Profilkörperdaten. Wir wählen das 3D-Profilkörpermodell nach Name aus, rufen eine bestimmte Basislinie innerhalb des 3D-Profilkörpers ab und erhalten dann eine Elementkante innerhalb der Basislinie anhand ihres Punktcodes.

<figure><img src="https://641824696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNHcLDVpyqI8KoM5vfcD1%2Fuploads%2Fgit-blob-ac149803f2fec120b34fecefe697b2cb5598c462%2FRail_ClearanceEnvelope_GetCorridorData.png?alt=media" alt=""><figcaption><p>Auswählen von 3D-Profilkörpern, Basislinien und Elementkanten</p></figcaption></figure>

### Erstellen von Koordinatensystemen

Als Nächstes generieren wir **Koordinatensysteme** entlang der Elementkanten eines 3D-Profilkörpers zwischen einer bestimmten Anfangs- und Endstation. Diese Koordinatensysteme werden verwendet, um die Blockgeometrie des Fahrzeug-Längsschnitts am 3D-Profilkörper auszurichten.

{% hint style="info" %}
Wenn Koordinatensysteme neu für Sie sind, finden Sie im Abschnitt [2-vectors](https://primer2.dynamobim.org/de/5_essential_nodes_and_concepts/5-2_geometry-for-computational-design/2-vectors "mention") weitere Informationen.
{% endhint %}

<figure><img src="https://641824696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNHcLDVpyqI8KoM5vfcD1%2Fuploads%2Fgit-blob-f005dd000c839530bb8e664b761d858a45c2ebe9%2FRail_ClearanceEnvelope_CreateCoordinateSystems.png?alt=media" alt=""><figcaption><p>Abrufen von Koordinatensystemen entlang der 3D-Profilkörper-Elementkanten</p></figcaption></figure>

> 1. Beachten Sie das kleine **XXX** in der unteren rechten Ecke des Blocks. Dies bedeutet, dass die Vergitterungseinstellungen des Blocks auf *Kreuzprodukt* festgelegt sind. Dies ist erforderlich, um die Koordinatensysteme an den gleichen Stationswerten für beide Elementkanten zu generieren.

{% hint style="info" %}
Wenn die Blockvergitterung neu für Sie ist, finden Sie im Abschnitt [1-whats-a-list](https://primer2.dynamobim.org/de/5_essential_nodes_and_concepts/5-4_designing-with-lists/1-whats-a-list "mention") weitere Informationen.
{% endhint %}

### Transformieren von Blockgeometrie

Jetzt müssen wir eine Anordnung der Fahrzeug-Längsschnitte entlang der Elementkanten erstellen. Dafür transformieren wir die Geometrie mithilfe des **Geometry.Transform**-Blocks aus der Blockdefinition des Fahrzeug-Längsschnitts. Das Visualisieren dieses Konzepts ist schwierig. Bevor wir uns die Blöcke ansehen, sehen wir uns eine Grafik an, die zeigt, was passieren wird.

<figure><img src="https://641824696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNHcLDVpyqI8KoM5vfcD1%2Fuploads%2Fgit-blob-e303adc517b5bf2951a8d04ae1c2675b1842eb53%2FRail_ClearanceEnvelope_TransformAnimation.gif?alt=media" alt=""><figcaption><p>Eine Visualisierung der Geometrietransformation zwischen Koordinatensystemen</p></figcaption></figure>

Im Prinzip wird also die Dynamo-Geometrie aus einer *einzelnen* Blockdefinition während der Erstellung einer Anordnung entlang der Elementkante verschoben/gedreht. Ziemlich cool! Hier sehen Sie die Blocksequenz.

<figure><img src="https://641824696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNHcLDVpyqI8KoM5vfcD1%2Fuploads%2Fgit-blob-44c2996470bb14d4a59c7a418708593d00194ab2%2FRail_ClearanceEnvelope_Transform.png?alt=media" alt=""><figcaption></figcaption></figure>

> 1. Hiermit wird die Blockdefinition aus dem Dokument abgerufen.
> 2. Diese Blöcke übernehmen die Dynamo-Geometrie der Objekte innerhalb des Blocks.
> 3. Diese Blöcke definieren im Wesentlichen das Koordinatensystem, *aus* dem die Geometrie transformiert wird.
> 4. Und schließlich führt dieser Block die eigentliche Transformation der Geometrie durch.
> 5. Beachten Sie die *längste* Vergitterung in diesem Block.

Und so sieht dies in Dynamo aus.

<figure><img src="https://641824696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNHcLDVpyqI8KoM5vfcD1%2Fuploads%2Fgit-blob-28cd3b3dcb9a5f88df9b5bf620e61e6b087f89d9%2FRail_ClearanceEnvelope_Dynamo_Profiles.png?alt=media" alt=""><figcaption><p>Die Blockgeometrie des Fahrzeug-Längsschnitts nach der Transformation</p></figcaption></figure>

### Erstellen von Volumenkörpern

Gute Neuigkeiten! Die harte Arbeit ist getan. Jetzt müssen wir nur noch Volumenkörper zwischen den Längsschnitten generieren. Dies lässt sich einfach mithilfe des **Solid.ByLoft**-Blocks bewerkstelligen.

<figure><img src="https://641824696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNHcLDVpyqI8KoM5vfcD1%2Fuploads%2Fgit-blob-ba0723c6e309707fd12e50c89983205a4a9725be%2FRail_PlaceTies_SolidByLoft.png?alt=media" alt="" width="325"><figcaption></figcaption></figure>

Hier sehen Sie das Ergebnis. Beachten Sie, dass es sich um Dynamo-Volumenkörper handelt, die in Civil 3D noch erstellt werden müssen.

<figure><img src="https://641824696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNHcLDVpyqI8KoM5vfcD1%2Fuploads%2Fgit-blob-28e91b1c436018bf6ecb7afe18ac32f11c78da6a%2FRail_ClearanceEnvelope_Dynamo_Solids.png?alt=media" alt=""><figcaption><p>Die Dynamo-Volumenkörper nach dem Anheben</p></figcaption></figure>

### Ausgeben von Volumenkörpern in Civil 3D

Der letzte Schritt besteht darin, die generierten Volumenkörper im Modellbereich auszugeben. Wir ordnen ihnen auch eine Farbe zu, damit sie sehr leicht zu erkennen sind.

<figure><img src="https://641824696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNHcLDVpyqI8KoM5vfcD1%2Fuploads%2Fgit-blob-bf5954f60f7c14543cee49ee5d1eefcd4b9648d0%2FRail_ClearanceEnvelope_SolidsToC3D.png?alt=media" alt=""><figcaption><p>Ausgeben der Volumenkörper in Civil 3D</p></figcaption></figure>

### Ergebnis

Hier sehen Sie ein Beispiel für die Ausführung des Diagramms mit **Dynamo Player**.

<figure><img src="https://641824696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNHcLDVpyqI8KoM5vfcD1%2Fuploads%2Fgit-blob-08eb8cd428425a923af595cea18442b7936ffbdf%2FRail_ClearanceEnvelope_Player.gif?alt=media" alt=""><figcaption><p>Ausführen des Diagramms mit Dynamo Player und Anzeigen der Ergebnisse in Civil 3D</p></figcaption></figure>

{% hint style="info" %}
Wenn Dynamo Player neu für Sie ist, finden Sie im Abschnitt [dynamo-player](https://primer2.dynamobim.org/de/dynamo-for-civil-3d/dynamo-player "mention") weitere Informationen.
{% endhint %}

> :tada: Mission erfüllt!

## Ideen

Im Folgenden finden Sie einige Anregungen, wie Sie die Funktionen dieses Diagramms erweitern können.

{% hint style="info" %}
Fügen Sie eine Funktion hinzu, mit der Sie **verschiedene Stationsbereiche** separat für jede Spur verwenden können.
{% endhint %}

{% hint style="info" %}
**Teilen Sie die Volumenkörper** in kleinere Segmente, die einzeln auf Kollisionen analysiert werden können.
{% endhint %}

{% hint style="info" %}
Überprüfen Sie, ob sich die Profilvolumenkörper **mit Objekten überschneiden**, und färben Sie kollidierende Objekte ein.
{% endhint %}
