Всем привет! Сегодня продолжим погружаться в интерфейс Ревита, на этот раз без дополнительных сложностей в виде новых библиотек — научимся блокировать доступность команд по определённым условиям. Пример Допустим, мы написали плагин для запуска в проекте. Запуск в семействе вызовет исключение. Надо предусматривать этот случай, писать код, выводить сообщение "запуск в семействе не предусмотрен" и т.д. При этом у самого Ревита таких проблем нет: мы не можем нарисовать стену в редакторе семейств, ведь кнопки "Стена" просто нет. Или наш плагин предполагает, что человек выбрал элемент, а потом нажал на кнопку плагина. Было бы удобно сделать так, чтобы человек не мог запустить плагин, не выбрав элемент. Интерфейс IExternalCommandAvailability Решение данной задачи достаточно простое: нужно написать класс, реализующий этот интерфейс, и передать его в кнопку, запускающую команду. Интерфейс содержит всего один метод IsCommandAvailable. Из этого метода мы имеем доступ к выбранным категориям и к UI
Управление доступностью пользовательских команд на ленте Revit
30 марта 202430 мар 2024
115
1 мин