Использование браузера файлов FileBrowser для открытия и сохранения файлов

В скриптах и аддонах импорта-экспорта форматов, не поддерживаемых в Blender по умолчанию, пользователю необходимо предоставить возможность выбора файлов при помощи браузера файлов “FileBrowser”.

Для того, чтобы открыть браузер файлов, а после указания пользователем необходимых файлов, получить путь к ним, нужно использовать классы ImportHelper и ExportHelper.

ImportHelper используется для выбора импортируемых файлов, ExportHelper – для экспортируемых.

Создадим оператор, который при вызове откроет окно файлового браузера, а после выбора пользователем файла, выведет полный путь к нему.

Импортируем необходимые для создания класса модули

и оформим сам класс:

Для того чтобы наш класс выполнялся как оператор, мы наследовали его от класса “Operator”. Наследование от класса “ImportHelper” обеспечивает открытие окна “FileBrowser” для выбора файла перед выполнением метода “execute”.

После выбора пользователем файла и закрытия окна “FileBrowser” путь к нему будет сохранен в свойстве класса “filepath”.

Для правильной работы класса в нем необходимо переопределить свойство “filter_glob” – скрытое свойство типа “StringProperty” для указания фильтра из расширений, файлы с которыми будут отображаться в файловом браузере.

Полностью класс выглядит так:

Зарегистрируем его в API и вызовем как оператор для демонстрации работы.

Полный текст скрипта выглядит следующим образом:

Откроем окно “Text Editor”, создадим новый скрипт и вставим в него этот код. При выполнении скрипта (нажатием на кнопку “Run Script”) откроется окно “FileBrowser” в котором будут показываться только файлы с расширением “*.txt”. После выбора любого из текстовых файлов, окно “FileBrowser” закроется и в консоль будет выведен полный путь к выбранному пользователем файлу.

Точно также для экспортируемых файлов.

Для экспорта необходимо переопределить еще одно свойство: “filename_ext” – расширение по умолчанию для сохраняемого файла.

Полный код для экспорта:

Здесь, после закрытия окна “FileBrowser”, выведется путь к файлу с именем, заданным пользователем.

Nikita

Автор: Nikita

Blender add-ons developer and articles writer.