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

建筑工程施工进度智能编排系统 (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.lryc.cn/news/2398481.html

相关文章:

  • Laravel模型状态:深入理解Eloquent的隐秘力量
  • Spring Cloud Eureka:微服务架构中的服务注册与发现核心组件
  • matlab实现求解兰伯特问题
  • iOS 集成网易云信的音视频呼叫组件
  • 【Elasticsearch】search_after不支持随机到哪一页,只能用于上一页或下一页的场景
  • 深度解析 Qt 最顶层类 QObject:继承关系与内存生命周期管理
  • pikachu通关教程-XSS
  • k8s fsGroup
  • Spring Boot,注解,@ConfigurationProperties
  • AIGC学习笔记(9)——AI大模型开发工程师
  • git管理github上的repository
  • STM32学习之WWDG(原理+实操)
  • Keil MDK5.37或更高版本不再预装ARM Compiler Version5导致编译错误的解决方法
  • 【iOS(swift)笔记-14】App版本不升级时本地数据库sqlite更新逻辑二
  • 前端性能优化:提升用户体验的关键策略
  • Unity-UI组件详解
  • 基于大模型的短暂性脑缺血发作(TIA)全流程预测与干预系统技术方案
  • 嵌入式学习 D31:系统编程--Framebuf帧缓冲
  • 黑马点评完整代码(RabbitMQ优化)+简历编写+面试重点 ⭐
  • Java 大视界 -- Java 大数据在智能安防视频监控中的异常事件快速响应与处理机制(273)
  • 【数据库】安全性
  • 【图像处理入门】4. 图像增强技术——对比度与亮度的魔法调节
  • D2-基于本地Ollama模型的多轮问答系统
  • HALCON 深度学习训练 3D 图像的几种方式优缺点
  • 123网盘SDK-npm包已发布
  • 强制卸载openssl-libs导致系统异常的修复方法
  • 乐播视频v4.0.0纯净版体验:高清流畅的视听盛宴
  • Linux 命令全讲解:从基础操作到高级运维的实战指南
  • FreeRTOS的简单介绍
  • DeepSeek模型安全部署与对抗防御全攻略