- Аналитика
- Архитектура
- Backend
- Python
- Генерация документов
- CAD
Модуль генерации документации
В конфигураторе модульных щитов финальный результат должен быть не расчетом в интерфейсе, а готовым комплектом документов для сборки, согласования и закупки.
Наша задача была в том, чтобы превратить структурированные данные проекта в набор документации разных типов и форматов — без ручной сборки и дублирования логики.

Этот кейс особенно релевантен продуктам, где пользовательский сценарий должен завершаться формализованным пакетом документов:
- инженерным конфигураторам
- расчетным системам
- платформам проектирования
- B2B-продуктам на стыке бизнес-данных, графики и документации
Проблема
Один и тот же проект нужно было выгружать сразу в нескольких представлениях.
Пользователь ожидал не один файл, а полный комплект: спецификации, однолинейные схемы, компоновки щитов, общую документацию проекта, наклейки и архивы.
Сложность была выше средней, потому что модуль должен был работать одновременно с PDF, DOCX, XLSX, DXF, PNG и ZIP, учитывать логику CAD-файлов, графическое размещение элементов и инженерную структуру схем.
По сути, нужно было связать бизнес-данные, шаблоны документов, графику и экспорт в одну устойчивую систему.
Контекст проекта
Модуль работает внутри шага «Документация» — финального этапа конфигурирования. Здесь пользователь выбирает щиты, типы документов и форматы выгрузки, а на выходе получает полный пакет проектных материалов.
Задача этого этапа — довести пользователя от конфигурации щита до прикладного результата: спецификаций, схем, визуализаций, проектных документов и маркировки.
Что нужно было решить
Нужно было собрать модуль, который:
- Формирует несколько типов документации из одной модели данных
- Поддерживает разные сценарии выгрузки
- Работает с инженерной графикой, а не только с таблицами
- Не дублирует логику между форматами
- Остается расширяемым под следующие итерации
Решение
Мы реализовали модуль как самостоятельный Python-компонент с единым интерфейсом генерации документации
В основе — разделение на отдельные сервисы и рендеры: каждый отвечает за свой тип данных и формат вывода
Это позволило использовать одну и ту же модель проекта для генерации:
- Полной документации в PDF и DOCX
- Спецификаций в PDF и XLSX
- Однолинейных схем в DXF и PDF
- Визуализаций щитов в DXF, PNG и PDF
- Наклеек в PDF
- ZIP-архивов с результатами и QR-кодами
Как мы это реализовали
Для схем и компоновок мы собрали отдельную layout-логику: координаты, ветви, шины, устройства, подписи и подключения.
CAD-блоки вынесли в реестр шаблонов, чтобы система могла автоматически подбирать нужные элементы и корректно размещать их в зависимости от входных данных.
Для разных форматов сделали независимые рендереры. Благодаря этому один и тот же набор проектных данных можно использовать для генерации PDF, DOCX, XLSX, DXF и PNG без дублирования бизнес-логики.
Дополнительно встроили QR-сценарий: часть документов и наклеек ведет на веб-представление документации без авторизации.
Что получил пользователь
На выходе пользователь получает готовый комплект инженерной документации по проекту.
Он может скачать документы по отдельности или архивом, работать со спецификациями, схемами, визуализациями и использовать наклейки с QR-кодами для маркировки и быстрого доступа к документации на объекте.
Это делает модуль не вспомогательной функцией, а полноценной частью продукта, которая переводит расчетную модель в прикладной инженерный результат.
Технологическая база

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