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
  • Выбор элементов Revit
  • Иерархия Revit
  • Навигация по базе данных с помощью узлов Dynamo
  • Упражнение
  • Выбор формообразующих элементов и поверхностей
  • Выбор балок
  • Выбор ферм
Edit on GitHub
Export as PDF
  1. Dynamo для Revit

Выбор

PreviousПодключение к RevitNextРедактирование

Last updated 1 month ago

Выбор элементов Revit

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

Библиотека Revit, доступная в пользовательском интерфейсе, включает категорию Selection, которая предлагает несколько способов выбора геометрии.

Иерархия Revit

Для использования правильного метода выбора элементов Revit необходимо иметь четкое представление об их иерархии. Необходимо выбрать все стены в проекте? Используйте выбор по категории. Требуется выбрать все кресла фирмы Eames для приемной в стиле 1950-х? Используйте выбор по семейству.

Кратко рассмотрим иерархию Revit.

Помните таксономические ранги, которые проходят на уроках биологии? Согласно им, все организмы в природе делятся на царства, типы, классы, порядки, семейства, рода и виды. Элементы Revit упорядочены аналогичным образом. На базовом уровне иерархию Revit можно разделить на категории, семейства, типы* и экземпляры. Экземпляр представляет собой отдельный элемент модели (с уникальным идентификатором), а категория определяет типовую группу (например, «стены» или «полы»). Такая организация базы данных Revit позволяет выбрать один элемент и все аналогичные ему элементы на основании указанного уровня иерархии.

* Определение типов в Revit отличается от определения типов в программировании. В Revit термин «тип» относится к ветви иерархии, а не к типу данных.

Навигация по базе данных с помощью узлов Dynamo

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

Щелчок кнопкой мыши — самый простой способ непосредственного выбора элементов в Revit. Таким образом можно выбрать весь элемент модели или части его топологии (например, грань или ребро). При этом сохраняется динамическая связь с объектом Revit, благодаря чему при обновлении местоположения или параметров файла Revit связанный элемент Dynamo также будет обновлен на графике.

Раскрывающиеся меню отображают список всех доступных элементов в проекте Revit. Их можно использовать для задания ссылок на элементы Revit, которые могут не отображаться на виде. Это удобный инструмент для опроса существующих или создания новых элементов в проекте Revit или редакторе семейств.

![](../.gitbook/assets/selecting _database_navigation_with_dynamo_nodes_02.png)

Кроме того, элементы Revit можно выбирать по определенному уровню в иерархии Revit. Это удобно при адаптации крупных массивов данных для подготовки документации или генеративного создания экземпляров и адаптации.

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

Упражнение

Скачайте файл примера, щелкнув указанную ниже ссылку.

Полный список файлов примеров можно найти в приложении.

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

  1. Формообразующий элемент здания

  2. Балки (несущий каркас)

  3. Фермы (адаптивные компоненты)

Какие выводы можно сделать на основе элементов, отображаемых на виде проекта Revit? Как глубоко в иерархии находятся соответствующие элементы? Чем масштабнее проект, тем сложнее найти ответы на подобные вопросы. Доступно множество вариантов: элементы можно выбирать по категориям, уровням, семействам, экземплярам и т. д.

Выбор формообразующих элементов и поверхностей

  1. Так как мы используем базовую настройку, выберите формообразующий элемент здания, щелкнув Mass в раскрывающемся меню узла Categories. Эта функция также доступна на вкладке Revit > «Выбор».

  2. На выходе узла категории Mass мы получаем только саму категорию. Необходимо выбрать элементы. Для этого используйте узел All Elements of Category.

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

В данном случае вы работаете с простой геометрией, поэтому ее вполне можно добавить в область предварительного просмотра Dynamo. Рядом с элементом BldgMass узла Watch отображается число, выделенное зеленым цветом. Это идентификатор элемента, который позволяет понять, что вы работаете с элементом Revit, а не геометрией Dynamo. Теперь необходимо преобразовать этот элемент Revit в геометрию Dynamo.

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

