Автоматизация приведения в нормативное положение железнодорожного пути с помощью Dynamo и Civil 3D

Записки инженера
Моя специальность - это "Железнодорожные сооружения и путевое хозяйство".
Квалификация - "Инженер строитель железнодорожного транспорта".
За прошедшие десять лет мне приходилось сталкиваться с разными инженерными задачами: интересными, монотонными, трудными, с задачами "на вчера", разными по характеру, разными по масштабу и протяженностью объектов.
И все это время, чтобы я бы ни делал старался выполнять задачи с особым вниманием, отдаваясь без остатка, не замечая времени и не чувствуя усталости при этом.
Особо мне нравится во время выполнения проектных работ - это автоматизировать различные инженерные задачи.
В этой записке инженера я хочу рассказать вам о решении одной задачи, которая заключалась в следующем:
Была выполнена проектная и рабочая документация на строительство второго железнодорожного пути.
После этого строительная организация приступила к выполнению работ. Они успели уложить второй железнодорожный путь, установить опоры контактной сети практически на всем участке.
В результате мне на основании исполнительной съемки фактического положения железнодорожных путей и опор контактной сети, необходимо было выполнить корректировку рабочей документации для исключения, для минимизации бросовых работ, соблюдая при этом нормы.
Для этого мне необходимо было "перевписать" ось трассы.


При этом необходимо было:
- минимально сохранить параметры кривых;
- соблюдать габарит до опор контактной сети;
- соблюдать нормативные расстояния междупутья.
Сложность заключалась в том, чтобы соблюсти все эти параметры.
На помощь мне пришло мое увлечение программами Dynamo и Civil 3D.
А если точнее для выполнения данной задачи мне потребовалось:
1) Autodesk Civil 3D 2021 (можно и 2020);
2) Autodesk Subassembly Composer for Civil 3D;
3) Dynamo for Civil 3D 2.5.2.860;
4) Пакет нодов:
- Civil3DToolkit Версия 1.1.0;
 - Tucrail.Dynamo.AutoCAD.
Решение задачи:
1. Создал четыре оси трассы в Civil 3D:
- существующий действующий железнодорожный путь;
- железнодорожный путь уложенный строителями;
- трасса созданная по очертанию габарита опор контактной сети. Данную трассу можно было не создавать, только тогда бы пришлось было сделать другой скрипт, который получает данные по координатам блоков AutoCAD опор контактной сети и определяющий расстояние по перпендикуляру к трассе;
- перевписанный железнодорожный путь.
2. Создание три коридора Civil 3D с простой конструкцией, состоящая из одного звена с целью смещения типа Offset, назначив цели к ранее созданным трассам. В результате я получил коридор с данными по расстоянию от базисной трассы к целевой трассе.
3. Создание скрипта Dynamo, который выполняет следующее:
- получение всех конструкций в коридоре;
- получение всех параметров из элемента конструкции;
- получение всех значений параметров - в моем случае длины звена L1;
- создание таблицы AutoCAD;
- экспорт данных в Excel;
- выделение ячейки цветом со значением менее или более заданного числа.


В результате создается таблица с данными по длинам звеньев по каждому коридору, соответствующий габаритам от опор контактной сети к выбранным трассам  и пикетам трассы в данных местах. И самое важное, что указав в скрипте Dynamo минимальное или максимальное значение, какого либо нормативного показателя можно увидеть выделенную ячейку с ненормативным значением, как это указано ниже на рисунке красным цветом
Далее короткое видео:
В результате я получил динамическую автоматизацию приведения в нормативное положение железнодорожного пути.

Комментарии

Популярные сообщения