DraftAI Documentation¶
Добро пожаловать в документацию проекта DraftAI — ИИ-система автоматизации создания чертежей инженерных сетей.
📌 Структура проекта¶
draftai/
├── nlp_core/ # Модуль NLP для анализа ТЗ
├── bim_core/ # Модуль BIM для обработки IFC моделей
├── mcp_server/ # MCP сервер для FreeCAD
├── scripts/ # Скрипты для настройки окружения и запуска пайплайна
├── Dockerfile.* # Docker-образ для каждого компонента
├── mkdocs.yml # Конфигурация документации
├── .github/workflows # CI/CD конфигурация GitHub Actions
└── README.md # Корневой README
📌 Подробно по модулям¶
NLP Core¶
nlp_core/config/ — настройки анализа ТЗ.
nlp_core/input/ — входные ТЗ.
nlp_core/OUT/ — результаты анализа.
nlp_core/nlp_core/run.py — основной скрипт.
nlp_core/nlp_core/run_cli.py — обёртка с argparse для CLI запуска.
BIM Core¶
bim_core/bim_core/run.py — основной модуль BIM.
bim_core/bim_core/run_cli.py — CLI-обёртка.
bim_core/runs/ — результаты обработки IFC моделей.
bim_core/samples/ — тестовые данные.
bim_core/place_radiators_clientV2.py — основной скрипт загрузки примитивов в IFC через MCP.
MCP Server¶
mcp_server/mcp_serverV3.py — запуск MCP сервера с масштабированием модели.
mcp_server/run_cli.py — CLI-обёртка.
📌 Последовательный запуск модулей (NLP → BIM → MCP)¶
Pipeline состоит из трёх основных шагов:
NLP — парсинг технического задания (DOCX/PDF/TXT) → генерируется nlp_core/OUT/result.json.
BIM — анализ IFC и сопоставление с данными из NLP → генерируются stubs.json и match_report.json в папке bim_core/runs/....
MCP — MCP-сервер (в окружении FreeCAD) принимает stubs.json и размещает примитивы (радиаторы) в активном документе FreeCAD.
Важно: шаг MCP требует локально установленного FreeCAD (модули FreeCAD/Part доступны только в окружении FreeCAD). На CI (GitHub Actions) MCP запускать нельзя — вместо этого MCP тестируется через моки или локально.
Ожидаемые артефакты (куда смотреть)
nlp_core/OUT/result.json — результат NLP (TZ → JSON).
bim_core/runs/stubs.json — сформированные примитивы.
bim_core/runs/match_report.json — отчёт о сопоставлении помещений.
bim_core/runs/spaces.json — отчёт о чтении параметров из IFC модели.
📌 Чеклист: что должно быть готово перед запуском pipeline¶
-
Python >= 3.11 и зависимости установлены для nlp_core и bim_core.
-
IFC-модель в bim_core/samples/ или путь к ней известен.
-
FreeCAD установлен локально и доступен (если хотите тестировать MCP).
Процесс автоматизации запуска описан в корневом README.md.