SALOME: примеры скриптов на Python
Расширение возможностей графического интерфейса SALOME с помощью плагинов Python
Цели
Менеджер python-плагина SALOME позволяет пользователю расширить графический интерфейс SALOME за счет пользовательских функций, заданных как модули python. На скриншотах ниже показан пример инструмента, который создает сетку на основе множества геометрических параметров и простого графического интерфейса:
Меню для плагинов по умолчанию находится в "Tool->Extensions":
В этом примере, плагин предоставляет интерфейс для ввода параметров (не предусмотренный менеджером плагинов):
Затем создается модель сетки:
В этом примере пользователь должен был написать:
- 1. Скрипт на Python, который создает сетку из параметров с помощью интерфейса GEOM и SMESH Python, как и в случае обычного использования.
- 2. Диалоговое окно в PyQt для ввода параметров
- 3. Файл salome_plugins.py, который объявляет плагины
В этот статье описан лишь третий пункт.
Принцип
Файл salome_plugins.py в общем виде:
import salome_pluginsmanager # Creation of the plugin def myplugin1(context): ... # Here is the code of the plugin myplugin1 ... def myplugin2(context): ... # Here is the code of the plugin myplugin2 ... # Declaration of the plugins to the pluginsmanager salome_pluginsmanager.AddFunction('My plugin n°1', 'This action runs the plugin n°1', myplugin1) salome_pluginsmanager.AddFunction('My plugin n°2', 'This action runs the plugin n°2', myplugin2) ...
Процедура определяет функции, которые реализует плагин, и объявляет эту функцию для менеджера плагинов. Реализация может быть различной. Стоит рассматривать эту функцию в качестве прокси-сервера в ваш код, которым вы сможете управлять из python, находящегося в стандартном каталоге SALOME pythone.
В этом коде переменная "context" автоматически передается с помощью менеджера плагинов при запросе плагина. Этот контекст предоставляет вам по меньшей мере, следующие атрибуты:
activeStudy = context.study salomegui = context.sg
Как только скрипт salome_plugin.py готов, он должен быть перемещен в определенное место в вашей файловой системе, где указано в SALOME искать плагины. Возможные каталоги (в порядке поиска ):
Каталог <*_ROOT_DIR>/share/Salome/plugins/<module_name>, когда этот плагин разработаны в фреймворке SALOME (<*_ROOT_DIR> это корневой каталог установки модуля, а <module_name> имя модуля строчными буквами.
Каталог ~/.config/salome/Plugins для персональных и плагинов пользователей. Любой путь в переменной SALOME_PLUGIN_PATH (путь должен быть отделен ":" для UNIX и ";" для Windows). Эта переменная должна быть задана и экспортирована до запуска SALOME.