Рекламодатель: ЗАО «Топ Системы»

ИНН 7726601967 ОГРН 1087746953557

Рекламодатель: ООО «ЛС-Технологии»

ИНН 7807258360 ОГРН 1227800102375

Рекламодатель:
ООО «С3Д Лабс»

ИНН 7715938849 ОГРН 1127747049209

10 - 2011

Оцифровка графиков в Spotlight. Пример решения прикладных задач при помощи ActiveX

Илья Шустиков, Игорь Хитров

Наш постоянный читатель помнит, что одна из предыдущих статей была посвящена вопросам использования открытой архитектуры Spotlight для решения различных прикладных задач при работе с растровыми изображениями. Сегодня мы хотим вернуться к этой теме и рассмотреть пример настройки скрипта для оцифровки различных графиков и номограмм.

Проблематика интеграции современных технологий автоматизации проектирования и моделирования

Современные средства проектирования, методы и способы инженерного анализа позволяют моделировать поведение конструкций при разных способах нагружения или воздействия. Однако зачастую результаты работы даже опытного пользователя­расчетчика не совпадают с результатами многолетнего использования накопленного опыта в виде экспериментальной кривой. Проблема интеграции «ручной» технологии и современных средств автоматизации заключается в том, что многие исходные данные, полученные в ходе лабораторных измерений и экспериментов, существуют в виде бумажной копии «кривой» на миллиметровке или ксерокопии в каком­либо отчете.

Рассмотрим поэтапно весь процесс: от получения и обработки растрового изображения до создания скрипта, векторизации кривой и экспорта значений во внешний файл. В качестве примера возьмем отсканированное изображение графиков аэродинамического расчета воздушного винта (рис. 1).

Рис. 1. Отсканированное исходное изображение

Рис. 1. Отсканированное исходное изображение

Обработка растра

В первую очередь изображение с графиком требуется отсканировать и сохранить без потери качества. В зависимости от типа носителя и размера изображения необходимо подобрать оптимальное разрешение, желательно — не ниже 300 dpi и не выше 600 dpi. Режим сканирования выбирается, исходя из цветовой гаммы и наличия фона на изображении. В некоторых случаях при сканировании в монохромном режиме не удается добиться четкости и однородности кривой линии графика. В этом случае лучше произвести сканирование в градациях серого или в индексированном режиме (палитра), а затем программным способом в Spotlight выделить нужные объекты на монохромный слой. Это можно осуществить при помощи команды Бинаризация или Адаптивная бинаризация (при наличии неоднородного градиентного фона). Программа Spotlight позволяет векторизовать объекты на любом цветовом типе растра, но гораздо проще и более корректно производить векторизацию на монохромном изображении.

Прежде чем приступить к векторизации, необходимо убедиться, что на изображении отсутствуют деформации. При их наличии можно применить один из следующих инструментов:

  • Устранение перекоса — компенсирует угол перекоса, эффективен для устранения искажений при сканировании на планшетном сканере;
  • Корректировка по четырем точкам — устраняет нелинейные деформации на растре. Для этого следует задать известные точные габариты прямоугольной рамки и указать соответствующие четыре точки на растровом изображении. Данный метод эффективен, когда изображение содержит габаритный прямоугольник с заранее известными размерами;
  • Калибровка — инструмент, позволяющий компенсировать сложные нелинейные искажения. Данные для команды могут быть заданы по произвольному набору точек или по опорной сетке.

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

Для привязки изображения к системе координат можно создать ПСК (пользовательская система координат) по точке, указав начало в «нуле», и задать нужное направление осей (рис. 2). Масштабный коэффициент значения осей можно будет установить и позже: в скрипте при выгрузке точек с графика или при обработке выгруженных значений (рис. 3).

Рис. 2. Привязка обработанного растрового изображения к ПСК

Рис. 2. Привязка обработанного растрового изображения к ПСК

Рис. 3. Создание ПСК

Рис. 3. Создание ПСК

Векторизация полилинии графика

Оптимальный вариант для векторизации графика — трассировка полилинии (полуавтоматический режим). Для достижения наилучшего результата необходимо корректно настроить диалог Параметры конверсии: установить максимальную точность для получения оптимального количества сегментов в полилинии и задать максимальную толщину линии (рис. 4).

Рис. 4. Настройка Параметров конверсии

Рис. 4. Настройка Параметров конверсии для векторизации полилинии

Рис. 5. Трассировка полилинии

Рис. 5. Трассировка полилинии

В процессе трассировки пользователь контролирует процесс, при необходимости задает направление трассировки, вносит коррективы (рис. 5). Результатом трассировки является векторная полилиния, точно повторяющая контуры растровой линии графика. Векторную полилинию можно отредактировать либо в ручном режиме с помощью команд на панели Редактирование полилиний при включенном соответствующем режиме (рис. 6), либо в автоматическом режиме посредством команды Автоматическая коррекция полилиний.

Рис. 6. Коррекция векторной полилинии

Рис. 6. Коррекция векторной полилинии

Написание скрипта

В профессиональной версии Spotlight многие необходимые пользователям возможности и инструменты могут быть реализованы при помощи открытой архитектуры программы. Открытая архитектура базируется на технологии ActiveX, которая позволяет разрабатывать собственные приложения. Эти приложения могут создаваться при помощи внешнего или встроенного редактора кода, поддерживающего языки JScript и VBScript (рис. 7). Для формирования пользовательских диалогов и команд применяются WYSIWYG­редактор html­форм и Мастер ActiveX.

Наряду с программным обеспечением в поставку входит документация разработчика «WiseImage X Open Architecture Reference».

Рис. 7. Создание скрипта в Мастере ActiveX

Рис. 7. Создание скрипта в Мастере ActiveX

Руководствуясь этим документом, пользователь может написать собственный скрипт и создать кнопку на панели инструментов для его запуска. В нашем примере приведен достаточно простой код, описывающий создание текстового файла *.txt, выбор полилинии в модельном пространстве и автоматический экспорт координат вершин в созданный текстовый файл.

Полученные данные в дальнейшем могут быть обработаны в специализированных расчетных программах, например загружены в MS Excel для более детального изучения полученной функции или в Mathcad для интерполяции и построения семейства кривых (рис. 8). 

Рис. 8. Выгрузка точек во внешнее приложение для дальнейшей обработки

Рис. 8. Выгрузка точек во внешнее приложение для дальнейшей обработки

Применительно к таким фундаментальным дисциплинам, как физика, авиация и космонавтика или судостроение, где современные экспериментальные данные существуют «в цифре», остается проблема обработки и накопления «древних» экспериментальных данных, которые могут использоваться как исходные или промежуточные для проведения расчетов или моделирования.

Как относиться к оцифрованным данным? Мы можем лишь допускать, что иллюстрации в отчетах, книгах или монографиях достоверны и не имеют внесенных погрешностей. В любом случае оценка достоверности опубликованной графической информации остается за пользователем и не является предметом обсуждения.

САПР и графика 10`2011

Регистрация | Войти

Мы в телеграм:

Рекламодатель:
ООО «Нанософт разработка»

ИНН 7751031421 ОГРН 5167746333838

Рекламодатель: ЗАО «Топ Системы»

ИНН 7726601967 ОГРН 1087746953557