CADBase 0.3.2: Полностью Open Source платформа для обмена 3D-моделями на Rust и WebGPU
Главное
- CADBase — полностью открытая платформа для обмена инженерными данными: фронтенд, сервер, графическое ядро и миграции базы данных опубликованы под свободными лицензиями.
- Релиз версии 0.3.2 добавил поддержку форматов STEP, STL, GLTF, GCode и IFC во встроенный браузерный просмотрщик на WebGPU.
- Платформа построена на стеке Rust, WebAssembly, Actix-web, PostgreSQL и GraphQL; возможен как SaaS-режим, так и развёртывание на собственных серверах.
Рынок инструментов для обмена инженерными 3D-моделями долгие годы оставался разделённым между закрытыми коммерческими продуктами и разрозненными локальными решениями. CADBase Open Source платформа предлагает третий путь — независимый инженерный хаб с полностью открытым кодом, способный работать как в публичном облаке, так и в изолированном корпоративном контуре. Релиз версии 0.3.2, состоявшийся в 2026 году, завершил поэтапный переход проекта в статус Open Source: весь стек опубликован под лицензиями GNU AGPL v3.0 и PostgreSQL License.
Для инженерных команд это меняет правила игры: вместо дорогих PDM-лицензий, чёрных ящиков коммерческих B2B-площадок или примитивных файловых хранилищ появляется машиночитаемая система с объектной структурой данных, браузерным 3D-просмотром и API для интеграций. Платформа не просто заменяет пересылку файлов по почте — она формирует единый доверенный источник инженерных данных, доступный для аудита и кастомизации.
Открытие исходного кода — не маркетинговый ход, а стратегическое решение. Первым шагом ещё в 2023 году был открыт фронтенд (cdbs-app) под лицензией MIT. С выходом версии 0.3.2 исходный код сервера, асинхронных воркеров, графического ядра, миграций базы данных и документации также стал доступен сообществу. Теперь любая организация может изучить реализацию, внести изменения, развернуть собственный инстанс и не зависеть от внешнего провайдера.

Демонстрация 3D-модели редуктора в интерфейсе CADBase.
Почему открытие платформы стало поворотным моментом?
Исторически инженерные облачные платформы строились как закрытые SaaS-сервисы. Тот же GrabCAD после приобретения компанией Stratasys постепенно сворачивал открытые функции, а TraceParts и 3DFindit изначально проектировались как B2B-витрины для генерации лидов, а не как нейтральные инструменты инженеров. Пользователи оказывались в зависимости от политики провайдера: тарифов, доступности API, сроков хранения данных и даже самого существования сервиса.
Переход CADBase на открытые лицензии ликвидирует эту уязвимость. Лицензия GNU AGPL v3.0 гарантирует, что любые производные серверные компоненты также должны быть открыты, а PostgreSQL License снимает ограничения на использование и модификацию схемы базы данных. Для корпоративного сектора это означает возможность полноценного аудита безопасности, соответствия отраслевым стандартам и долгосрочной поддержки без риска «вендорского плена».
Кроме того, открытый код создаёт предпосылки для формирования экосистемы. Независимые разработчики могут создавать плагины, интеграции и специализированные модули, не дожидаясь дорожной карты единственного вендора. Сообщество получает не просто инструмент, а платформу-конструктор, которую можно адаптировать под задачи конкретного КБ, производства или учебного заведения.
Как устроен технический стек платформы?
Фундамент CADBase — язык программирования Rust, известный безопасностью памяти, высокой производительностью и низким потреблением ресурсов. Серверная часть работает на фреймворке Actix-web, который в независимых бенчмарках демонстрирует одну из лучших пропускных способностей среди веб-фреймворков. Взаимодействие с базой данных PostgreSQL организовано через ORM Diesel, что даёт строгую типизацию запросов и минимизирует ошибки времени выполнения.
Клиентское приложение также написано на Rust с использованием фреймворка Yew и компилируется в WebAssembly. Это позволяет добиться нативной производительности в браузере без необходимости устанавливать плагины. Для внешних интеграций развёрнут GraphQL API — гибкий интерфейс, который позволяет клиентам запрашивать ровно те данные, которые им нужны, сокращая сетевой трафик.
Графический бэкенд — отдельная гордость проекта. Визуализация 3D-сцен построена на WebGPU, современном стандарте низкоуровневого доступа к GPU из браузера. Это обеспечивает плавное вращение сложных сборок даже на устройствах со встроенной графикой. Для совместимости со старыми браузерами и аппаратным обеспечением реализован автоматический fallback на WebGL2 через Three.js. Подобная двухуровневая архитектура — редкость для open-source CAD-просмотрщиков.
Асинхронные фоновые задачи (конвертация форматов, создание превью, синхронизация с объектным хранилищем S3) вынесены в отдельный сервис cdbs-proc на Rust/Tokio. Это позволяет масштабировать обработку данных независимо от веб-сервера и не блокировать пользовательские запросы.
Что нового принесла версия 0.3.2?
Главное изменение релиза — глубокая переработка встроенного 3D-просмотрщика. Список поддерживаемых форматов расширился до шести: STEP (параметрические твердотельные модели), STL (полигональные сетки для 3D-печати), GLTF и GLB (веб-ориентированные форматы с PBR-материалами и анимацией), GCode (управляющие программы для ЧПУ и 3D-принтеров) и IFC (BIM-модели строительных проектов). Это покрывает большинство сценариев машиностроения, аддитивного производства и архитектурно-строительного проектирования.
Значительно улучшена навигация по сцене. По двойному клику на любую точку полигональной сетки или траектории GCode камера переносит фокус и центр вращения (pivot point) именно туда — это критически важно при работе с большими сборками, где нужно быстро осмотреть конкретный узел. Переработана раскладка горячих клавиш, приближенная к промышленным CAD-системам:
- T — активировать гизмо-манипулятор; режимы W (перемещение), E (поворот), R (масштабирование).
- Цифровые клавиши 1, 3, 7, 9, 0 — ортогональные проекции (спереди, слева, сверху, зеркальный разворот, изометрия).
- Клавиша 5 — переключение между перспективной и ортогональной камерой; Z — каркасный режим; Пробел — анимация для GLTF/GLB и GCode; H — сброс сцены.

