Документация Engee
Notebook

Маски блоков

В данном примере мы разберём, как применять графические интерфейсы для подсистем. Этот инструмент используется для удобной параметризации блоков и для разработки пользовательских библиотек.

В нашей демонстрации воспользуемся ранее описанной моделью из этого примера (\url{https://engee.com/helpcenter/stable/ru/interactive-scripts/edu/Root_Quadratic_Equation.html}). В этом примере представлена модель нахождения корней квадратного уравнения.

𝑎𝑥^2+𝑏𝑥+𝑐=0, 𝑎≠0

Сама модель показана на рисунке ниже.

image.png

Итак, у нас есть подсистема с описанным выше алгоритмом. Теперь перейдём к созданию маски.

image_2.png

После этого мы попадём в окно создания интерфейсов.

image_3.png

В данном окне:

  • слева представлены структурные элементы,
  • по центру сам итоговый интерфейс блока,
  • справа видны настройки каждого из элементов.

Теперь рассмотрим более детально элементы, с которыми мы можем взаимодействовать.

image_4.png

  1. Поле для ввода позволяет присвоить константе внутри блока любое значение, которое мы введём с помощью клавиатуры.
  2. Чекбокс позволяет константе внутри блока давать значения 0 или 1 в зависимости от того, включён или выключен данный параметр.
  3. Выпадающий список содержит набор параметров и в зависимости от выбранного параметра присваивает константе порядковый номер выбранного параметра.
  4. Скрываемая секция позволяет разбить интерфейс блока на несколько подгрупп; каждая из них может быть свёрнута и иметь своё название.

В нашем примере мы рассмотрим Поле для ввода и зададим через него параметры a, b и с. Начнём с переименования секции.

image.png

После этого добавим три поля для ввода

image_2.png

Теперь настроим каждое из полей в соответствии с именами констант, указанными внутри подсистемы.

image_3.png

В результате мы получаем блок со следующими параметрами для ввода:

image_4.png

Теперь давайте запустим модель.

image_5.png

Видно, что корни уравнения были найдены, следовательно, модель работает корректно.

Вывод

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

Блоки, использованные в примере