Разработка кинематических границ для проверки зазора — важная часть проектирования железной дороги. С помощью Dynamo можно создавать тела для определения таких границ без необходимости в создании сложных элементов конструкции коридора и управления ими.
Работа с характерными линиями коридора
Преобразование геометрии при переходе между системами координат
Создание тел путем лофтинга
Управление поведением узла с помощью параметров переплетения.
Этот график будет работать в Civil 3D 2020 и более поздних версиях.
Сначала скачайте файлы примеров ниже, а затем откройте файл DWG и график Dynamo.
Ниже представлен обзор логики, используемой в этом графике.
Получение характерных линий из заданной базовой линии коридора.
Создание систем координат вдоль характерной линии коридора с требуемым интервалом.
Преобразование геометрии блока профиля в соответствии с системой координат.
Лофтинг тела между профилями.
Создание тел в Civil 3D.
Приступим!
Сначала необходимо получить данные коридора. Выберем модель коридора по имени, получим нужную базовую линию в коридоре, а затем извлечем характерную линию в пределах базовой линии по коду точки.
Теперь создадим системы координат вдоль характерных линий коридора между заданным начальным и конечным пикетами. Эти системы координат будут использоваться для выравнивания геометрии блока профиля транспортного средства по коридору.
Если вы еще не знакомы с системами координат, см. раздел Вектор, плоскость и система координат.
Обратите внимание на XXX в правом нижнем углу узла. Это означает, что для параметров переплетения узла задано значение Векторное произведение. Это необходимо для создания систем координат с одинаковыми значениями пикетов для обеих характерных линий.
Если вы еще не знакомы с переплетением узлов, см. раздел Что такое список.
Теперь необходимо каким-то образом создать массив профилей транспортных средств вдоль характерных линий. Для этого преобразуем геометрию из определения блока профиля транспортного средства с помощью узла Geometry.Transform. Эту концепцию сложно представить визуально, так что прежде чем перейти к узлам, посмотрим на график, чтобы понять, что именно произойдет.
По сути, мы извлекаем геометрию Dynamo из одного определения блока, а затем перемещаем и поворачиваем ее, в процессе создавая массив вдоль характерной линии. Неплохо, да? Ниже представлена последовательность узлов.
Здесь выполняется получение определения блока из документа.
Эти узлы извлекают геометрию Dynamo для объектов в блоке.
Эти узлы, по сути, определяют исходную систему координат, в которой геометрия находится до преобразования.
Наконец, в этом узле выполняется собственно преобразование геометрии.
Обратите внимание на длинное переплетение в этом узле.
Вот что мы получаем в Dynamo.
У нас для вас хорошая новость. Самое сложное позади! Все, что осталось сделать, — создать тела между профилями. Это можно легко сделать с помощью узла Solid.ByLoft.
Результат можно посмотреть здесь. Помните, что это тела Dynamo, а значит, их все еще нужно создать в Civil 3D.
Последний шаг — вывод сгенерированных тел в пространство модели. Кроме того, мы присвоим им цвет, чтобы сделать их более заметными.
Ниже приведен пример запуска графика с помощью проигрывателя Dynamo.
Если вы еще не знакомы с проигрывателем Dynamo, см. раздел Проигрыватель Dynamo.
Вот несколько вариантов того, как можно расширить возможности этого графика.
Добавление возможности использования разных диапазонов пикетов отдельно для каждого пути.
Разбивка тел на более мелкие сегменты, которые можно проанализировать отдельно на предмет конфликтов.
Проверка того, не пересекаются ли тела границы с элементами, и выделение цветом тех, которые пересекаются.
Использование блока профиля транспортного средства для создания 3D-тел, определяющих границы зазора, вдоль коридора.
Миссия выполнена!