# Punktgruppenverwaltung

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

Die Arbeit mit Koordinatenpunkten und Punktgruppen in Civil 3D ist ein Kernelement vieler Prozesse von der Feldvermessung bis zum grafischen Endergebnis. Dynamo eignet sich perfekt für die Datenverwaltung, und wir werden in diesem Beispiel einen potenziellen Anwendungsfall zeigen.

## Ziel

> :dart: Erstellen Sie eine Punktgruppe für jede eindeutige Koordinatenpunktbeschreibung.

## Wichtige Konzepte

> * Arbeiten mit Listen
> * Gruppieren ähnlicher Objekte mit dem Block **List.GroupByKey**
> * Anzeigen von benutzerdefinierten Ausgaben in Dynamo Player

## 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-68c592610d9a8821d43a6a5e7cc5a1a9aab62cb5%2FSurvey_CreatePointGroups.dyn?alt=media>" %}

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

## Lösung

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

> 1. Alle Koordinatenpunkte im Dokument abrufen
> 2. Koordinatenpunkte nach Beschreibung gruppieren
> 3. Punktgruppen erstellen
> 4. Zusammenfassung in Dynamo Player ausgeben

Los gehts!

### Abrufen von Koordinatenpunkten

Der erste Schritt besteht darin, alle Punktgruppen im Dokument und dann alle Koordinatenpunkte in jeder Gruppe abzurufen. Dadurch erhalten wir eine *verschachtelte Liste* bzw. "Liste von Listen", die später einfacher zu bearbeiten ist, wenn wir alles mithilfe des **List.Flatten**-Blocks auf eine einzige Liste reduzieren.

{% hint style="info" %}
Wenn Listen neu für Sie sind, finden Sie im Abschnitt [2-working-with-lists](https://primer2.dynamobim.org/de/5_essential_nodes_and_concepts/5-4_designing-with-lists/2-working-with-lists "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-b6d5829e6972d7bcf560913c4c888b076f0b8c63%2FSurvey_CreatePointGroups_GetPoints.png?alt=media" alt=""><figcaption><p>Alle Punktgruppen und Koordinatenpunkte abrufen</p></figcaption></figure>

### Gruppieren von Punkten nach Beschreibung

Nachdem wir nun alle Koordinatenpunkte haben, müssen wir sie anhand ihrer Beschreibungen in Gruppen unterteilen. Dies entspricht genau der Funktion des Blocks **List.GroupByKey**. Im Prinzip werden alle Elemente, die denselben Schlüssel verwenden, in Gruppen zusammengefasst.

<figure><img src="https://641824696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNHcLDVpyqI8KoM5vfcD1%2Fuploads%2Fgit-blob-1dc33f106d1fe23c1ddcfaf5d44981bb93c5e073%2FSurvey_CreatePointGroups_GroupPoints.png?alt=media" alt="" width="563"><figcaption><p>Gruppieren der Koordinatenpunkte nach Beschreibung</p></figcaption></figure>

### Erstellen von Punktgruppen

Die harte Arbeit ist getan! Der letzte Schritt besteht darin, neue Civil 3D-Punktgruppen aus den gruppierten Koordinatenpunkten zu erstellen.

<figure><img src="https://641824696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNHcLDVpyqI8KoM5vfcD1%2Fuploads%2Fgit-blob-c00a6e7ad8cf938ca43602d6f0305bc93ebfd5ac%2FSurvey_CreatePointGroups_CreatePointGroups.png?alt=media" alt="" width="371"><figcaption><p>Neue Punktgruppen erstellen</p></figcaption></figure>

### Ausgabezusammenfassung

Wenn Sie das Diagramm ausführen, ist in der Dynamo-Hintergrundvorschau nichts zu sehen, da wir nicht mit Geometrie arbeiten. Die einzige Möglichkeit, um zu sehen, ob das Diagramm korrekt ausgeführt wurde, besteht darin, den Projektbrowser zu überprüfen oder die Blockausgabe-Vorschau anzuzeigen. Wenn Sie das Diagramm jedoch mit **Dynamo Player** ausführen, wird mehr Feedback zu den Ergebnissen des Diagramms bereitgestellt, indem eine Zusammenfassung der erstellten Punktgruppen ausgegeben wird. Sie müssen nur mit der rechten Maustaste auf einen Block klicken und *Ist Ausgabe* auswählen. In diesem Fall verwenden wir einen umbenannten **Watch**-Block, um die Ergebnisse anzuzeigen.

<figure><img src="https://641824696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNHcLDVpyqI8KoM5vfcD1%2Fuploads%2Fgit-blob-70ccd96998b9092870379ff76ce2f158216df4c5%2FSurvey_CreatePointGroups_Output.png?alt=media" alt="" width="437"><figcaption><p>Wenn Sie einen Block auf <em>Ist Ausgabe</em> setzen, werden die Inhalte in der Dynamo Player-Ausgabe angezeigt.</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-860970db9cbdf8a33d24ec6d1e14a5883672005b%2FSurvey_CreatePointGroups_Player.gif?alt=media" alt=""><figcaption><p>Ausführen des Diagramms mit Dynamo Player und Anzeigen der Ergebnisse im Projektbrowser</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" %}
Ändern Sie die Punktgruppierung, sodass die **ausführliche Beschreibung** anstelle der Kurzbeschreibung verwendet wird.
{% endhint %}

{% hint style="info" %}
Gruppieren Sie die Punkte nach anderen **vordefinierten Kategorien**, die Sie auswählen (z. B. Geländeaufnahmen, Monumente usw.)
{% endhint %}

{% hint style="info" %}
Erstellen Sie automatisch triangulierte DGMs für Punkte in bestimmten Gruppen.
{% endhint %}
