Интерфейс встроенного 3D-просмотрщика CADBase на стеке Rust, WASM и WebGPU при работе с моделью Gearbox Assembly.
Интерфейс встроенного 3D-просмотрщика CADBase на стеке Rust, WASM и WebGPU при работе с моделью Gearbox Assembly.

Обмен чертежами и инженерными данными сегодня ограничен тремя путями: сложные внутренние PDM-системы требуют покупки дорогих лицензий для каждого внешнего контрагента, коммерческие облачные платформы представляют собой закрытый «черный ящик» без доступа к коду, а локальные хранилища (NAS) не дают ни 3D-просмотра, ни карточек изделий.

Идея открыть исходный код закладывалась с самого старта проекта, но была реализована поэтапно. Первым шагом в 2023 году стало открытие фронтенда (cdbs-app) под лицензией MIT. В 2026 году, с релизом v0.3.2, в статус Open Source под лицензиями GNU AGPL v3.0 и PostgreSQL License перешли все оставшиеся части платформы, полностью закрывая этот долг перед сообществом. Теперь это полноценное, независимое и технологически продвинутое решение для инженерных команд.


Будь то личная библиотека моделей и чертежей (Self-hosted), корпоративный PDM/PLM-архив, промышленный маркетплейс или база знаний для вузов — CADBase является подходящим решением с открытым исходным кодом.

Технический стек: сервер функционирует на Actix-web, который по праву считается быстрым и не слишком требовательным к ресурсам. В качестве СУБД используется PostgreSQL (взаимодействие через Diesel ORM), а для внешних интеграций развернут GraphQL API. Клиентское приложение тоже написано на Rust (Yew) и работает через WebAssembly. Графический бэкенд WebGPU с автоматическим аппаратным переключением (fallback) на WebGL2 (Three.js) позволяет плавно вращать сборки на офисных ноутбуках и смартфонах.

Концепция, заложенная в платформе CADBase, принципиально отличается от логики таких индустриальных площадок, как 3DFindit, TraceParts и GrabCAD.

Критерий

GrabCAD (до закрытия Workbench)

TraceParts / 3DFindit

CADBase

Основная бизнес-модель

Социальная сеть для инженеров, с облачным PDM (акцент на пользовательских проектах).

B2B-маркетинг для производителей (витрина официальных каталогов брендов с целью генерации лидов).

Открытый инженерный хаб (строит мосты между закрытыми САПР, каталогами и архивами КБ за счёт плагинов и интеграций).

Доступность кода

Закрытый SaaS-продукт (принадлежит Stratasys; Workbench закрыт из-за смены фокуса компании).

Закрытый «черный ящик» (привязка к серверам провайдеров).

Open Source. Весь стек открыт и готов к аудиту.

Инфраструктура

Только внешнее публичное облако.

Только внешнее публичное облако.

Гибридная: публичное облако или изолированный On-Premise на серверах КБ.

Структурирование данных

Проектная логика (проекты, папки, CAD-файлы).

Коммерческая логика (артикулы, товарные конфигураторы поставщиков).

Инженерная логика с объектным хранением (Компонент → Модификация → Наборы файлов под разные САПР).

Изменения платформы CADBase с версией 0.3.2

Для конечных пользователей этот релиз принёс глубокую переработку инструментов визуализации и интерфейса взаимодействия:

Встроенный веб-просмотрщик расширил список поддерживаемых форматов для визуального аудита в браузере: теперь система корректно отображает STEP, STL, GLTF, GLB, GCode и IFC.

Улучшена навигация на сцене: по двойному клику мыши на любой точке полигональной сетки (или траектории в случае GCode) движок автоматически переносит туда фокус и центр вращения камеры (pivot point).

