Сообщество программистов Autodesk в СНГ
ADN Club => Revit API => Тема начата: Пашин Евгений от 19-10-2015, 12:59:15
-
Продолжение эпопеи с пользовательской формой:
1. Имеется проект с формой и элементом ListView
2. Получаю список всех семейств, входящих в проект и записываю в ListView
3. Требуется скрыть в виде те семейства, которые выделены в ListView.
Дайте ориентир, пожалуйста :)
-
Дайте ориентир, пожалуйста
Общее правило - прежде чем пытаться реализовать это программно, нужно понять, как это делается в пользовательском интерфейсе.
Видимость объектов на виде задается с помощью Переопределения видимости/графики вида.
Соответственно те же шаги, что вы делаете в этом окне, для скрытия определенных семейств, нужно сделать с помощью API/
В названии темы вы написали как скрыть семейства по их категории. Это довольно просто. Метод View.SetVisibility.
А вот чтобы скрыть экземпляры определенного семейства - нужно уже составлять фильтр, что немного сложней. Как реализовать это программно, должна помочь эта статья (http://adn-cis.org/api-dlya-rabotyi-s-filtrami-pereopredeleniya-vidimosti/grafiki.html)
-
Общее правило - прежде чем пытаться реализовать это программно, нужно понять, как это делается в пользовательском интерфейсе.
Насколько я в курсе - это делается выделением элемента в модели и правой клавишей мыши в поле «Скрыть на виде» выбираем: скрыть элемент или категорию. Мне нужно не скрыть, а отобразить лишь те, которые я выделил в списке на форме. Это немного иная задача.
А вот чтобы скрыть экземпляры определенного семейства - нужно уже составлять фильтр, что немного сложней. Как реализовать это программно, должна помочь эта статья
Спасибо, я посмотрю и отпишусь.
-
Это немного иная задача.
Да, это называется изолирование отдельных объектов. А вот эта (http://adn-cis.org/skryit-vse-elementyi-krome-elementov-zadannoj-sistemyi.html) статья расскажет как это делается.
-
О боже, какой сегодня насыщенный информацией день получается. Спасибо! :)
Результат сразу в виде кода и видео продемонстрирую.