Создание системы визуализации данных с приборов ВМТ

В 2004 году компания «Элевайз» разработала систему визуализации данных о результатах измерения поверхностей (ODAS).

Заказчик: BreitmeierMesstechnikGmbH (http://www.breitmeier.de/).

Цели и задачи проекта

Основная задача системы ODAS – это визуализация данных, полученных в результате измерения поверхностей с помощью высокоточных измерительных приборов, производимых компанией BreitmeierMesstechnikGmbH. Для визуализации трехмерных поверхностей компанией «Элевайз» был разработан отдельный модуль, отображающий любые 3D объекты. Система является расширяемой за счет того, что в нее встроена программная оболочка, построенная на MS VBA SDK.

Основной цикл работы системы следующий:

  • Пользователь производит измерения и сохраняет данные в бинарный файл (используется формат, построенный на карте высот);
  • После этого данный файл "прикрепляется" к диаграмме визуализации в системе ODAS. Эта диаграмма отображает либо 2D график для отображения каких-то показателей измерения, либо 3D поверхность, которая моделирует реальную измеряемую поверхность;
  • Пользователь может применить к измерениям фильтры (в том числе и созданные самостоятельно) для преобразования данных к нужному виду;
  • Результаты измерений записываются в файл для дальнейшего использования.

Ключевые решения

Пример программного интерфейса:

Трехмерное моделирование поверхности

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

Например: прибор снял измерения с поверхности детали. Система должна очень четко показать все неровности на поверхности детали, которые были найдены при измерении.

Для качественной визуализации с помощью OpenGL был разработан собственный компонент для отображения трехмерной поверхности. Компонент поддерживает следующие "стандартные" функции:

  • Заливка поверхности текстурой;
  • Градиент;
  • До 8-ми источников света;
  • Свойства материала: прозрачность, отражение света;
  • Плоское затенение, затенение по Гуро и Фонгу; Увеличение, уменьшение;
  • Растягивание вдоль осей;
  • Тесселяция (при вращении, например, происходит ухудшение качества, а за счет этого приема увеличивается скорость работы при вращении);
  • Высококачественная печать 3D модели на принтере, плоттере. Для печати используется программная визуализация.

Расширение системы

ODAS является расширяемой системой благодаря встроенному языку расширений. Пользователь может самостоятельно писать и отлаживать скрипты внутри приложения на языке VisualBasic, используя MS VBA SDK .

Все компоненты в системе (страницы, окна, 3D модели и т.д.) представлены в виде объектов, доступных через COM-интерфейс для разработки расширений.

Разработчик может вызвать встроенный редактор расширений, написать расширение, тут же отладить его и сохранить в документе, например, в формате MS™ Word.