当前位置: 首页 > news >正文

建筑工程施工进度智能编排系统 (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_KEYmodel_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 服务已运行并已加载相应模型。

http://www.xdnf.cn/news/778717.html

相关文章:

  • mapbox高阶,生成并加载等时图
  • LabVIEW基于 DataSocket从 OPC 服务器读取数据
  • Spring AI Advisor机制
  • 【信创-k8s】海光/兆芯+银河麒麟V10离线部署k8s1.31.8+kubesphere4.1.3
  • MySQL 如何判断某个表中是否存在某个字段
  • 【数据结构 -- B树】
  • 使用 HTML + JavaScript 实现文章逐句高亮朗读功能
  • n8n 自动化平台 Docker 部署教程(附 PostgreSQL 与更新指南)
  • Java数据校验:确保数据完整性和正确性
  • Spring Cloud Eureka:微服务架构中的服务注册与发现核心组件
  • 定时器时钟来源可以从输入捕获引脚输入
  • HashMap 的底层原理
  • 小白的进阶之路系列之十二----人工智能从初步到精通pytorch综合运用的讲解第五部分
  • 网络安全问题及对策研究
  • Java面试八股--08-数据结构和算法篇
  • JavaWeb是什么?总结一下JavaWeb的体系
  • MQTTX连接阿里云的物联网配置
  • Linux 下 ChromeDriver 安装
  • 70道Hive高频题整理(附答案背诵版)
  • Express教程【006】:使用Express写接口
  • “草台班子”的成长路径分析
  • 基于InternLM的情感调节大师FunGPT
  • Cilium动手实验室: 精通之旅---1.Getting Started with Cilium
  • 深度学习学习率调度器指南:PyTorch 四大 scheduler 对决
  • # 将本地UI生成器从VLLM迁移到DeepSeek API的完整指南
  • iOS 应用如何防止源码与资源被轻易还原?多维度混淆策略与实战工具盘点(含 Ipa Guard)
  • 深入浅出:Oracle 数据库 SQL 执行计划查看详解(1)——基础概念与查看方式
  • 蛋白质结构预测软件openfold介绍
  • 【请关注】MySQL 中常见的加锁方式及各类锁常见问题及对应的解决方法
  • macos常见且应该避免被覆盖的系统环境变量(避免用 USERNAME 作为你的自定义变量名)