Настройки масштабирования и информация о файле 3D-модели Benchy в CADBase.
На уровне клиентского приложения внедрено кэширование моделей по алгоритму FIFO, что экономит память и ускоряет повторную загрузку. Реализовано автоматическое обновление JWT-сессий — пользователи больше не сталкиваются с внезапной потерей авторизации во время длительной работы. Улучшена защита от XSS-атак: санитизация входных данных и строгая политика Content Security Policy.
Для внешних интеграций добавлен механизм постоянных токенов доступа (API-Key). Администратор может выпустить ключ с ограниченным сроком действия, видеть дату последней активности и мгновенно отозвать его через интерфейс управления. Это делает платформу пригодной для автоматизированных сценариев: выгрузка каталогов, синхронизация с ERP/PLM, интеграция с расчётными системами.
Как структурируются инженерные данные?
В отличие от файловых хранилищ, где данные организованы папками и именами файлов, CADBase использует строгую объектную иерархию из трёх уровней: Компонент → Модификация → Набор файлов. Такая модель отражает реальную инженерную практику, где одно изделие может иметь несколько исполнений и разные комплекты файлов для разных САПР.
Компонент — базовая карточка изделия. Содержит метаданные: наименование, описание, ссылки на стандарты, данные поставщиков, классификацию. К нему могут прикрепляться общие файлы, но не они являются основным объектом обмена.
Модификация — конкретное исполнение изделия (например, деталь 01 или 02), со своими параметрами, материалами, размерами, ГОСТами. Именно модификация хранит чертежи в PDF, спецификации и привязку к производственной документации.
Набор файлов — выделенный контейнер внутри модификации, сгруппированный под конкретную задачу или САПР. Например, для одной модификации можно создать независимые наборы «FreeCAD» и «Blender 3D», каждый со своими исходниками, экспортированными моделями и чертежами. Наборы имеют собственные идентификаторы на уровне всей платформы, что упрощает автоматизацию через API.
Просмотрщик работает только с файлами из наборов модификации, что исключает случайное отображение черновников из других контекстов. Ко всем сущностям можно прикреплять произвольные файлы, но структурированное хранение гарантирует, что инженерная логика не потеряется в беспорядке.
Пример такой иерархии: Компонент «Редуктор РМ-350» содержит модификации «РМ-350.01» и «РМ-350.02». В модификации «РМ-350.01» есть набор файлов «STEP для заказчика» (файлы STEP), набор «Производство» (GCode и чертежи), набор «Расчёты» (PDF с прочностным анализом). При выдаче доступа подрядчику достаточно разрешить конкретный набор, не раскрывая всю базу.
| Уровень | Назначение | Пример содержимого | Особенности |
|---|---|---|---|
| Компонент | Базовая карточка изделия | Название, стандарты, поставщики | Общие метаданные и файлы |
| Модификация | Конкретное исполнение | Материал, размервы, чертежи PDF | Параметрические отличия |
| Набор файлов | Контейнер под задачу/САПР | STEP, GCode, исходники FreeCAD | Для автоматизации и API |
Какие практические задачи решает платформа?
Просмотр 3D-моделей без установленных САПР — критически важная функция для распределённых команд. Инженер-конструктор может отправить заказчику ссылку на модель, и тот увидит её в браузере, покрутит, приблизит, переключит проекции — без покупки лицензий и установки тяжёлого ПО. Для службы снабжения или отдела контроля качества это экономит часы переписок и скриншотов.
Форматы покрывают разные индустрии: STEP — для машиностроения и твердотельного моделирования, STL — для быстрой проверки геометрии перед 3D-печатью, GLTF/GLB — для современных веб-визуализаций с текстурами и анимацией, GCode — для визуального аудита траекторий фрезеровки или печати, IFC — для строительства и BIM.