Есть и другой способ. Вместо выбора с помощью иерархии Revit (узел All Elements of Category) можно выбрать геометрию непосредственно в Revit.

  1. В узле Select Model Element щелкните кнопку Select (или Change). На видовом экране Revit выберите нужный элемент. В данном случае следует выбрать формообразующий элемент здания.

  2. Вместо выбора с помощью узла Element.Faces можно выбрать весь формообразующий элемент как единое геометрическое тело, применив Element.Geometry. При этом будет выбрана вся геометрия в пределах формообразующего элемента.

  3. С помощью Geometry.Explode можно снова сформировать список поверхностей. Эти два узла работают аналогично узлу Element.Faces, но содержат дополнительные параметры для изучения геометрии элемента Revit.

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

![](images/2/selecting - exercise 05.jpg)

  1. Сначала необходимо вывести выбранные элементы из предыдущего узла в узел Element.Faces.

  2. Узел List.Count показывает, что в пределах формообразующего элемента присутствует 23 поверхности.

  3. Учитывая эти сведения, измените максимальное значение узла Integer Slider на 22.

  4. С помощью узла List.GetItemAtIndex задайте списки в качестве входных данных и соедините Integer Slider с портом ввода index. Изменяя положение регулятора с выбранными элементами, остановитесь на индексе 9, когда будет изолирован главный фасад с фермами.

Предыдущий шаг был довольно трудоемким. Его можно выполнить гораздо проще и быстрее с помощью узла Select Face. Он позволяет изолировать в проекте Revit грань, которая не является самостоятельным элементом. Это же действие можно выполнить с помощью Select Model Element, выбрав поверхность вместо целого элемента.

Предположим, нужно изолировать стены главного фасада здания. Для этого можно использовать узел Select Faces. Нажмите кнопку выбора, а затем выберите четыре основных фасада в Revit.

Выбрав четыре стены, нажмите в Revit кнопку «Готово».

Грани импортируются в Dynamo в качестве поверхностей.

Выбор балок

Теперь рассмотрим балки над атриумом.

  1. С помощью узла Select Model Element выберите одну из балок.

  2. Соедините элемент балки с портом ввода узла Element.Geometry, после чего балка появится на видовом экране Dynamo.

  3. С помощью узла Watch 3D можно увеличить геометрию (если балка не отображается в Watch 3D, щелкните правой кнопкой мыши и выберите «Вписать»).

При работе в Revit и Dynamo часто возникает вопрос: как, выбрав один элемент, выделить все аналогичные элементы? Так как выбранный элемент Revit содержит всю иерархическую информацию, можно запросить его типоразмер в семействе и выбрать все элементы данного типа.

  1. Соедините элемент балки с портом ввода узла Element.ElementType.

  2. Изображение в узле Watch показывает, что выходные данные теперь являются обозначением семейства, а не элементом Revit.

  3. Element.ElementType — это простой запрос, который можно легко выполнить в узле Code Block с помощью синтаксиса x.ElementType; и получить те же результаты.

  1. Для выбора остальных балок используйте узел All Elements of Family Type.

  2. Узел Watch показывает, что выбрано пять элементов Revit.

  1. Эти пять элементов также можно преобразовать в геометрию Dynamo.

Что, если бы в проекте было 500 балок? Преобразование всех этих элементов в геометрию Dynamo заняло бы очень много времени. Если Dynamo требуется много времени для расчета узлов, возможно, следует воспользоваться функцией заморозки, чтобы приостановить выполнение операций Revit во время создания графика. Для получения дополнительных сведений о замораживании узлов см. раздел Замораживание в главе «Тела».

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

Выбор ферм

С помощью того же графика узлов выберите элемент фермы вместо балки. Перед этим удалите узел Element.Geometry, добавленный на предыдущем шаге.

Теперь можно извлечь основные сведения из типоразмера семейства ферм.

  1. В узле Watch отображается список адаптивных компонентов, выбранных из Revit. Так как необходимо извлечь основную информацию, начните с адаптивных точек.

  2. Соедините узел All Elements of Family Type с узлом AdaptiveComponent.Location. В результате получится список списков, каждый из которых содержит три точки, представляющие местоположения адаптивных точек.

  3. При присоединении узла Polygon.ByPoints образуется сложная кривая. Она отображается на видовом экране Dynamo. Благодаря этому методу вы визуализировали геометрию одного элемента и абстрагировали геометрию оставшегося массива элементов (которых может быть больше, чем в данном примере).

Совет. Если щелкнуть зеленый номер элемента Revit в Dynamo, масштаб этого элемента в видовом экране Revit будет увеличен.

5MB
Revit-Selecting.zip
archive
ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС