
Оригинал статьи — на сайте C3D Labs
Web Vision состоит из двух частей. Первый, frontend-часть, представляет собой npm-пакет, поставляющийся для внедрения в браузер разработчика. В него входит Type Script API для управления свойствами визуализации — скрытия объекта, его покраски и других способов взаимодействия с графикой. Второй компонент, серверная часть, в большей степени ориентирован на управление данными. Серверная часть используется для конвертации, подготовки данных для визуализации, получения атрибутной информации, метаданных и т. д. Управление сервисом происходит с помощью REST API, это сделано для интеграции с микросервисной архитектурой.

Рис. 1
Так как потенциал Web Vision вызывает повышенный интерес, мы развиваем демонстрационный пример. Как правило, в поставку входит именно open source, демонстрационный пример — для того, чтобы показать, как со всеми этими компонентами взаимодействовать и работать.

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

Рис. 3
Мы продолжаем развивать функционал Web Vision и, в соответствии с планами, озвученными в 2022 году, намереваемся реализовать манипуляторы, которые уже были в десктопе.

Рис. 4
Также сейчас в работе находится функция управления процессом динамического сечения с помощью манипулятора.

Рис. 5
Основной момент заключается в изменении работы сервиса. Начиная с версии 1.5.1, сервис может работать как служба и в Windows, и в Linux.

Рис. 6
Это означает, что теперь его можно зарегистрировать, установить, удалить, запустить через функцию start/stop или иные процессы, которые управляют службами. Для работы в прежнем режиме предусмотрена интерактивная команда run.
Вторая важная задача, которая стоит перед нами в этом году, — это повышение производительности. Попробуем представить себе модель, которую сейчас оптимизируем, пытаемся загрузить, и тот результат, который хотим получить. Она объединит более одного миллиона геометрических объектов, более ста миллионов треугольников. Эта модель занимает на диске 3 Гб при ограничении по использованию памяти в браузере не более 4 Гб.
В планах — сделать отрисовку не менее 30 кадров в секунду. Еще один пункт — динамическая загрузка механизма, которая позволяет загружать часть модели, до определенного предела с учетом ограничений по использованию памяти. Чтобы этого достичь, мы уже сейчас оптимизируем динамическую загрузку, чтобы улучшить визуализацию, повысить fps. Мы хотим перейти на WebGL 2.0, чтобы использовать новые возможности графического API. Наша цель — построить динамический кадр, в котором отрисовка модели будет подстраиваться под количество кадров в секунду. В зависимости от задачи модель автоматически завершит дорисовку и подгрузит недостающие элементы. Следующий пункт — Level of details, необходимый для того, чтобы уменьшить количество передаваемых данных по сети и количество сохраняемых данных внутри браузера с учетом вышеупомянутых ограничений. Чтобы преодолеть ограничение в 4 Гб и не подгружать те данные, которые уже были загружены, мы планируем использовать локальный кэш браузера.
Важно отметить небольшие изменения в схеме работы.

Рис. 7
Немного про планы разработки. Основная задача — восстановить визуализацию PMI, которую сохраняет КОМПАС и другие средства проектирования, то есть отображать объекты PMI из конверторов.

Рис. 8

Рис. 9
Также в планах — функциональность Markup. Сейчас она находится на стадии аналитики. Мы открыты к предложениям и пожеланиям и учитываем их в процессе совершенствования решения.

Рис. 10

Рис. 11

Рис. 12

Рис. 13
Реклама. ООО «С3Д Лабс». erid: 2SDnjcj8dZT