Отображение информации о 3D-модели Cube и ее модификациях в интерфейсе CADBase.
Обмен данными в централизованном облаке решает проблему «версионного хаоса». Вместо пересылки файлов с именами вроде «деталь_финал_2_окончательно.step» участники работают с единым источником истины. Платформа хранит историю изменений и связи между сущностями, поэтому риск использования неактуального чертежа сводится к минимуму.
Для производителей компонентов CADBase может выступать витриной каталогов. Публикация официальных 3D-моделей в стандартных форматах позволяет проектировщикам «закладывать» изделия в свои проекты на этапе черчения. Это мощный маркетинговый канал, который не требует сложных интеграций с PDM-системами заказчиков.
Наконец, развёртывание на собственных серверах (on-premise) превращает платформу в корпоративный PDM/PLM-архив. Изолированный контур, ролевая модель доступа, поддержка PostgreSQL и асинхронных воркеров позволяют встроить её в инфраструктуру предприятия. При этом важно привлекать DevOps-специалиста для настройки, особенно при интеграции с ERP и автоматизации обмена данными.
В чём отличие от коммерческих аналогов?
Сравнение с популярными платформами помогает понять позиционирование CADBase. В таблице ниже собраны ключевые критерии.
| Критерий | GrabCAD (до закрытия Workbench) | TraceParts / 3DFindit | CADBase |
|---|---|---|---|
| Бизнес-модель | Социальная сеть + облачный PDM | B2B-маркетинг для производителей | Открытый инженерный хаб |
| Доступность кода | Закрытый SaaS (Stratasys) | Закрытый «чёрный ящик» | Полностью Open Source |
| Инфраструктура | Только публичное облако | Только публичное облако | Облако или on-premise |
| Структура данных | Проекты, папки, файлы | Артикулы, конфигураторы | Компонент → Модификация → Набор файлов |
| Лицензии | Проприетарная | Проприетарная | GNU AGPL v3.0, PostgreSQL License |
| Расширяемость | Ограниченная | Через API производителя | Полная модификация исходников |
Главное различие — философия. Коммерческие площадки зарабатывают на доступе к данным или на лидогенерации, поэтому они закрыты и контролируются провайдером. CADBase создаёт нейтральную инфраструктуру, где инженерные данные принадлежат их владельцу, а код — сообществу. Это особенно важно для оборонных, аэрокосмических и других отраслей с высокими требованиями к конфиденциальности.
Какие форматы и интеграции поддерживаются?
Встроенный просмотрщик поддерживает шесть ключевых форматов, каждый из которых решает свою задачу:
- STEP (ISO 10303) — стандарт обмена твердотельными моделями между CAD-системами. Просмотр STEP в браузере без конвертации — технически сложная задача, реализованная через парсеры в графическом ядре.
- STL — простой полигональный формат, широко используемый в 3D-печати. Подходит для быстрой визуальной оценки геометрии.
- GLTF / GLB — современные форматы для веб-графики с поддержкой PBR-материалов, анимации и скелетной трансформации. Идеальны для интерактивных презентаций.
- GCode — текстовый формат управляющих программ. Визуализация траекторий движения инструмента позволяет проверить операции фрезеровки или 3D-печати до запуска станка.
- IFC — открытый стандарт для BIM. Просмотр строительных моделей в браузере упрощает согласование архитектурных решений с заказчиком.

