Примеры использования Revit
Last updated
Last updated
Вам когда-нибудь приходилось искать в Revit информацию по фрагменту данных?
Вы наверняка уже проделывали нечто похожее на описанное в следующем примере.
Процесс, проиллюстрированный ниже, включает следующие этапы: сбор всех помещений в модели Revit, получение индекса нужного помещения (по его номеру) и, наконец, извлечение этого помещения по индексу.
Объединение всех помещений в модели.
Номер необходимого помещения.
Получение номера помещения и определение индекса.
Получение помещения по индексу.
Скачайте файл примера, щелкнув указанную ниже ссылку.
Полный список файлов примеров можно найти в приложении.
А теперь посмотрите, как тот же процесс выглядит при использовании словарей. Сначала необходимо собрать все помещения в модели Revit.
Выберите нужную категорию Revit (в данном случае работа ведется с помещениями).
Запрограммируйте сбор всех таких элементов в Dynamo.
Затем необходимо решить, какие ключи будут использоваться для поиска этих данных. Сведения о ключах см. в разделе Что такое словарь.
Данные, которые будут использоваться, — это номер помещения.
Теперь создайте словарь по заданным ключам и элементам.
Узел Dictionary.ByKeysValues создает словарь с соответствующими входными данными.
Данные
Keys
должны быть строковыми, а полеvalues
поддерживает разные типы объектов.
Наконец, извлеките помещение из словаря с номером помещения.
Порт
String
выдает ключ, который используется для поиска объекта в словаре.Метод Dictionary.ValueAtKey получает объект из словаря.
Используя аналогичную логику работы со словарями, можно создавать словари, содержащие сгруппированные объекты. Если нужно найти все помещения на конкретном этаже, измените приведенный выше график следующим образом.
Вместо использования номера помещения в качестве ключа, можно использовать значение параметра (в данном случае этаж).
Теперь можно сгруппировать помещения по этажу, на котором они находятся.
Когда элементы сгруппированы по этажам, можно использовать общие (уникальные) ключи в качестве ключей для словаря, а списки помещений — в качестве его элементов.
Наконец, используя этажи, заданные в модели Revit, выполните поиск в словаре всех помещений, расположенных на нужном этаже. Метод
Dictionary.ValueAtKey
использует имя этажа в качестве входных данных и возвращает объекты помещений на этом этаже.
Возможности использования словарей практически безграничны. Сама по себе возможность соотнесения данных BIM в Revit с тем или иным элементом открывает широкий спектр вариантов применения.