Dynamo – Русский – только для чтения
Раздел для программистов и специалистов, использующих Dynamo
отмена
Отображаются результаты для 
Показать  только  | Вместо этого искать 
Вы имели в виду: 

Как с помощью Dynamo сделать фильтрацию элементов Revit по двум параметрам?

8 ОТВЕТ 8
РЕШЕНО
Ответить
Сообщение 1 из 9
sayapin
1599 просмотров, 8 ответов

Как с помощью Dynamo сделать фильтрацию элементов Revit по двум параметрам?

Здравствуйте! Пишу скрипт в dynamo. Требуется отфильтровать элементы ревита (арматура воздуховодов) по двум условиям (параметрам).

Но никак не получается получить результат. Эти два параметра относятся к типу и экземпляру. Для одного параметра все легко фильтруется. Но для двух я не могу найти решение. Кто-нибудь с этим работал? 

 

@sayapin 

Название темы было изменено @alina.balkanskaia для улучшения навигации на форуме. Оригинальное название: Dynamo. Фильтрация по двум условиям.

 

8 ОТВЕТ 8
Сообщение 2 из 9
architect.bim
в ответ: sayapin

Добрый день!

Здесь нужна следующая логика. Берете исходные элементы. Получаете значения параметра экземпляра. Сравниваете с эталоном. Получаете первую маску фильтрации. Далее аналогично с параметром типа. После этого объединяете две маски в одну, используя оператор and (в кодблоке нужно написать &&). В итоге у вас маска, удовлетворяющая обоим условиям. Теперь ее можно использовать для фильтрации элементов.

Вот пример:

architectbim_0-1658215787337.png

 


Maxim Stepannikov | Architect, BIM Manager, Instructor
Сообщение 3 из 9
SergeyShvydko
в ответ: sayapin

Здравствуйте!

Можно воспользоваться следующим условием в ноде Code Block.

Данное условие можно изменить и использоваться не только для двух значений, но и более. Вместо значения true (в условии) можно подставлять и другие значения (см. пример ниже)

Screenshot_2.png

Пример всего скрипта

1.png



Sergey Shvydko
Architect, BIM-Manager
Курс по Revit Architecture
t.me/sshvydko




Сообщение 4 из 9
sayapin
в ответ: architect.bim

Спасибо! 

Сообщение 5 из 9
sayapin
в ответ: SergeyShvydko

Спасибо! В Code Block можно несколько && прописать? Что-то типа: a==true b==true c==true? true: false;

Сообщение 6 из 9
SergeyShvydko
в ответ: sayapin

да, все верно.

a==true && b==true && c==true? true: false;

 



Sergey Shvydko
Architect, BIM-Manager
Курс по Revit Architecture
t.me/sshvydko




Сообщение 7 из 9
architect.bim
в ответ: SergeyShvydko

Ну на самом деле писать =true и далее ?true:false не обязательно. В данном случае просто несколько && будут работать точно также:

architectbim_2-1658221513459.jpeg

 

 


Maxim Stepannikov | Architect, BIM Manager, Instructor
Сообщение 8 из 9
SergeyShvydko
в ответ: architect.bim

Согласен с тобой
Конкретно в этом примере ?true:false не обязательно. Спасибо за дополнение!

Выше писал, что вместо true и false можно указать значения (в примере выше это указал). Сравнения добавить в условное выражение. 

SergeyShvydko_0-1658222904148.png

 



Sergey Shvydko
Architect, BIM-Manager
Курс по Revit Architecture
t.me/sshvydko




Сообщение 9 из 9
alina.balkanskaia
в ответ: sayapin

@sayapin Добрый день! Рада видеть вас в Сообществе Autodesk Community!  😀

Спасибо, что отметили ответы @SergeyShvydko и @architect.bim, которые вам помогли!

Alina Balkanskaia
Community Manager

Не нашли то, что искали? Задайте вопросы в сообществе или поделитесь своими знаниями.

Новая тема  

Autodesk Design & Make Report