# Библиотека узлов

Ранее мы упомянули, что **узлы** являются основными компоновочными блоками графика Dynamo. Узлы хранятся в **библиотеке**, где они сгруппированы по логическим признакам. В Dynamo for Civil 3D в библиотеке есть две категории (или **полки**), содержащие специальные узлы для работы с объектами AutoCAD и Civil 3D, такими как трассы, профили, коридоры, вхождения блоков и т. д. Прочие разделы библиотеки содержат универсальные узлы, одинаковые во всех версиях Dynamo (например, в Dynamo для Revit, Dynamo Sandbox и т. д.).

{% hint style="info" %}
Подробные сведения об организации узлов в корневой библиотеке Dynamo см. в разделе [Библиотека](/ru/3_user_interface/2-library.md) .
{% endhint %}

<figure><img src="/files/dKwLPapFf4uzdi8HzwlT" alt="" width="563"><figcaption><p>Библиотека узлов в Dynamo for Civil 3D</p></figcaption></figure>

> 1. Специальные узлы для работы с объектами AutoCAD и Civil 3D
> 2. Узлы общего назначения
> 3. Узлы из **пакетов** сторонних разработчиков, которые можно установить отдельно

{% hint style="warning" %}
График Dynamo, в котором используются узлы из разделов AutoCAD и Civil 3D библиотеки, будет работать только в Dynamo for Civil 3D. Если открыть такой график Dynamo for Civil 3D в другой версии программы (например, в Dynamo для Revit), эти узлы будут помечены предупреждением и не будут запускаться.
{% endhint %}

{% hint style="info" %}
**Зачем нужны отдельные полки для AutoCAD и Civil 3D**

Такой подход позволяет отделить узлы для собственных объектов AutoCAD (линии, полилинии, вхождения блоков и т. д.) от узлов для объектов Civil 3D (трассы, коридоры, поверхности и т. д.). С технической точки зрения, AutoCAD и Civil 3D — это два разных инструмента. AutoCAD — это базовое приложение, а Civil 3D — приложение, созданное на его основе.
{% endhint %}

## Иерархия узлов

Для работы с узлами AutoCAD и Civil 3D важно иметь четкое представление об иерархии объектов на каждой полке. Помните таксономические ранги, которые проходят на уроках биологии? Согласно им, все организмы в природе делятся на царства, типы, классы, порядки, семейства, рода и виды. Объекты AutoCAD и Civil 3D классифицируются аналогичным образом. Рассмотрим несколько примеров.

### Объекты Civil

Рассмотрим в качестве примера трассу.

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

Допустим, требуется изменить имя трассы. Для этого добавим к имеющемуся графику узел **CivilObject.SetName**.

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

Поначалу все это может показаться довольно сложным. Что это за **CivilObject** и почему в библиотеке нет узла **Alignment.SetName**? Все дело в стремлении к *возможности многократного использования* и *простоте*. Если подумать, процесс изменения имени объекта Civil 3D всегда одинаков, будь то трасса, коридор, профиль или любой другой объект. Поэтому, вместо того чтобы создавать несколько узлов (например, **Alignment.SetName, Corridor.SetName, Profile.SetName** и т. д.), по сути выполняющих одну и ту же работу, все эти функции были заложены в один узел. В нашем случае это узел **CivilObject.SetName**.

Кроме того, к этому вопросу можно подойти со стороны *связей* между объектами. И трасса, и коридор являются типами **объектов Civil**, так же как и картофель, и морковь являются типами овощей. Узлы Civil.Object можно применять к объектам любого типа, точно так же как одну и ту же овощечистку можно применять и для очистки картофеля, и для очистки моркови. Представьте, какой хаос царил бы на кухне, если бы для чистки каждого вида овощей или фруктов использовался отдельный инструмент. В этом смысле библиотека узлов Dynamo похожа на кухню.

### Объекты

Идем дальше. Предположим, требуется изменить слой трассы. Для этого нам понадобится узел **Object.SetLayer**.

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

Почему он называется не **CivilObject.SetLayer**? Причина все та же: принципы простоты и возможности повторного использования, которые мы обсуждали ранее. Свойство *layer* есть у любого объекта AutoCAD, который можно нарисовать или вставить, например у линии, полилинии, текста, вхождения блока и т. д. Такие объекты Civil 3D, как трассы и коридоры, относятся к той же категории, поэтому любой узел, который применяется к категории **Object**, можно также использовать с любым **объектом Civil**.


---

# Agent Instructions: 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/node-library.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.
