Skip to content

Babinoff/CMWC

Repository files navigation

CMWC Header

CMWC (Collision Matrix With Cost)

https://babinoff.github.io/CMWC/

Приложение для визуализации и расчета стоимости устранения коллизий в строительных проектах. Позволяет трансформировать классическую матрицу коллизий в интерактивную карту стоимости, используя данные из внешних источников и помощь LLM-ассистента.

О проекте

CMWC (Collision Matrix With Cost) — это инструмент, который помогает BIM-менеджерам и руководителям проектов оценивать финансовые риски коллизий на ранних этапах. Вместо простого факта пересечения (П) или дублирования (Д), система позволяет оценить стоимость работ по устранению каждой конкретной коллизии.

План развития (Roadmap)

✅ 📝 Функционал

  • Интерактивная Матрица Коллизий: Визуализация пересечений дисциплин (КР, АР, ВК, ОВ и др.).
  • Матрица Стоимости: Расчет и отображение диапазонов затрат на устранение.
  • LLM-ассистент:
    • Настройка подключения (URL, API Key, Model).
    • Генерация сценариев устранения.
    • Подбор работ и расценок.
  • Работа с данными:
    • Загрузка демо-данных (встроенный JSON).
    • Импорт/Экспорт базы данных проекта.
    • Сохранение прогресса в LocalStorage.
  • Интеграция с BIM-системами:
    • Подгрузка списка коллизий из Autodesk Navisworks (XML отчеты).
    • Распознавание коллизий по скриншотам/изображениям.
  • Справочники и Расценки:
    • Поддержка нескольких источников расценок (сметные базы, прайс-листы).
    • Управление списком сайтов для парсинга (добавление, удаление, категоризация).
    • Расширение категорий матрицы (более глубокая детализация элементов).
  • Улучшенное управление:
    • Полный ручной контроль на каждой итерации (исправление работ, цен, сценариев).

Основные возможности

  • Матрица коллизий: Классическое представление пересечений дисциплин (КР, АР, ВК, ОВ и т.д.) с возможностью детального анализа.
  • Матрица стоимости: Тепловая карта затрат, где каждая ячейка отображает диапазон стоимости устранения коллизии.
  • LLM-ассистент: Гибкая настройка подключения (поддержка стандартного OpenAI API). По умолчанию настроен на Mistral AI. Используется для:
    • Парсинга расценок с внешних сайтов.
    • Генерации сценариев устранения коллизий.
    • Подбора работ и оценки их стоимости.
  • Сценарии устранения: Гибкая система моделирования различных способов решения проблем (например, "пробить отверстие" vs "обойти воздуховодом").
  • Импорт XML: Загрузка отчетов Navisworks с автоматическим маппингом коллизий по категориям и расчетом стоимости их устранения.
  • Менеджер источников: Встроенный инструмент для управления списком сайтов-доноров цен. Поддерживает категоризацию ссылок, быстрый выбор из сохраненного списка и мульти-выбор категорий.
  • Учет специфики дисциплин: Ранжирование систем по сложности переноса (от "замороженного" бетона до гибких кабельных лотков).

Технологический стек

  • Frontend: React 19, TypeScript, Vite
  • AI: Поддержка OpenAI-совместимых API (Mistral, Google Gemini, локальные модели и др.)
  • Стилизация: CSS Modules / Custom UI

Запуск локально

Предварительные требования: Node.js (версии 18 или выше).

  1. Клонируйте репозиторий:

    git clone https://github.com/your-username/CollisionMatrixWithCostV3.git
    cd CollisionMatrixWithCostV3
  2. Установите зависимости:

    npm install
  3. Настройка LLM-ассистента:

    • Откройте приложение в браузере.
    • Перейдите на вкладку "Настройки".
    • Введите параметры вашего провайдера (например, Mistral AI или OpenAI):
      • URL провайдера: Адрес API (по умолчанию настроен на Mistral).
      • API ключ: Ваш секретный ключ.
      • Модель: Название используемой модели.
    • Примечание: Приложение не использует переменные окружения (.env) для хранения ключей в целях безопасности клиентской части.
  4. Запустите приложение:

    npm run dev
  5. Откройте http://localhost:3000 в браузере.

  6. Загрузка демонстрационных данных: Чтобы увидеть пример работы приложения с заполненными данными, есть два способа:

    Способ 1: Быстрая загрузка (Рекомендуется)

    • Перейдите на вкладку "Настройки".
    • В разделе "Управление данными" нажмите кнопку "Загрузить демо-данные".
    • Приложение автоматически загрузит встроенный пример данных.

    Способ 2: Ручной импорт

    • Перейдите на вкладку "Настройки".
    • В разделе "Управление данными" нажмите кнопку "Импортировать БД (.json)".
    • Выберите файл example/cmwc_data.json из папки проекта.

Структура приложения

  • Матрица коллизий: Базовая таблица пересечений. Клик по категории открывает таблицу работ.
  • Матрица стоимости: Таблица с диапазонами затрат. Клик по ячейке открывает сценарии.
  • Настройки: Конфигурация подключения к LLM (API Key, модель).
  • Журнал: Логи запросов к LLM с подсчетом токенов.

Ранги дисциплин (для LLM)

Приложение учитывает сложность переноса элементов:

  1. КР (Конструктив): Катастрофическая стоимость (требует разрушения).
  2. АР (Архитектура): Высокая стоимость (демонтаж, отделка).
  3. ВК-Самотек: Технологически сложно (уклоны).
  4. ОВ-Магистрали: Средняя/Высокая (заказ изделий).
  5. Напорные системы: Умеренная (фитинги).
  6. ЭОМ/СС: Низкая (гибкие трассы).

Лицензия

MIT

About

Collision Matrix With Cost V3

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors