建筑工程施工进度智能编排系统 (SCS-BIM)

基于大语言模型的建筑工程施工进度智能编排 (SCS-BIM)

源码可见于:https://github.com/Asionm/SCS-BIM

项目简介

本项目是一个面向建筑工程的施工进度智能编制平台,用户只需上传一份标准 IFC 建筑信息模型文件,系统将自动完成以下任务:

  • 解析模型中的构件类型、楼层信息和物理量数据;
  • 调用语言模型自动生成构件分类、施工阶段和楼层映射;
  • 基于定额库匹配构件对应的工日信息;
  • 自动生成合理的施工顺序和任务依赖;
  • 根据工日和人员配置估算施工周期;
  • 输出甘特图并支持 CSV 进度计划导出。

平台结合 IFC 模型解析、语言模型推理、定额工日估算和甘特图可视化,面向设计单位、施工单位和 BIM 工程师,帮助高效编制建筑施工进度计划。

示例展示

在这里插入图片描述

技术流程

本项目主要基于 Python + Flask 构建后端,结合 IfcOpenShell 实现对 IFC 模型的构件与工程量解析,利用 OpenAI 或本地 Ollama 大语言模型完成构件分类、定额匹配与施工顺序推理,并通过 dhtmlxGantt 实现前端施工进度可视化,整体技术栈融合了 BIM 数据处理、智能语义推理与交互式工程展示。下图展示了平台自动施工进度编制的整体技术流程:

在这里插入图片描述
流程说明:

  • IFC文件上传:用户上传标准的 IFC 建筑模型;

  • 信息提取:系统解析 IFC,提取楼层、构件、单位、类别等基础数据;

  • AI参与(LLM):通过语言模型智能生成构件分类、阶段信息及施工逻辑;

  • 构件尺寸分析:自动获取体积、面积等工程量;

  • 定额匹配与工日补充:通过定额库补充每类构件所需工日;

  • 施工顺序形成:生成任务依赖、施工流水顺序等;

  • 进度计划安排:最终生成符合逻辑的甘特图施工进度表。

安装与运行指南

1. 克隆项目

git clone https://github.com/Asionm/SCS-BIM
cd SCS-BIM

2. 安装依赖

建议使用 Python 3.10+ 与虚拟环境:

python -m venv venv
source venv/bin/activate  # Windows 使用 venv\Scripts\activate
pip install -r requirements.txt

3. 启动后端服务

确保本地 Ollama 或 OpenAI 接口可用,并配置好 config.py 中的 API 相关信息:

python app.py

默认服务地址为:http://localhost:5000

4. 启动前端页面

打开源码中的index.html访问, 上传 .ifc 文件,平台将自动处理并展示施工甘特图计划。

项目结构

以下是根据你项目的文件结构撰写的 README.md 中的 项目结构(Project Structure) 部分:


项目结构 | Project Structure

SCS-BIM/
│
├── app.py                 # Flask 主程序,处理上传、进度推送和任务调度
├── config.py              # LLM 接口配置,支持 OpenAI 与 Ollama 切换
├── export_sequence.py     # 生成任务列表与施工甘特图数据
├── generate_bill.py       # 从 IFC 提取构件工程量并生成清单
├── index.html             # 前端页面(上传 + 甘特图展示)
├── LLM.py                 # 调用大语言模型,生成施工结构与匹配定额项
├── pre_process.py         # IFC 文件预处理,提取项目信息与构件类别
├── quota_match.py         # 根据定额库计算工日与施工周期
├── requirements.txt       # Python 依赖列表
├── test.py                # 示例/测试脚本入口(可选)
├── README.md              # 项目说明文档
└── static/
    └── ...                # 上传文件与模板配置文件存放目录

配置说明

本项目支持使用 OpenAI 或本地部署的 Ollama 作为语言模型调用源,相关设置集中在 config.py 中的 LangChainConfig 类中。

1. 模型提供方选择

config.py 中可以通过 provider 参数切换:

LangChainConfig(provider="openai")     # 使用 OpenAI(默认使用环境变量中的 API Key)
LangChainConfig(provider="ollama")     # 使用本地部署的 Ollama 模型

2. OpenAI 配置项

如使用 OpenAI,请确保设置以下内容:

LangChainConfig(
    provider="openai",
    api_key="your-openai-key",                 # 或设置环境变量 OPENAI_API_KEY
    model_name="gpt-4o",                       # 可替换为 gpt-4o, gpt-3.5-turbo 等
    openai_base_url="https://api.openai.com"   # 如使用第三方兼容接口,请替换此地址
)

3. Ollama 配置项

如使用 Ollama 本地模型(推荐部署 mistral, llama3 等):

LangChainConfig(
    provider="ollama",
    ollama_model="mistral",                     # 模型名称
    ollama_host="http://localhost:11434"        # Ollama 默认服务地址
)

确保本地 Ollama 服务已运行并已加载相应模型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值