Найти тему
Леонид Филиппов

Dynamo: Словари (Dictionaries)

В своем первом посте я рассматривал два метода сортировки каких-либо элементов Revit. За это время я немного продвинулся в изучении и сегодня покажу третий способ: с помощью словаря.

Словарь - это изменяемый неупорядоченный набор элементов "ключ:значение". "Неупорядоченный" – значит, что последовательность расположения пар не важна, вследствие чего обращение к элементам по индексам невозможно.

Понятие словаря (dictionary) хорошо объяснено в руководстве dynamo primer.

На той же страничке есть картинка, на которой показан граф (визуальная программа) по созданию и применению словаря

На картинке каждому ключу соотносится одно значение (например слову "один" присваивается значение "uno").

Набор ключей для словаря Dynamo должен быть уникальным и только с типом данных String.

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

Задача скрипта, ссылка на который будет приведена внизу, следующая:

Требуется выдать список типоразмеров семейств категории Оборудование, размещенных в модели ОВ только на 1 этаже (Уровень 0,000).

Скрипт демонстрирует три способа создания такого списка:

  1. Выборка с помощью "Filter by bool mask"
  2. Выборка с помощью нода "List.AllindiciesOf" и отсортированных индексов списка
  3. Выборка с помощью словаря.

Структура визуальной программы

Правильность выборки подтвержает одинаковая контрольная сумма символов имен семейств, входящих в итоговый список: 511
Правильность выборки подтвержает одинаковая контрольная сумма символов имен семейств, входящих в итоговый список: 511

Архив со скриптом Dynamo и учебной моделью ОВ многоэтажного жилого дома (Revit 2020) можно скачать по ссылке: https://disk.yandex.ru/d/rcIF2_T-rumqow

#revit #dynamo #визуальное программирование #bim-технологии #сапр