Технологический прорыв: OCCT в WebAssembly
Chili3D — это кроссплатформенное приложение для 3D-моделирования, написанное на TypeScript. Ключевая особенность проекта — интеграция ядра OpenCascade (OCCT) версии 8.0.0, скомпилированного в WebAssembly через Emscripten. Это позволяет выполнять сложные геометрические вычисления с производительностью, близкой к нативной, избегая ограничений стандартных браузерных API.
Визуализация и рендеринг реализованы с помощью Three.js (версия 0.184), что обеспечивает плавную работу с тяжелыми моделями. Архитектура построена на npm workspaces, разделяя логику на модули: core (абстрактные интерфейсы, реактивные данные), wasm (конкретная реализация через OCCT), three (viewport) и ui (интерфейс).
Функциональные возможности и инструменты
Приложение предлагает полный цикл проектирования: от создания базовых примитивов до сложного редактирования. Поддерживаются стандартные форматы обмена данными: STEP, IGES, BREP и STL. Интерфейс выполнен в стиле «ленты» (ribbon), привычной для пользователей профессионального ПО, с поддержкой динамических рабочих плоскостей и иерархического управления сборками.
| Категория | Ключевые функции |
|---|---|
| Моделирование | Boolean-операции (объединение, вычитание, пересечение), выдавливание, вращение, sweep, loft, массивы (линейные/круговые) |
| Скетчинг | Линии, дуги, окружности, эллипсы, многоугольники, кривые Безье |
| Редактирование | Скосы (chamfer), скругления (fillet), разделение, сшивание, упрощение, удаление признаков |
| Измерения | Углы, длины, суммы длин, площадей и объемов |
| Точность | Привязки к точкам/ребрам/граням, отслеживание осей, визуализация направляющих |
Расширяемость и локализация
Chili3D поддерживает систему плагинов, загружаемых динамически через URL-параметры. Среди демо-плагинов есть макросы для автоматизации задач и визуальный редактор программирования на базе Rete.js. Приложение уже переведено на три языка: английский, китайский (упрощенный) и португальский (Бразилия). Данные сохраняются в IndexedDB, обеспечивая работу офлайн и историю изменений (undo/redo).
Для разработчиков и энтузиастов
Проект распространяется под лицензией AGPL-3.0 (само приложение) и LGPL-3.0 (C++ модуль WASM). Разработчики могут запустить проект локально через Docker или npm. Сборка требует Node.js и npm. Для компиляции собственного WASM-модуля используется команда npm run build:wasm после предварительной настройки окружения.
Доступ к веб-версии осуществляется по адресу chili3d.com (официальный сайт) или через Cloudflare Pages. Исходный код доступен на GitHub.
Источник: Github ↗
