Библиотека узлов
Ранее мы упомянули, что узлы являются основными компоновочными блоками графика Dynamo. Узлы хранятся в библиотеке, где они сгруппированы по логическим признакам. В Dynamo for Civil 3D в библиотеке есть две категории (или полки), содержащие специальные узлы для работы с объектами AutoCAD и Civil 3D, такими как трассы, профили, коридоры, вхождения блоков и т. д. Прочие разделы библиотеки содержат универсальные узлы, одинаковые во всех версиях Dynamo (например, в Dynamo для Revit, Dynamo Sandbox и т. д.).
Подробные сведения об организации узлов в корневой библиотеке Dynamo см. в разделе Библиотека.
Специальные узлы для работы с объектами AutoCAD и Civil 3D
Узлы общего назначения
Узлы из пакетов сторонних разработчиков, которые можно установить отдельно
График Dynamo, в котором используются узлы из разделов AutoCAD и Civil 3D библиотеки, будет работать только в Dynamo for Civil 3D. Если открыть такой график Dynamo for Civil 3D в другой версии программы (например, в Dynamo для Revit), эти узлы будут помечены предупреждением и не будут запускаться.
Зачем нужны отдельные полки для AutoCAD и Civil 3D
Такой подход позволяет отделить узлы для собственных объектов AutoCAD (линии, полилинии, вхождения блоков и т. д.) от узлов для объектов Civil 3D (трассы, коридоры, поверхности и т. д.). С технической точки зрения, AutoCAD и Civil 3D — это два разных инструмента. AutoCAD — это базовое приложение, а Civil 3D — приложение, созданное на его основе.
Иерархия узлов
Для работы с узлами AutoCAD и Civil 3D важно иметь четкое представление об иерархии объектов на каждой полке. Помните таксономические ранги, которые проходят на уроках биологии? Согласно им, все организмы в природе делятся на царства, типы, классы, порядки, семейства, рода и виды. Объекты AutoCAD и Civil 3D классифицируются аналогичным образом. Рассмотрим несколько примеров.
Объекты Civil
Рассмотрим в качестве примера трассу.
Допустим, требуется изменить имя трассы. Для этого добавим к имеющемуся графику узел CivilObject.SetName.
Поначалу все это может показаться довольно сложным. Что это за CivilObject и почему в библиотеке нет узла Alignment.SetName? Все дело в стремлении к возможности многократного использования и простоте. Если подумать, процесс изменения имени объекта Civil 3D всегда одинаков, будь то трасса, коридор, профиль или любой другой объект. Поэтому, вместо того чтобы создавать несколько узлов (например, Alignment.SetName, Corridor.SetName, Profile.SetName и т. д.), по сути выполняющих одну и ту же работу, все эти функции были заложены в один узел. В нашем случае это узел CivilObject.SetName.
Кроме того, к этому вопросу можно подойти со стороны связей между объектами. И трасса, и коридор являются типами объектов Civil, так же как и картофель, и морковь являются типами овощей. Узлы Civil.Object можно применять к объектам любого типа, точно так же как одну и ту же овощечистку можно применять и для очистки картофеля, и для очистки моркови. Представьте, какой хаос царил бы на кухне, если бы для чистки каждого вида овощей или фруктов использовался отдельный инструмент. В этом смысле библиотека узлов Dynamo похожа на кухню.
Объекты
Идем дальше. Предположим, требуется изменить слой трассы. Для этого нам понадобится узел Object.SetLayer.
Почему он называется не CivilObject.SetLayer? Причина все та же: принципы простоты и возможности повторного использования, которые мы обсуждали ранее. Свойство layer есть у любого объекта AutoCAD, который можно нарисовать или вставить, например у линии, полилинии, текста, вхождения блока и т. д. Такие объекты Civil 3D, как трассы и коридоры, относятся к той же категории, поэтому любой узел, который применяется к категории Object, можно также использовать с любым объектом Civil.
Last updated