Dynamo
Primer for v2.0
Русский
Русский
  • О программе
  • Введение
    • Что представляет собой программа Dynamo и как она работает?
    • Руководство пользователя Dynamo Primer, сообщество и платформа Dynamo
  • Настройка Dynamo
  • Пользовательский интерфейс
    • Рабочее пространство
    • Библиотека
  • Узлы и провода
  • Основные узлы и понятия
    • Указатель узлов
    • Геометрия для машинного проектирования
      • Обзор концепции геометрии
      • Вектор, плоскость и система координат
      • Точки
      • Кривые
      • Поверхности
      • Тела
      • Сети
    • Компоновочные блоки программ
      • Передача данных
      • Math
      • Logic
      • Строки
      • Цвет
    • Проектирование на основе списков
      • Что такое список
      • Работа со списками
      • Списки списков
      • Многомерные списки
    • Словари в Dynamo
      • Что такое словарь
      • Узлы Dictionary
      • Словари в узлах Code Block
      • Примеры использования Revit
  • Пользовательские узлы и пакеты
    • Пользовательские узлы
      • Пользовательские узлы: введение
      • Создание пользовательских узлов
      • Публикация узлов в библиотеку
    • Пакеты
      • Пакеты: введение
      • Практикум по работе с пакетом: Mesh Toolkit
      • Разработка пакетов
      • Публикация пакетов
      • Импорт Zero Touch
  • Dynamo для Revit
    • Подключение к Revit
    • Выбор
    • Редактирование
    • Создание
    • Адаптация
    • Выпуск документации
  • Dynamo for Civil 3D
    • Совместимость с Civil 3D
    • Начало работы
    • Библиотека узлов
    • Примеры рабочих процессов
      • Дороги
        • Размещение осветительных столбов
      • Землеустройство
        • Размещение коммуникаций
      • Инженерные сети
        • Переименование колодцев
      • Железная дорога
        • Границы зазора
      • Топосъемка
        • Управление группами точек
    • Дополнительные разделы
      • Привязка объекта
      • Python и Civil 3D
    • Проигрыватель Dynamo
    • Полезные пакеты
    • Ресурсы
  • Бета-версия Dynamo в Forma
    • Настройка Dynamo Player в Forma
    • Добавление графов и предоставление к ним общего доступа в Dynamo Player
    • Запуск графов в Dynamo Player
    • Отличия вычислительной службы Dynamo от классического приложения Dynamo
  • Создание кода в Dynamo
    • Узлы Code Block и DesignScript
      • Что такое Code Block
      • Синтаксис DesignScript
      • Сокращение
      • Функции
    • Создание геометрии с помощью DesignScript
      • Основы работы с геометрией посредством DesignScript
      • Геометрические примитивы
      • Векторная математика
      • Кривые: интерполяционные и по управляющим точкам
      • Перенос, поворот и другие преобразования
      • Поверхности: интерполяционные, лофтированные, по управляющим точкам и поверхности вращения
      • Параметризация геометрических объектов
      • Пересечение и обрезка
      • Логические операции с геометрическими объектами
      • Генераторы точек Python
    • Python
      • Узлы Python
      • Python и Revit
      • Настройка собственного шаблона Python
    • Изменения языка
  • Практические советы
    • Методы создания графиков
    • Методы создания сценариев
    • Справочник по созданию сценариев
    • Управление структурой программы
    • Эффективная работа с большими наборами данных в Dynamo
  • Примеры рабочих процессов
    • Процессы для начала работы
      • Параметрическая ваза
      • Точки притяжения
    • Индекс понятий
  • Руководство для разработчиков
    • Сборка Dynamo на основе исходного кода
      • Сборка DynamoRevit на основе исходного кода
      • Управление зависимостями и их обновление в Dynamo
    • Разработка для Dynamo
      • Начало работы
      • Пример использования узлов Zero-Touch — узел сетки
      • Выполнение сценариев Python в узлах Zero-Touch (C#)
      • Дальнейшая работа с Zero-Touch
      • Расширенная настройка узлов Dynamo
      • Использование типов COM (взаимодействие) в пакетах Dynamo
      • Пример использования NodeModel — настраиваемый пользовательский интерфейс
      • Обновление пакетов и библиотек Dynamo для Dynamo 2.x
      • Обновление пакетов и библиотек Dynamo для Dynamo 3.x
      • Расширения
      • Определение пользовательской организации пакетов для Dynamo 2.0 или более поздней версии
      • Интерфейс командной строки Dynamo
      • Интеграция с Dynamo
      • Разработка для Dynamo for Revit
      • Публикация пакета
      • Создание пакета из Visual Studio
      • Расширения в виде пакетов
    • Запросы на слияние
    • Ожидания от тестирования
    • Примеры
  • Приложение
    • Вопросы и ответы
    • Визуальное программирование и Dynamo
    • Ресурсы
    • Примечания к выпуску
    • Полезные пакеты
    • Файлы примеров
    • Таблица интеграции с основной программой
    • PDF для скачивания
    • Сочетания клавиш Dynamo
Powered by GitBook
On this page
  • Цель
  • Основные этапы
  • Совместимость версий
  • Набор данных
  • Решение
  • Получение данных коридора
  • Создание систем координат
  • Преобразование геометрии блока
  • Создание тел
  • Вывод тел в Civil 3D
  • Результат
  • Идеи
Edit on GitHub
Export as PDF
  1. Dynamo for Civil 3D
  2. Примеры рабочих процессов
  3. Железная дорога

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

PreviousЖелезная дорогаNextТопосъемка

Last updated 1 month ago

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

Цель

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

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

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

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

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

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

Этот график будет работать в Civil 3D 2020 и более поздних версиях.

Набор данных

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

Решение

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

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

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

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

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

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

Приступим!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Создание тел

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

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

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

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

Результат

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

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

Идеи

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

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

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

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

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

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

🎯
🎉
185KB
Rail_ClearanceEnvelope.dyn
22MB
Rail_ClearanceEnvelope.dwg
Выбор коридора, базовой линии и характерной линии
Получение систем координат, расположенных вдоль характерных линий коридора
Визуализация преобразования геометрии при переходе между системами координат.
Геометрия блока профиля транспортного средства после преобразования
Тела Dynamo после лофтинга
Вывод тел в Civil 3D
Запуск графика с помощью проигрывателя Dynamo и просмотр результатов в Civil 3D