> For the complete documentation index, see [llms.txt](https://primer2.dynamobim.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://primer2.dynamobim.org/ru/dynamo-for-civil-3d/sample-workflows/surveying/point-group-management.md).

# Управление группами точек

<figure><img src="/files/uh6mItjLMJRWqQG6B34s" alt=""><figcaption></figcaption></figure>

Работа с точками COGO и группами точек в Civil 3D является ключевым элементом многих процессов, связанных с завершением обработки полевых данных. Dynamo отлично подходит для управления данными. В этом примере мы рассмотрим один из возможных примеров использования.

## Цель

> :dart: Создание группы точек для каждого уникального описания точки COGO.

## Основные этапы

> * Работа со списками
> * Группировка схожих объектов с помощью узла **List.GroupByKey**
> * Отображение пользовательских выходных данных в проигрывателе Dynamo

## Совместимость версий

{% hint style="success" %}
Этот график будет работать в \*\*Civil 3D 2020\*\* и более поздних версиях.
{% endhint %}

## Набор данных

Сначала скачайте файлы примеров ниже, а затем откройте файл DWG и график Dynamo.

{% file src="/files/HMNBl4kOkaIV4czoA3Lc" %}

{% file src="/files/hxEN4deQyMi0pBhY8ljX" %}

## Решение

Ниже представлен обзор логики, используемой в этом графике.

> 1. Получение всех точек COGO в документе.
> 2. Группировка точек COGO по описанию.
> 3. Создание групп точек.
> 4. Вывод сводных данных в проигрывателе Dynamo.

Приступим!

### Получение точек COGO

Сначала необходимо получить все группы точек в документе, а затем все точки COGO в каждой группе. В результате мы получим *вложенный список*, или список списков. Если мы выровняем все элементы в один список с помощью узла **List.Flatten**, это упростит дальнейшую работу.

{% hint style="info" %}
Если вы еще не знакомы со списками, см. раздел [Работа со списками](/ru/5_essential_nodes_and_concepts/5-4_designing-with-lists/2-working-with-lists.md).
{% endhint %}

<figure><img src="/files/Fygko5LvMp3ytyvLoOfG" alt=""><figcaption><p>Получение всех групп точек и точек COGO</p></figcaption></figure>

### Группирование точек по описанию

Теперь, когда мы получили все точки COGO, необходимо разделить их на группы на основе их описаний. С этой задаче блестяще справится узел **List.GroupByKey**. По сути, он группирует все элементы с одинаковым ключом.

<figure><img src="/files/XzrwgDoCUyLncTi98kMl" alt="" width="563"><figcaption><p>Группирование точек COGO по описанию</p></figcaption></figure>

### Создание групп точек

Самое сложное позади. Последний шаг — создание новой группы точек Civil 3D на основе сгруппированных точек COGO.

<figure><img src="/files/YqFhdcxNSefJgPG8mF70" alt="" width="371"><figcaption><p>Создание новой группы точек</p></figcaption></figure>

### Вывод сводных данных

При запуске графика в области фонового просмотра Dynamo не отображается ничего, поскольку у нас нет никакой геометрии. Так что единственный способ убедиться, что график выполняется правильно, — проверить область инструментов или выполнить предварительный просмотр выходных данных узла. Однако если запустить график с помощью **проигрывателя Dynamo**, можно получить дополнительную информацию о результатах за счет вывода сводки по созданным группам точек. Для этого щелкнем узел правой кнопкой мыши и установим для него значение *Является выводом*. В данном случае для просмотра результатов используется переименованный узел **Watch**.

<figure><img src="/files/NA0OjuaDmhSLhXOBikXy" alt="" width="437"><figcaption><p>Если задать для узла значение <em>Является выводом</em>, его содержимое будет отображаться в выводе проигрывателя Dynamo.</p></figcaption></figure>

### Результат

Ниже приведен пример запуска графика с помощью **проигрывателя Dynamo**.

<figure><img src="/files/uh6mItjLMJRWqQG6B34s" alt=""><figcaption><p>Запуск графика с помощью проигрывателя Dynamo и просмотр результатов в области инструментов</p></figcaption></figure>

{% hint style="info" %}
Если вы еще не знакомы с проигрывателем Dynamo, см. раздел [Проигрыватель Dynamo](/ru/dynamo-for-civil-3d/dynamo-player.md).
{% endhint %}

> :tada: Миссия выполнена!

## Идеи

Вот несколько вариантов того, как можно расширить возможности этого графика.

{% hint style="info" %}
Изменение принципа группировки точек, чтобы она выполнялась по **полному описанию**, а не по исходному.
{% endhint %}

{% hint style="info" %}
Группировка точек по другим **готовым категориям** (например, «Базовые снимки», «Геодезические знаки» и т. д.).
{% endhint %}

{% hint style="info" %}
Автоматическое создание поверхностей TIN для точек в определенных группах.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://primer2.dynamobim.org/ru/dynamo-for-civil-3d/sample-workflows/surveying/point-group-management.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
