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

article/2025/6/7 12:36:41

建筑工程施工进度智能编排 (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.hkcw.cn/article/JeDiOItxct.shtml

相关文章

小红薯商品搜索详情分析与实现

前言 小红书作为国内知名的社交电商平台,拥有丰富的商品数据和用户评价信息。对于数据分析师、产品经理或电商从业者来说,能够获取小红书的商品数据具有重要的商业价值。本文将详细介绍如何通过逆向工程实现小红书商品搜索API的调用。 免责声明&#xf…

国标GB28181设备管理软件EasyGBS视频平台筑牢文物保护安全防线创新方案

一、方案背景​ 文物作为人类文明的珍贵载体,具有不可再生性。当前,盗窃破坏、游客不文明行为及自然侵蚀威胁文物安全,传统保护手段存在响应滞后、覆盖不全等局限。随着5G与信息技术发展,基于GB28181协议的EasyGBS视频云平台&…

使用 Python + ExecJS 获取网易云音乐歌曲歌词

🎵 使用 Python ExecJS 获取网易云音乐歌曲歌词 在本篇博客中,我们将通过一个完整的 Python 脚本,利用 execjs 模块调用 JavaScript 代码,成功获取网易云音乐的歌曲歌词。整个过程涵盖了加密参数的生成、API 请求发送与歌词提取…

云台式激光甲烷探测器:守护工业安全的“智慧之眼”

在石油化工、天然气场站、城市燃气管网等场景中,甲烷泄漏的早期监测是保障生产安全的核心防线。云台式激光甲烷探测器凭借高精度、无接触、智能化的技术优势,成为工业安全监测领域的革新者。本文将深度解析其技术原理、核心功能及适用场景,助…

基于YOLO-NAS-Pose的无人机象群姿态估计:群体行为分析的突破

【导读】 应对气候变化对非洲象的生存威胁,本研究创新采用无人机航拍结合AI姿态分析技术,突破传统观测局限。团队在肯尼亚桑布鲁保护区对比测试DeepLabCut与YOLO-NAS-Pose两种模型,首次将后者引入野生动物研究。通过检测象群头部、脊柱等关键…

CppCon 2014 学习:Anatomy of a Smart Pointer

智能指针(smart pointer)可以这样解释: 它是一个指针的容器——内部保存了一个普通指针,并且可以在需要时把指针交给你使用。它支持RAII(资源获取即初始化),也就是说资源(比如内存&…

GNhao,国外云手机号智能选择与应用解析!

GNhao,国外云手机号智能选择与应用解析! 在数字时代,国外云手机号成为跨境沟通的关键。GNhao凭借其稳定的国外云手机号服务,满足了用户多样需求,提升了通讯效率。国外云手机号广泛应用于海外注册、跨境营销和社交&…

AcWing 843:n-皇后问题 ← dfs

【题目来源】 https://www.acwing.com/problem/content/845/ https://www.lanqiao.cn/problems/1508/learning/ https://www.luogu.com.cn/problem/P1219 【题目描述】 n 皇后问题是指将 n 个皇后放在 nn 的国际象棋棋盘上,使得皇后不能相互攻击到,即任…

风机巡检方案艰难之路

2025年是“双碳”目标提出后首个五年计划收关节点,政策端通过强化大基地建设与海风开发确保既定风电目标落地。根据《2025年能源工作指导意见》,2025年将通过加速第二批/第三批大基地及海上风电建设保障目标兑现。据联储证券预计,2025年全年陆…

Java-redis实现限时在线秒杀功能

1.使用redisson pom文件添加redisson <!--redisson--><dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId><version>3.23.4</version></dependency> 2.mysql数据库表设…

龙虎榜——20250603

上证指数放量收阳线&#xff0c;阳包阴&#xff0c;量能超过5天均量&#xff0c;个股涨多跌少&#xff0c;行情有所回暖。 深证指数缩量收阳线&#xff0c;再次回打支撑位。 2025年6月3日龙虎榜行业方向分析 1. 医药&#xff08;创新药原料药出口&#xff09; 代表标的&…

永磁同步电机无速度算法--互补滑模观测器

一、原理介绍 采用了互补滑模变结构观测器&#xff0c;滑模面选择了广义滑模面和互补滑模面相结合的设计&#xff0c;这样可以有效地降低系统的跟踪误差&#xff0c;提高系统的跟踪性能&#xff0c;切换控制率选择饱和函数&#xff0c;抑制了传统SMC 的抖振现象。 二、仿真模型…

2025年AIR SCI1区TOP,多策略增强蜣螂算法MDBO+实际工程问题,深度解析+性能实测

目录 1.摘要2.蜣螂优化算法DBO原理3.改进策略4.结果展示5.参考文献6.代码获取7..算法辅导应用定制读者交流 1.摘要 蜣螂优化算法&#xff08;DBO&#xff09;作为一种创新元启发式算法&#xff0c;虽具备良好的数值优化能力&#xff0c;但存在收敛速度慢且易陷入局部最优的问题…

【notepad++】如何设置notepad++背景颜色?

如何设置notepad背景颜色&#xff1f; 设置--语言格式设置 勾选使用全局背景色 例如选择护眼色---80&#xff0c;97&#xff0c;205&#xff1b;

Gitee Wiki:重塑关键领域软件研发的知识管理范式

在数字化转型浪潮席卷全球的当下&#xff0c;关键领域软件研发正面临前所未有的知识管理挑战。传统文档管理模式的局限性日益凸显&#xff0c;知识传承的断层问题愈发严重&#xff0c;团队协作效率的瓶颈亟待突破。Gitee Wiki作为新一代知识管理平台&#xff0c;正在通过技术创…

电源防反接保护电路分析

电路&#xff1a; 这是一个电源输入防反接的电路&#xff0c;通过NMOS来实现。 1、正常接入电源。 正常接入电源的时候&#xff0c;VCC12V&#xff0c;这时候&#xff0c;电流通过R1、R2和NMOS的体二极管D形成一个回路&#xff0c;此时NMOS还未导通。 通过计算可以得到Vs0.7V&a…

焊缝缺陷焊接缺陷识别分割数据集labelme格式5543张4类别

数据集中有超过一半为增强图片&#xff0c;请认真观察图片预览 数据集格式&#xff1a;labelme格式(不包含mask文件&#xff0c;仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数)&#xff1a;5543 标注数量(json文件个数)&#xff1a;5543 标注类别数&#xff1a;4…

腾讯云国际版和国内版账户通用吗?一样吗?为什么?

在当今全球化的数字化时代&#xff0c;云计算服务成为众多企业和个人拓展业务、存储数据的重要选择。腾讯云作为国内领先的云服务提供商&#xff0c;其国际版和国内版备受关注。那么&#xff0c;腾讯云国际版和国内版账户是否通用&#xff1f;它们究竟一样吗&#xff1f;背后又…

C++初赛的三讲

C++初赛的三讲 C++初赛第一/二讲链接:CSP-J算法串讲完善程序解题思路1.查找算法顺序查找二分查找二分查找的步骤二分查找法的代码2.排序算法冒泡排序冒泡排序的代码插入排序插入排序的代码选择排序选择排序的代码计数排序C++初赛第一/二讲链接: 1.链接: C++初赛第一讲1.0 2.…

pikachu靶场通关笔记12 XSS关卡08-XSS之htmlspecialchars(四种方法渗透)

目录 一、htmlspecialchars 二、源码分析 1、进入靶场 2、代码审计 3、渗透思路 &#xff08;1&#xff09;利用单引号绕过 &#xff08;2&#xff09;利用协议绕过 三、渗透实战 1、探测是否有过滤 2、注入payload1 3、注入payload2 4、注入payload3 5、注入payl…