Пересмотрена раскладка горячих клавиш в режиме 3D-сцены. Теперь управление организовано следующим образом:

  • Полноэкранный режим: клавиша F (выход по Escape).

  • Гизмо-манипулятор всего объекта: активируется клавишей T. Режимы переключаются стандартными инженерными клавишами: W — перемещение, E — поворот, R — масштабирование.

    Работа гизмо-манипулятора в режиме 3D-сцены для позиционирования и оценки геометрии объекта.
    Работа гизмо-манипулятора в режиме 3D-сцены для позиционирования и оценки геометрии объекта.
  • Смена ортогональных проекций камеры: завязана на цифровые клавиши (1 — вид спереди, 3 — вид слева, 7 — вид сверху, 9 — зеркальный разворот, 0 — изометрия).

  • Дискретный поворот: выполняется стрелками или клавишами 2, 4, 6, 8.

  • Режим отображения: переключение между перспективным и ортогональным отображением назначено на клавишу 5.

  • Каркасный режим сетки: включается кнопкой Z.

  • Анимация (для GLTF/GLB и GCode): запуск и пауза активируются Пробелом.

  • Сброс сцены: клавиша H отвечает за сброс положения и центрирование модели на сцене.

В целях повышения стабильности и улучшения пользовательского опыта, на клиенте внедрено кэширование моделей по алгоритму FIFO, реализовано автоматическое обновление JWT-сессий и улучшена защита от XSS-атак. Для внешних интеграций реализован механизм постоянных токенов доступа (API-Key), поддерживающий установку срока действия, фиксацию даты последней активности и возможность оперативного отзыва ключей через интерфейс управления.

Архитектура хранения данных в CADBase

Платформа организует структуру данных не по принципу плоского файлового хранилища, а через строгую иерархию связанных сущностей:

Компонент (Базовая карточка изделия)
  └── Модификация (Исполнение изделия: материал, размеры, ГОСТ)
        └── Набор файлов (Контекстный-контейнер для конкретной САПР/задачи)
  • Компонент: Основная карточка изделия. Содержит базовую информацию об изделии, файлы, модификации, ссылки на стандарты, данные поставщиков и другие метаданные изделия.

  • Модификация: Сущность внутри компонента, которая содержит информацию по конкретному исполнению изделия (например, деталь в исполнении 01 или 02), параметры, файлы (к примеру, чертежи в PDF) и наборы файлов.

  • Набор файлов: Выделенный объект внутри модификации, группирующий файлы под конкретную целевую задачу, САПР или другое специализированное ПО. Сюда входят исходники в форматах рабочих инструментов, чертежи и модели для обмена.

Реализация объектной структуры данных в CADBase. В рамках одного компонента выводятся конкретные модификации изделия с индивидуальными параметрами.
Реализация объектной структуры данных в CADBase. В рамках одного компонента выводятся конкретные модификации изделия с индивидуальными параметрами.

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

Такая структура позволяет в рамках одной модификации детали хранить независимые наборы файлов для работы из разных систем. Например, два разных набора файлов для FreeCAD и для Blender 3D — это отдельные объекты системы со своими идентификаторами на уровне всей платформы, что существенно упрощает автоматизацию работы через API.

Чем CADBase полезен на практике

Просмотр 3D-моделей без установки САПР

Платформа избавляет от необходимости ставить САПР и 3D-редакторы на каждое устройство только для того, чтобы посмотреть, согласовать или проверить деталь:

  • Поддержка форматов:

    • STEP — для параметрических твердотельных 3D-моделей;

    • IFC — для строительных проектов и BIM-моделей;

      Визуализация и интерактивный аудит строительной BIM-модели в формате IFC напрямую через браузер.
      Визуализация и интерактивный аудит строительной BIM-модели в формате IFC напрямую через браузер.
    • GCode — для производственных файлов (управляющих программ ЧПУ и 3D-принтеров);

    • STL — для полигональных базовых сеток (в основном используемых в 3D-печати);

    • GLTF и GLB — для полигональных веб-форматов, которые корректно отображают PBR-текстуры/материалы и поддерживают анимацию сцены.

  • Визуальная оценка: Пользователь может вращать, панорамировать и масштабировать сцену с помощью мыши или трекпада. Это позволяет смежным отделам (например, службе снабжения или заказчикам) осмотреть общую форму, пропорции и габариты изделия в браузере.

