Модуль 3D-визуализации

Модуль 3D-визуализации SimInTech предназначен для динамического рендеринга объектов в трехмерном пространстве. Функционал модуля позволяет работать как со стандартными примитивами (сфера, конус и т.д.), так и с объектами, загруженными из файла (доступные форматы: *.obj, *.glsm, *.objf, *.stl.).

Существует три способа создания окна модуля 3D-визуализации:
  1. При помощи блоков библиотеки Визуализация 3D.
  2. При помощи функции скриптового языка программирования CreateEngine.
  3. Через менеджер данных SimInTech.
Создание 3D-объектов осуществляется (количество 3D-объектов не ограничено):
  1. При помощи блоков библиотеки Визуализация 3D.
  2. При помощи функций скриптового языка программирования.
  3. Через контекстное меню окна модуля 3D-визуализации.

Интерфейс

Окно модуля 3D-визуализации содержит четыре области (Рис. 1):
  1. Главное меню. Содержит структурированный перечень всех функций модуля 3D-визуализации.
  2. Панель быстрого доступа. Обеспечивает быстрый доступ к базовым функциям модуля 3D-визуализации.
  3. Область рендеринга 3D-объектов. Предназначена для навигации по 3D-модели.
  4. Строка состояния. Служит для индикации некоторых параметров 3D-модели:
    • Координаты выделенного 3D-объекта в глобальной системе координат (ГСК).
    • Текущее значение кадровой частоты (FPS).
    • Величина визуализируемого параметра в заданной точке.


Рис. 1. Области окна модуля 3D-визуализации

Существует опционально отображаемая пятая секция окна модуля 3D-визуализации – Дерево 3D-объектов (Рис. 2).



Рис. 2. Область "Дерево 3D-объектов"

Иерархия 3D-объектов

Все 3D-объекты структурно делятся на три группы по способу их создания:
  1. Динамические объекты со схемы – 3D-объекты, создание которых выполнено по запросу блоков библиотеки "Визуализация 3D", расположенных на схеме SimInTech.
  2. Динамические объекты из скрипта – 3D-объекты, создание которых выполнено по запросу функций скриптового языка программирования SimInTech.
  3. Статические объекты загруженные – 3D-объекты, создание которых выполнено пользователем вручную в окне модуля 3D-визуализации.
Каждая группа 3D-объектов является деревом (иерархическим списком). Каждый 3D-объект является дочерним по отношению либо к глобальной системе координат, либо к другому 3D-объекту. Родительский 3D-объект указывается при создании 3D-объекта в зависимости от способа создания объекта.
Отображение 3D-объекта производится в локальной системе координат его родителя, таким образом возможно организовать отображение сложного механизма, в котором при изменении положения одного 3D-объекта будет изменяться положение его дочерних 3D-объектов (Рис. 3).


Рис. 3. Иерархия 3D-объектов модели

Ориентация осей глобальной системы координат

По умолчанию при создании нового окна модуля 3D-визуализации вверх направлена ось Z глобальной системы координат (ГСК). Изменение видимости и ориентации осей ГСК доступно в параметрах окна 3D.

Каждой оси соответствует свой цвет (Рис. 4):
  • ось X – красный;
  • ось Y – зеленый;
  • ось Z – синий.


Рис. 4. Ориентация осей ГСК

Визуализация поля распределения параметра

Для 3D-объектов, созданных при помощи блоков на схеме SimInTech, возможно визуализировать поле распределения того или иного параметра системы на 3D-объекте (Рис. 5). Шкала параметра для визуализации расположена в левой части области рендеринга. Меню выбора визуализируемого параметра расположено на панели быстрого доступа. Величина визуализируемого параметра в заданной точке отображается в строке состояния.



Рис. 5. Визуализация поля распределения параметра

Навигация по 3D-модели

Доступны следующие инструменты навигации:
  • Вращение камеры. Для вращения камеры вокруг текущей целевой точки необходимо зажать левую кнопку мыши и перемещать курсор мыши.
  • Перемещение камеры. Для перемещения целевой точки камеры необходимо зажать левую кнопку мыши, зажать клавишу "Alt" и перемещать курсор мыши. По умолчанию целевая точка расположена в начале координат ГСК.
  • Приближение и удаление камеры. Для приближения и удаления камеры необходимо перемещать колесо мыши.
  • Вызов контекстного меню окна осуществляется одинарным нажатием правой кнопкой мыши по области рендеринга.
  • Выделение 3D-объекта осуществляется одинарным нажатием левой кнопкой мыши по 3D-объекту в области рендеринга, либо в дереве объектов. Доступно множественное выделение 3D-объектов при зажатой клавише "Ctrl". Выделенные 3D-объекты окрашивается по умолчанию в синий цвет.

    Для 3D-объектов, созданных при помощи блоков библиотеки "Визуализация 3D", при выделении 3D-объекта осуществляется выделение соответствующего блока на схеме, аналогично, при выделении блока на схеме осуществляется выделение 3D-объекта.

    В режиме выделения 3D-объекта доступен ряд дополнительных функций:
    • Вызов контекстного меню 3D-объекта осуществляется одинарным нажатием правой кнопкой мыши по выделенному 3D-объекту.
    • Вызов окна свойств 3D-объекта осуществляется двойным нажатием левой кнопкой мыши по 3D-объекту при зажатой клавише "Alt", либо через контекстное меню 3D-объекта.
    • Вызов окна свойств блока на схеме. Для 3D-объектов, созданных при помощи блоков на схеме SimInTech, открытие окна свойств блока на схеме осуществляется двойным нажатием левой кнопкой мыши по 3D-объекту при зажатой клавише "Shift".
    • Установка выделенного 3D-объекта в качестве цели камеры осуществляется двойным нажатием левой кнопкой мыши по 3D-объекту при зажатой клавише "Ctrl". Сброс цели камеры осуществляется аналогичными действиями при отсутствии выделенного объекта.