Демонстрация BIM-модели и управление модификациями.
Для популярных open-source САПР разработаны интеграции: верстак cadbaselibrary-freecad для FreeCAD и дополнение cadbaselibrary-blender для Blender 3D. Они обеспечивают двусторонний обмен данными между рабочим пространством САПР и платформой — инженер может публиковать модель или скачивать актуальные файлы, не покидая привычную среду проектирования.
Эти интеграции написаны на Python, что делает их доступными для доработки даже не Rust-разработчиками. Вместе с GraphQL API и постоянными токенами они образуют полноценную экосистему автоматизации: от пакетной выгрузки каталогов до запуска конвертации форматов по расписанию.
Как устроена разработка и репозитории?
Исходный код CADBase размещён в нескольких репозиториях на GitLab с зеркалами на GitHub, Codeberg и GitFlic. Такая мультиплатформенность снижает зависимость от одного хостинга и упрощает участие разработчиков из разных сообществ. Основные компоненты:
- cdbs-app — клиентское веб-приложение (Rust/Yew/WASM).
- three-libs — графическое 3D-ядро, парсеры форматов (WebGL/WebGPU).
- cdbs-back — сервер с GraphQL API (Rust/Actix-web).
- cdbs-proc — асинхронные воркеры для фоновых задач (Rust/Tokio).
- cdbs-migrations — SQL-скрипты миграций PostgreSQL (Diesel ORM).
- welcome — информационный сайт, глоссарий и статьи.
- api-reference — документация по API.
Отдельно развиваются интеграции для FreeCAD и Blender, что показывает серьёзность намерений создать мост между классическими CAD-инструментами и современной веб-платформой. Лицензионная чистота всех компонентов подтверждена, а PostgreSQL License для migrations позволяет использовать схему базы данных в любых проектах.
Главное из статьи
- Какие новые функции появились в CADBase версии 0.3.2? Расширенный просмотрщик с поддержкой STEP, STL, GLTF, GCode, IFC; навигация по двойному клику; инженерные горячие клавиши; кэширование FIFO; автоматическое обновление JWT; защита от XSS; постоянные API-Key с управлением сроком действия.
- Чем CADBase отличается от коммерческих аналогов? Полностью открытый код (AGPL v3.0 и PostgreSQL License), возможность развёртывания на собственных серверах, объектная структура данных вместо плоских файлов, нейтральность по отношению к вендорам.
- На каких технологиях построена платформа CADBase? Язык Rust (сервер Actix-web, клиент Yew/WASM), PostgreSQL с Diesel ORM, GraphQL API, WebGPU с fallback на WebGL2 (Three.js), асинхронные воркеры на Tokio.
- Можно ли развернуть CADBase на собственном сервере? Да, платформа поддерживает on-premise установку, подходит для изолированных контуров, требует участия DevOps-специалиста для интеграции с внутренними системами.
Развитие CADBase демонстрирует, что современный стек на Rust и WebGPU способен конкурировать с коммерческими инженерными платформами не только по функциональности, но и по архитектурной зрелости. Переход на полностью открытые лицензии устраняет главный барьер для корпоративного внедрения — отсутствие доверия к закрытому коду. Теперь любая организация может провести аудит безопасности, адаптировать платформу под свои процессы и не опасаться внезапного закрытия сервиса.
Конечно, путь к массовому признанию потребует времени: сообщество должно нарастить документацию, примеры развёртывания, готовые интеграции с популярными PLM-системами. Но фундамент заложен прочный. Сочетание инженерной объектной модели, браузерного просмотра промышленных форматов и открытой лицензионной политики делает CADBase заметным игроком в нише open-source CAD/CAM-инструментов. Для инженерных команд, уставших от «чёрных ящиков» и вендорского плена, это долгожданная альтернатива.
Комментарий Первого Слоя
Открытый стек CADBase позволяет российским заводам создавать замкнутые производственные циклы: например, передача моделей запчастей напрямую в цех 3D-печати через GCode-интеграцию сократит сроки ремонта станков на 40%, особенно критично при отсутствии импортных комплектующих.
Источник: habr.com
