В данной статье пойдет речь о решении автоматизации поиска ошибок, так называемых коллизий, с помощью программы Dynamo для Civil 3D, объектов, проектируемых непосредственно в среде Civil 3D. Данная статья оформлена в виде вопроса - ответ. Это задумано для того, чтобы легче находить ответы на частые вопросы, касательно Dynamo для Civil 3D.
Введение
Поиск коллизий является сложным и трудоемким процессом, требующий больших затрат времени и знаний. Данный вид работ особо актуален, так как происходит урбанизация городов, уплотнение застройки. Самостоятельно найти все коллизии на экране монитора сложно, тем более запомнить их, а затем вывести отчетность по ним.В процессе строительства объектов могут возникать ошибки, которые не были выявлены в процессе проектирования, что приводит к большим не предвиденным затратам. Особо актуален поиск коллизий в сложных стесненных условиях, большого количества пересекающихся внешних инженерных коммуникаций.
Как вам известно, основным инструментом Autodesk для выявлений коллизий является программа – Autodesk Navisworks. Кроме этого, во многих случаях применяется и Dynamo для Revit.
В Civil 3D, а именно в версии 2020, Autodesk добавил приложение для визуального программирования – Dynamo. В него были включены ноды для работы с объектами Civil 3D, такими как трассы, поверхность, COGO точки, трубопроводные сети, коридоры; ноды для работы с объектами AutoCAD, такими как текст, многострочный текст, штриховка, 3D-солиды, слои, блоки, полилинии и еще много различных функций для работы со списками, геометрией, математическими операциями.
Данный подход проверки на коллизии, с помощью Dynamo для Civil 3D, не исключает применение таких программ, как Autodesk Navisworks, и других сторонних разработок, а только дополняет его. BIM-специалисты могут проверять свои проектные решения, и решения между другими разделами, еще до проверки BIM-менеджером или BIM- координатором. В результате мы получим, что во время строительства объекта количество коллизий будет стремиться к нулю.
С появлением среды визуального программирования Dynamo для Civil 3D представилась возможность автоматизации поиска коллизий, не только между смежными разделами, но и в рамках одного раздела, непосредственно в среде разработки модели.
Какие типы коллизий можно определить с помощью Dynamo для Civil 3D?
Любая проверка на коллизии, является составной частью контроля качества, которая включает в себя получение каких-то фактических данных и сравнение этих данных с заранее установленными характеристиками или требованиями. Объектом контроля может быть не только сама модель, но и различные процессы, информация, возникающие на всех этапах жизненного цикла.
С помощью Dynamo для Civil 3D можно определить различные типы коллизий и проверок. Ниже хочу приложить список наименований коллизий, с которыми вы можете столкнуться в своей практике:
1) Геометрические коллизии;
2) Эргономические коллизии;
3) Нормативно-технические коллизии;
4) Технологические коллизии;
5) Проверка нарушений нормируемых расстояний между элементами модели.
6) Проверка на наличие дублирующих и перекрывающихся элементов;
7) Проверка на «неразрывность» примыкания элементов конструкций, на «неразрывность» систем инженерных коммуникаций;
8) Проверка чертежей на соответствии системе измерений и систем координат;
9) Проверка охранной зоны или зону работы;
10) Проверка деталей модели на наличие имени и идентификатора, наличия заполненности определенных параметров.
И все эти коллизии можно определить с помощью Dynamo для Civil 3D. Но для этого необходимо, чтобы инженеры знали основные инструменты, которые есть для того.
Каким образом можно увидеть в Civil 3D найденную коллизию?
В зависимости от типа поиска коллизий, решение данной задачи можно найти несколькими способами:
Для первого способа можно применить следующую последовательность действий: 1) С помощью Dynamo для Civil 3D необходимо определить пересекаются те или иные объекты с друг другом. Например, с помощью нода который отвечает на вопрос – пересекается ли данный объект с другим или нет – Geometry.DoesIntersect
(см. рисунок 8), или с помощью нода Geometry.Intersect (см. рисунок 9).
2) Затем, определить координаты данного пересечения.
3) После этого автоматически нанести в модели предупреждающие маркеры на пересекающиеся объекты. Предупреждающие маркеры могут быть как в виде 3D- восклицательного знака, или 3D-сферы заданного вами радиуса (нод Sphere.ByCenterPointRadius) и цвета (нод Object.SetColor), так и любым другим придуманным вами способом (см. рисунок 1 – 4, 6).
Другой способ отображения коллизии, это вывод результатов проверки в табличный вид и выделение ячейки цветом, с показателем, не отвечающим определенным требованиям (см. рисунок 4).
Для решения данной задачи необходимо получить данные для сравнения, а затем с помощью нодов операторов сравнения или условных выражений, определить больше это число или нет установленного значения.
В данном выше примере необходимо проверить нормативное расстояния от оси железнодорожного пути до края грани опоры контактной сети. В результате я применил нод "<" , который определяет X меньше Y. На слоте выхода нода "<" получаю значение true или false (см. рисунок 5).
В результате в модели создаю 3D-стрелку указывающая, что необходимо изменить положение опоры контактной сети (см. рисунок 6).
Кроме этого, можно получить геометрию пересечения объекта с другим объектом (см. рисунок 7). В случае необходимости выделить место пересечения определенным цветом и занести в определенный вами слой.
Следует отметить, что особо актуален поиск коллизий, для тех, кто занимается сводным планом инженерных сетей с целью мониторинга правильности принятых тех или иных проектных решений, проверки всех нормативных расстояний между различными коммуникациями, зданиями и сооружениями.
Подключение инженерных коммуникаций на сводный план инженерных сетей, может производиться как с помощью технологии «Быстрые ссылки на данные» Civil 3D, так и с помощью вставки внешней ссылки. Dynamo для Civil 3D позволяет получать данные, как из внешней ссылки, так же из объектов подключенные с помощью технологии «Быстрые ссылки на данные».
Какие есть ноды для поиска коллизий в Dynamo для Civil 3D?
На данный момент в Dynamo для Civil 3D версии 2.5.2.860 есть следующие основные ноды для поиска коллизий между объектами модели:
1) Geometry.DoesIntersect
С помощью нода данного определяется, пересекается ли данный геометрический объект с другим или нет. На выходе получаем значение – True или False (см. рисунок 8).
2) Geometry.Intersect
С помощью данного нода производится получение геометрии пересечения данного объекта с другими. На выходе получаем 3D-тело (solid) (см. рисунок 9).
3) Geometry.IntersectAll
Получение пересечения геометрии данного объекта с набором других геометрических объектов. Поиск общей геометрии для всех задействованных элементов (см. рисунок 10).
4) Geometry.DistanceTo
Получение расстояния от этой геометрии до другой (см. рисунок 11).
5) Geometry.ClosestPointTo
Получение ближайшей точки на данной геометрии к соседней (см. рисунок 12).
6) Операторысравнения"<",">",">=","<=","!=","=="
7) Логические операторы "AND", "OR" и "NOT"
Можно ли экспортировать результаты поиска коллизий в виде отчета в Excel, Word?
Да, это возможно сделать автоматизировано с помощью Dynamo для Civil 3D. Пример отчета на коллизии можете посмотреть в таблице 1.
В данном примере были получены и выведены следующие данные – координаты коллизии; наименование элементов, которые пересекаются; наименование слоя пересекаемых объектов; ID идентификатор пересекаемых объектов; расстояние до коллизии; дата обнаружения; кем обнаружено; добавлен скриншот пересекаемых объектов; добавлено описание коллизии.
Полученные данные можно экспортировать в таблицу Excel с помощью нода Data.ExportExcel в формате .xlsx или в формате .csv (нод - Data.ImportCSV) или в таблицу AutoCAD. Для того, чтобы создать таблицу в AutoCAD необходимо установить пакет нодов Tucrail_Dynamo_AutoCAD. В данном пакете присутствует нод - CadTable.Create, который создает таблицу AutoCAD.
На момент написания статьи в пакете нодов Civil3DTolkit версия 1.1.10 появилась возможность создавать таблицы AutoCAD, настраивать их внешний вид с помощью Dynamo для Civil 3D (см. рисунок 14). Это является большим рывком по созданию пользовательских таблиц.
Есть ли у данной технологии какие-нибудь особенности или недостатки?
Выявленные недостатки данной технологии, непосредственно связанны со скоростью обработки скрипта по поиску коллизий при больших объемах файлов и большом количестве элементов. Данный недостаток может быть устранен путем правильно организованного процесса. От разделение цифровых моделей на части, на разделы проектной документации и стадии, на разделение инженерных систем.
Как проверить модель железнодорожного пути на очертания габарита подвижного состава и приближения строений по ГОСТ 9238-2013?
Очертание габарита подвижного состава и приближения строений по ГОСТ 9238-2013 моделируется коридором, с помощью ранее созданной параметрической конструкцией, в приложении для Civil 3D - Autodesk Subassembly Composer. В данную конструкцию заложены параметры возвышения рельсов в кривых участках железнодорожного пути, габарит очертания подвижного состава и приближения строения, согласно требований указанных в ГОСТ 9238-2013 Габариты железнодорожного подвижного состава и приближения строений (см. рисунок 15). После построения цифровой модели железнодорожного пути, а также цифровых моделей, к которым необходимо проверить габарит (например, опор контактной сети и искусственных сооружений), необходимо извлечь 3D-тела из коридора габарита подвижного состава (см. рисунок 16). После этого необходимо выполнить поиск коллизий с помощью Dynamo для Civil 3D между этими объектами.
Как с помощью Dynamo для Civil 3D проверить ширину плеча балластной призмы?
Данный тип проверки относится к геометрическим коллизиям. Как известно ширина плеча балластной призмы оказывает влияние на устойчивость рельсо-шпальной балластной призмы, в свою очередь влияет на безопасность движения поездов. Часто проектировщики забывают сделать уширение балластной призмы в кривых участках пути, согласно требованиям нормативной документации.
Для того чтобы проверить ширину плеча балластной призмы вдоль оси железнодорожного пути, можно пойти следующим образом:
1. Необходимо чтобы в модели Civil 3D были созданы:
- трасса вдоль оси железнодорожного пути;
- две трассы или характерные линии, отвечающие за левую и правую бровки плеча балластной призмы;
- коридор созданный с помощью специальной конструкции, со звеньями от оси пути до бровки балластной призмы. Длина звена будет отвечать за расстояние от оси пути до бровок балластной призмы.
2. Далее необходимо в Dynamo для Civil 3D создать скрипт, который:
- выбирает коридор по имени (нод - Selection.CorridorByName);
- выбирает базовую линию коридора (нод - Corridor.BaselineByName);
- получает пикеты базовой линии (нод - Baseline.Stations);
- получает элементы конструкции на заданном пикете (нод - Baseline.SubassembliesByStation);
- получает все параметры из элемента конструкции (нод - AppliedSubassembly.Parameters);
- получает все значения параметра (нод - SubassemblyParameter.Value). Как раз данный нод получает значения длины звена из коридора по всем сечениям, который отвечает за ширину плеча балластной призмы;
- после этого полученные данные необходимо отсортировать в необходимом виде;
- на конечном этапе полученные данные можно экспортировать в таблицу Excel (нод - Data.ExportExcel) в формате .xlsx или в формате .csv (нод - Data.ImportCSV) или в таблицу AutoCAD. Для того, чтобы экспортировать данные в AutoCAD необходимо установить пакет нодов Tucrail_Dynamo_AutoCAD. В данном пакете присутствует нод - CadTable.Create, который создает таблицу AutoCAD. Или применить ноды из пакета Civil3DTolkit версия 1.1.10 (см. рисунок 14).
Какие выводы можете сделать, применив данную технологию?
В результате правильно внедрив в процесс проектирования поиск коллизий, вы сократите до минимума ошибки и замечания к проектной документации, которые могли бы повлечь за собой штрафы и материальные затраты на стадии строительстве и эксплуатации.
Биография автора
Начальник Департамента технологий информационного моделирования и стандартизации ООО "ИПИТ". BIM-лидер в инфраструктуре 2019 года. Сертифицированный инструктор Autodesk. Эксперт в области проектирования объектов транспортной инфраструктуры. Участвовал в проектировании железнодорожных объектов Байкало-Амурской магистрали, Северного широтного хода, Северо-Кавказской железной дороги, Малого Кольца Московской железной дороги. Эксперт по программному обеспечению - Autodesk Civil 3D, Autodesk Subassembly Composer, Dynamo для Civil 3D, InfraWorks. Выступление с докладами на Autodesk University Russia 2017, 2018, 2019; Autodesk Rail Summit 2019.