В своем первом посте я рассматривал два метода сортировки каких-либо элементов Revit. За это время я немного продвинулся в изучении и сегодня покажу третий способ: с помощью словаря.
Словарь - это изменяемый неупорядоченный набор элементов "ключ:значение". "Неупорядоченный" – значит, что последовательность расположения пар не важна, вследствие чего обращение к элементам по индексам невозможно.
Понятие словаря (dictionary) хорошо объяснено в руководстве dynamo primer.
На той же страничке есть картинка, на которой показан граф (визуальная программа) по созданию и применению словаря
На картинке каждому ключу соотносится одно значение (например слову "один" присваивается значение "uno").
Набор ключей для словаря Dynamo должен быть уникальным и только с типом данных String.
Набор значений для словаря может быть любым, в том числе и многоуровневым списком и даже вложенным словарем, и эта возможность активно применяется в создании визуальных программ.
Задача скрипта, ссылка на который будет приведена внизу, следующая:
Требуется выдать список типоразмеров семейств категории Оборудование, размещенных в модели ОВ только на 1 этаже (Уровень 0,000).
Скрипт демонстрирует три способа создания такого списка:
- Выборка с помощью "Filter by bool mask"
- Выборка с помощью нода "List.AllindiciesOf" и отсортированных индексов списка
- Выборка с помощью словаря.
Структура визуальной программы
Архив со скриптом Dynamo и учебной моделью ОВ многоэтажного жилого дома (Revit 2020) можно скачать по ссылке: https://disk.yandex.ru/d/rcIF2_T-rumqow
#revit #dynamo #визуальное программирование #bim-технологии #сапр