Вы можете сами оценить анимацию GCode и покрутить канонический тестовый кораблик 3DBenchy на платформе CADBase прямо из своего браузера.

Организация взаимодействия и обмена данными

Размещение библиотек моделей и чертежей в едином централизованном облачном пространстве решает задачи совместной работы и дистрибуции инженерных данных, которые невозможно закрыть стандартными средствами пересылки.

  • Единая точка синхронизации распределённых команд: Облачная платформа выступает в роли единого доверенного источника данных для распределённых конструкторских бюро, удалённых штатных сотрудников и внешних подрядчиков. Это исключает ручную пересылку архивов через мессенджеры или почту, гарантируя, что все участники проекта мгновенно получают доступ к актуальным наработкам соавторов.

  • Инструмент дистрибуции для производителей компонентов: Производители и поставщики промышленного оборудования могут использовать публичную платформу как витрину своих изделий. Публикация официальных каталогов в виде готовых 3D-моделей позволяет напрямую «закладывать» комплектующие в проекты сторонних КБ на этапе черчения, упрощая для инженеров поиск оригинальных деталей и подбор их аналогов.

  • Прямая публикация и импорт в рамках сообщества: Централизованная экосистема позволяет инженерам и DIY-сообществу открыто делиться готовыми узлами или использовать публичные библиотеки. За счёт этого сокращаются временные затраты на проектирование: стандартные элементы, крепёж или типовые корпуса скачиваются из готовой базы, а не моделируются каждым конструктором заново с нуля.

Ведение структурированного архива в закрытом контуре

Платформа CADBase реализует принципы Среды общих данных (СОД) через разделение инфраструктуры хранения и строгую иерархию объектов в базе данных, преобразуя хранение наработок КБ с файлового принципа на объектный.

Инфраструктурные и системные возможности платформы:

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

  • Хранение версий и связей: Исключается ручное именование версий файлов (деталь_v2_копия_итоговая.step) и риск работы по неактуальным чертежам и моделям. Конструкторы и смежные отделы видят связанную историю изменений конкретного исполнения изделия в едином источнике истины.

  • Разграничение прав доступа: Права администрируются на основе ролевой модели как для индивидуальных пользователей, так и для сотрудников привязанных компаний.

  • Независимость от глобальной сети: Платформа может разворачиваться на собственных серверах предприятия. Это позволяет изолировать платформу внутри закрытого цифрового периметра компании, чтобы убрать зависимость от внешней инфраструктуры и потери доступа на периоды замедлений.

Примечание: развёртывание инстанса желательно проводить с участием DevOps-специалиста и внедрением дополнительной автоматизации обмена данными с внутренними системами предприятия (PLM/ERP).

Архитектура и репозитории проекта

Разработка платформы ведётся в репозиториях на GitLab, исходные коды размещены следующим образом:

  • cdbs-app — клиентское веб-приложение (Rust/Yew/WASM).

  • three-libs — графическое 3D-ядро, парсеры форматов (WebGL/WebGPU) и сторонние библиотеки.

  • welcome — информационный сайт, глоссарий и статьи про платформу.

  • cdbs-back — сервер платформы с реализацией GraphQL API (Rust/Actix-web).

  • cdbs-proc — сервис асинхронных воркеров для фоновых задач с БД и S3 хранилищем (Rust/Tokio).

  • cdbs-migrations — структура и SQL-скрипты миграций базы данных PostgreSQL (Diesel ORM).

  • api-reference — справочная информация и документация по API.

Интеграции написаны на Python: верстак cadbaselibrary-freecad и дополнение cadbaselibrary-blender — это легковесные интерфейсы для FreeCAD и Blender 3D, задача которых сводится к двустороннему обмену данными между рабочим пространством ПО и платформой CADBase.

Зеркала поддерживаются через аккаунты на GitHub, Codeberg и GitFlic.

Сайт: https://cadbase.ru/