Контекстное меню включает следующие пункты:
  • Добавить объект. Создание нового статического 3D-объекта в виде дочернего по отношению к выделенному статическому 3D-объекту, либо к ГСК, если ни один 3D-объект не выделен.
  • Удалить объект. Удаление выделенного статического 3D-объекта.
  • Свойства. Вызов окна свойств выделенного 3D-объекта.
  • Окно свойств в SimInTech. Вызов окна свойств соответствующего блока на схеме SimInTech (для 3D-объектов, созданных при помощи блоков на схеме SimInTech).

Функции окна

Функции, доступные в виде кнопок на панели быстрого доступа:

  • Открыть. Загрузка статического 3D-объекта из файла. Доступные форматы: *.obj, *.glsm, *.objf, *.stl.
  • Сохранять/Загружать конфигурацию. Включение и отключение автоматического сохранения и загрузки конфигурации окна, включая все настройки (позиция камеры, положение окна, состояние кнопок и т.д.), и статические примитивы, добавленные или загруженные в процессе работы с 3D-моделью.
  • Увеличить. Приближение камеры к целевой точке.
  • Уменьшить. Удаление камеры от целевой точки.
  • Сбросить вид. Возврат вида камеры к виду по умолчанию.
  • Вид спереди. Приведение вида камеры к одной из стандартных изометрических проекций.
  • Вид сбоку. Приведение вида камеры к одной из стандартных изометрических проекций.
  • Вид сверху. Приведение вида камеры к одной из стандартных изометрических проекций.
  • Поверх всех окон. Установка ока модуля 3D-визуализации поверх остальных окон.
  • Дерево 3D-объектов. Показать/скрыть дерево 3D-объектов.
  • Горизонтальная координатная сетка. Показать/скрыть горизонтальную координатную сетку.
  • Оси ГСК. Показать/скрыть координатные оси ГСК.
  • Режим выделения 3D-объектов. Активация дополнительных функций, связанных с выделением 3D-объектов.
  • Навигация по 3D-модели. Активация режима навигации по 3D-модели.
  • Параметры. Вызов окно параметров окна 3D-визуализации.
  • Освещение. Включение/выключение освещения 3D-модели.
  • Нодализационная сетка 3D-объектов. Управление отображением нодализационной сеткой 3D-объектов.
  • Скриншот в буфер. Создание скриншот области рендеринга 3D-объектов и копирование в буфер обмена.
  • Запрашивать данные с шагом. Инструмент отвечает за взаимодействие модуля 3D-визуализации со схемой SimInTech. При отключенной опции в процессе расчета данные со схемы в модуль 3D-визуализации не поступают.
  • Перерисовывать на каждом шаге. На каждом шаге обмена данными со схемой SimInTech получать новые координаты и геометрию для соответствующих 3D-объектов и обновлять их положение.
  • Поле распределения параметра. Показать/скрыть поле распределения параметра. Численные значения параметров для визуализации со схемы передаются в модуль 3D на каждом шаге обмена данными. В процессе моделирования 3D-объекты, созданные при помощи блоков на схеме SimInTech, окрашиваются в соответствии с выбранной опцией, текущим значением визуализируемого параметра и выбранной цветовой кодировкой.
  • Обновить примитивы. Запрос данных со схемы SimInTech и перерисовка 3D-объектов (используется в процессе редактирования схемы SimInTech для обновления 3D-модели).

Параметры окна 3D-визуализации

В окне параметров окна 3D-визуализации доступны следующие параметры.

  1. Цвет фона 3D-модели.
  2. Размер горизонтальной координатной сетки вдоль оси X.
  3. Размер горизонтальной координатной сетки вдоль оси Y.
  4. Частота горизонтальной координатной сетки.
  5. Цвет 3D-объектов по умолчанию.
  6. Цвет выделенного 3D-объекта.
  7. Смещение 3D-модели вдоль оси X.
  8. Смещение 3D-модели вдоль оси Y.
  9. Смещение 3D-модели вдоль оси Z.
  10. Тип сортировки 3D-объектов при рендеринге. Отвечает за очередность рендеринга 3D-объектов.
  11. Сглаживание. Устранение эффекта "зубчатости", возникающего на краях 3D-объектов.
  12. Вертикальная ось. Отвечает за ориентацию осей ГСК.

Следующий перечень свойств также доступен в окне параметров модуля 3D-визуализации при совместной работе со схемой SimInTech:

  1. Цветовая кодировка при визуализации поля распределения параметра.
  2. Признак пользовательского задания максимального и минимального значений визуализируемого параметра.
  3. Минимальное значение визуализируемого параметра, е.и.
  4. Максимальное значение визуализируемого параметра, е.и.
  5. Число точек разбиения шкалы.
  6. Число значащих цифр подписей шкалы.
  7. Число десятичных знаков подписей шкалы.

Примеры

Демонстрационные примеры использования модуля 3D-визуализации расположены в директории установки программы в директории \Demo\Визуализация и анимация\3D-визуализация.