githubEdit

Границы зазора

Разработка кинематических границ для проверки зазора — важная часть проектирования железной дороги. С помощью Dynamo можно создавать тела для определения таких границ без необходимости в создании сложных элементов конструкции коридора и управления ими.

Цель

🎯 Использование блока профиля транспортного средства для создания 3D-тел, определяющих границы зазора, вдоль коридора.

Основные этапы

  • Работа с характерными линиями коридора

  • Преобразование геометрии при переходе между системами координат

  • Создание тел путем лофтинга

  • Управление поведением узла с помощью параметров переплетения.

Совместимость версий

circle-check

Набор данных

Сначала скачайте файлы примеров ниже, а затем откройте файл DWG и график Dynamo.

Решение

Ниже представлен обзор логики, используемой в этом графике.

  1. Получение характерных линий из заданной базовой линии коридора.

  2. Создание систем координат вдоль характерной линии коридора с требуемым интервалом.

  3. Преобразование геометрии блока профиля в соответствии с системой координат.

  4. Лофтинг тела между профилями.

  5. Создание тел в Civil 3D.

Приступим!

Получение данных коридора

Сначала необходимо получить данные коридора. Выберем модель коридора по имени, получим нужную базовую линию в коридоре, а затем извлечем характерную линию в пределах базовой линии по коду точки.

Выбор коридора, базовой линии и характерной линии

Создание систем координат

Теперь создадим системы координат вдоль характерных линий коридора между заданным начальным и конечным пикетами. Эти системы координат будут использоваться для выравнивания геометрии блока профиля транспортного средства по коридору.

circle-info

Если вы еще не знакомы с системами координат, см. раздел Вектор, плоскость и система координат.

Получение систем координат, расположенных вдоль характерных линий коридора
  1. Обратите внимание на XXX в правом нижнем углу узла. Это означает, что для параметров переплетения узла задано значение Векторное произведение. Это необходимо для создания систем координат с одинаковыми значениями пикетов для обеих характерных линий.

circle-info

Если вы еще не знакомы с переплетением узлов, см. раздел Что такое список.

Преобразование геометрии блока

Теперь необходимо каким-то образом создать массив профилей транспортных средств вдоль характерных линий. Для этого преобразуем геометрию из определения блока профиля транспортного средства с помощью узла Geometry.Transform. Эту концепцию сложно представить визуально, так что прежде чем перейти к узлам, посмотрим на график, чтобы понять, что именно произойдет.

Визуализация преобразования геометрии при переходе между системами координат.

По сути, мы извлекаем геометрию Dynamo из одного определения блока, а затем перемещаем и поворачиваем ее, в процессе создавая массив вдоль характерной линии. Неплохо, да? Ниже представлена последовательность узлов.

  1. Здесь выполняется получение определения блока из документа.

  2. Эти узлы извлекают геометрию Dynamo для объектов в блоке.

  3. Эти узлы, по сути, определяют исходную систему координат, в которой геометрия находится до преобразования.

  4. Наконец, в этом узле выполняется собственно преобразование геометрии.

  5. Обратите внимание на длинное переплетение в этом узле.

Вот что мы получаем в Dynamo.

Геометрия блока профиля транспортного средства после преобразования

Создание тел

У нас для вас хорошая новость. Самое сложное позади! Все, что осталось сделать, — создать тела между профилями. Это можно легко сделать с помощью узла Solid.ByLoft.

Результат можно посмотреть здесь. Помните, что это тела Dynamo, а значит, их все еще нужно создать в Civil 3D.

Тела Dynamo после лофтинга

Вывод тел в Civil 3D

Последний шаг — вывод сгенерированных тел в пространство модели. Кроме того, мы присвоим им цвет, чтобы сделать их более заметными.

Вывод тел в Civil 3D

Результат

Ниже приведен пример запуска графика с помощью проигрывателя Dynamo.

Запуск графика с помощью проигрывателя Dynamo и просмотр результатов в Civil 3D
circle-info

Если вы еще не знакомы с проигрывателем Dynamo, см. раздел Проигрыватель Dynamo.

🎉 Миссия выполнена!

Идеи

Вот несколько вариантов того, как можно расширить возможности этого графика.

circle-info

Добавление возможности использования разных диапазонов пикетов отдельно для каждого пути.

circle-info

Разбивка тел на более мелкие сегменты, которые можно проанализировать отдельно на предмет конфликтов.

circle-info

Проверка того, не пересекаются ли тела границы с элементами, и выделение цветом тех, которые пересекаются.

Last updated