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
  • Цель
  • Основные этапы
  • Совместимость версий
  • Набор данных
  • Решение
  • Выбор колодцев
  • Получение местоположений колодцев
  • Фильтрация и сортировка
  • Создание новых имен
  • Переименование колодцев
  • Результат
  • Бонус: визуализация в Dynamo
  • Идеи
Edit on GitHub
Export as PDF
  1. Dynamo for Civil 3D
  2. Примеры рабочих процессов
  3. Инженерные сети

Переименование колодцев

PreviousИнженерные сетиNextЖелезная дорога

Last updated 1 month ago

При добавлении труб и колодцев в трубопроводную сеть Civil 3D назначение имен выполняется автоматически по шаблону. Обычно этого достаточно при первом размещении, однако в будущем по мере развития проекта эти имена потребуется изменить. Кроме того, существует множество разных шаблонов именования, таких как последовательное именование колодцев на участке трубопровода, начиная с самого дальнего, или именование в соответствии со схемой данных, принятой местными надзорными органами. В этом примере показано, как с помощью Dynamo можно определить стратегию именования и придерживаться ее.

Цель

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

  • Работа с ограничивающими рамками

  • Фильтрация данных с помощью узла List.FilterByBoolMask

  • Сортировка данных с помощью узла List.SortByKey

  • Создание и изменение текстовых строк

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

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

Набор данных

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

Решение

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

  1. Выбор колодцев по слою.

  2. Получение местоположений колодцев.

  3. Фильтрация колодцев по смещению с последующей сортировкой по пикетам.

  4. Создание новых имен.

  5. Переименование колодцев.

Приступим!

Выбор колодцев

Сначала необходимо выбрать все колодцы, с которыми мы планируем работать. Для этого просто выберем все объекты на определенном слое. Это означает, что мы сможем выбрать колодцы из разных трубопроводных сетей (при условии, что они находятся на одном слое).

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

Получение местоположений колодцев

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

Мы используем эти точки для получения пикетов и смещений колодцев относительно выбранной трассы.

Фильтрация и сортировка

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

  1. Выбранная трасса.

  2. Колодцы, которые требуется переименовать.

  3. Колодцы, которые следует игнорировать.

Нужно отфильтровать список колодцев, чтобы проигнорировать те из них, чье смещение от трассы превышает определенное значение. Для этого лучше всего подойдет узел List.FilterByBoolMask. Отфильтровав список колодцев, используем узел List.SortByKey для их сортировки по значениям пикетов.

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

  1. Проверка значения смещения колодца относительно порогового значения.

  2. Замена всех нулевых значений на false.

  3. Фильтрация списка колодцев и пикетов.

  4. Сортировка колодцев по пикетам.

Создание новых имен

Последний шаг — создание новых имен для колодцев. Мы используем следующий формат: <alignment name>-STRC-<number>. Здесь есть несколько дополнительных узлов, которые при необходимости добавляют дополнительные нули (например, 01 вместо 1).

Переименование колодцев

Наконец, мы может переименовать колодцы.

Результат

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

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

Бонус: визуализация в Dynamo

Вместо того чтобы сразу переходить к итоговому результату, можно использовать фоновый просмотр 3D в Dynamo для визуализации промежуточных результатов графика. Например, можно с легкостью отобразить ограничивающие рамки колодцев. Кроме того, в документе этого набора данных есть коридор, так что мы можем добавить геометрию характерных линий коридора в Dynamo, чтобы создать контекст для размещения колодцев в пространстве. Если применить этот график к набору данных, в котором нет коридоров, эти узлы просто не будут выполнять никаких действий.

Теперь мы можем наглядно увидеть, как работает процесс фильтрации колодцев по смещениям.

Идеи

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

Переименование колодцев на основе ближайшей трассы вместо выбора конкретной трассы.

Переименование труб в дополнение к переименованию колодцев.

Задание слоев для колодцев на основе их ветвей.

Переименование колодцев трубопроводной сети в порядке, соответствующем пикетажу трассы.

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

🎯
🎉
139KB
Utilities_RenameStructures.dyn
6MB
Utilities_RenameStructures.dwg
Выбор колодцев на заданном слое
Использование ограничивающих рамок для получения приближенной точки вставки каждого колодца
Фильтрация и сортировка колодцев
Создание новых имен колодцев
Задание имен колодцев
Запуск графика с помощью проигрывателя Dynamo и просмотр результатов в Civil 3D
Визуализация геометрии колодцев и характерных линий коридора
Корректировка порогового значения смещения трассы и визуализация соответствующих колодцев в Dynamo