Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Latest commit

 

History

History
1554 lines (1184 loc) · 64.9 KB

File metadata and controls

1554 lines (1184 loc) · 64.9 KB

DDC CWICR - 建筑工作项目、组件与资源
+ n8n 管道:基于描述、照片和 CAD (BIM) 的成本估算

🇬🇧 English🇨🇳 中文🇪🇸 Español🇧🇷 Português🇷🇺 Русский🇩🇪 Deutsch🇫🇷 Français🇸🇦 العربية

OpenConstructionEstimate

工作项目 资源 语言 国家
许可证 版本 嵌入向量 Qdrant n8n

OpenConstructionEstimate

⚡ n8n 工作流

选择输入方式 → 获取成本估算



📝 文本

从简短描述快速
生成工程估算

输入:Telegram / 聊天消息
输出:匹配的工作项目 + 估算


📖 文档

下载


📷 照片 / PDF

现场照片、扫描工程量清单、
现场拍摄的照片PDF

输入:图片或PDF页面
输出:提取的工作范围 → 估算


📖 照片文档 · 📖 通用机器人

照片   机器人


🧊 CAD / BIM

基于 Revit / IFC / DWG
的工程量计算与估算

输入:模型导出
输出:4D/5D 估算 + 明细


📖 文档

下载


在线演示


DataDrivenConstruction 客户与用户



📑 目录

🤖 AI 集成

📊 数据库与数据

⚡ n8n 工作流

🏗️ CAD/BIM 管道

🔍 向量数据库

🌐 API

🚀 快速入门

👥 社区


🚀 您的 AI 产品的完美燃料

只需克隆仓库并描述您想要的内容 — AI 完成其余工作

DDC CWICR 不仅仅是一个数据库 — 它是 AI 驱动应用的即用燃料。无论您是构建成本估算机器人、自动化建筑工作流,还是创建智能助手 — 这些数据可以与现代 AI 工具开箱即用。

为什么这个数据库是 AI 的理想选择

特性 优势
预计算嵌入向量 无需生成向量 — 语义搜索即时可用
结构化的 85 字段架构 AI 可以推理数据关系并提供准确答案
包含 11 种语言 构建多语言应用无需翻译开销
55,000+ 工作项目 全面覆盖任何建筑估算任务
基于资源的方法论 透明的数据,AI 可以解释和分解

📋 适用于任何系统的现成工作描述

现成工作描述生成器

DDC CWICR 提供完整、结构化的工作描述,可在任何系统或格式中显示。每个工作项目包含不同项目参与者所需的所有信息:

参与者 获得的内容
🏢 业主 / 投资者 完全的成本透明度、资源分解、投资决策的价格依据
📊 造价工程师 详细定额、人工工时、材料数量、设备成本 — 可直接用于编制工程量清单
👷 项目经理 / 工长 工作组成、资源需求、劳动定额,用于日常规划和执行
🔧 承包商 / 施工方 完整规格、单价、生产率基准,用于准确报价和进度安排

导出至 Excel、PDF、HTML、ERP系统、BIM平台 — 结构化的85字段架构确保所有输出格式的数据完整性。

🛠️ 完美适配

Claude Code
Claude Code
AI 编程助手 CLI
Google Antigravity
Google Antigravity
Google Antigravity
n8n
n8n
工作流自动化
Dify
Dify
LLM 应用开发
Sim AI
Sim AI 及其他
AI 平台

🎯 DDC Skills

建筑业AI代理DDC技能 — 196个自动化技能,直接集成到CWICR数据库。克隆,用AI编码助手打开,描述您的需求。

DDC Skills


💻 Claude Code & Google Antigravity — AI 编程助手

使用 DDC CWICR 最快捷的方式。只需在 Claude Code 或 Google Antigravity 中打开仓库,用自然语言提问即可。

快速入门:

# 克隆仓库
git clone https://github.com/datadrivenconstruction/OpenConstructionEstimate-DDC-CWICR.git

# 使用 Claude Code 打开
cd OpenConstructionEstimate-DDC-CWICR
claude

示例提示:

任务 提示
探索数据 "显示这个建筑数据库的结构并解释有哪些可用数据"
查找工作项目 "查找所有与混凝土基础相关的工作项目并显示其成本"
构建查询 "编写一个 Python 脚本搜索人工工时超过100小时的管道工作项目"
创建报告 "为住宅装修工程生成成本分解报告"
分析成本 "比较不同墙体施工方法的材料成本"
构建集成 "创建一个连接 Qdrant 数据库并执行语义搜索的脚本"

专业提示:

  • 指向 Claude 特定文件:"分析 Parquet 文件并总结成本分布"
  • 请求解释:"解释这个数据库中基于资源的成本计算方法是如何工作的"
  • 请求修改:"修改 n8n 工作流以添加邮件通知"

⚡ n8n — 可视化工作流自动化

无需编码即可构建强大的自动化管道。将 DDC CWICR 连接到 400+ 个应用和服务。

使用场景:

工作流 描述
Telegram 机器人 用户发送文本/照片 → AI 提取工作项目 → 返回成本估算
邮件自动化 通过邮件接收工程量清单 → AI 处理 → 发送格式化估算
CRM 集成 CRM 中新项目 → 自动生成初步估算 → 更新交易价值
BIM 管道 从 Revit 导出 → 提取工程量 → 匹配 DDC 定额 → 生成 5D 报告
Slack 机器人 团队提问 → AI 搜索数据库 → 返回相关工作项目

快速入门:

  1. 从此仓库下载工作流 JSON 文件
  2. 导入到 n8n:工作流 → 导入 → 从文件
  3. 配置凭证(OpenAI、Qdrant、Telegram)
  4. 激活并测试

详见 n8n 工作流 章节的详细设置。


📋 通用场景

无论您选择哪种 AI 工具,DDC CWICR 都支持:

场景 描述
即时成本估算 从文本描述或照片获取建筑成本
工程量清单生成 从项目描述自动生成工程量清单
价格对标 跨地区和语言比较成本
资源规划 计算人工工时、材料和设备需求
投资分析 带完整资源透明度的深度成本审计
多语言支持 以 11 种语言为用户提供本地化定价服务
BIM 集成 连接 Revit/IFC 实现自动化 4D/5D 估算
训练 AI 模型 使用结构化数据微调建筑 AI

关于

DDC CWICR(建筑工作项目、组件与资源)是一个用于建筑成本估算的开放数据库,涵盖从土方工程和混凝土浇筑到专业安装工作的全部建筑活动。

该数据库借鉴了描述欧亚和亚太地区现代建筑实践的资料来源,统一的技术标准化生态系统为十多个动态发展的经济体提供了通用的工程语言。DDC CWICR 代表了通过建立多语言资本项目管理的统一监管框架来协调开放标准的努力。




结构化数据可以通过表格格式(XLSX、CSV、Parquet)访问,也可以通过 LLM 进行对话式查询,使专业人员能够使用简单语言或简洁查询将建筑工作描述(QDRANT 向量数据库)集成到自动化管道和工作流中。

可用格式

格式 扩展名 大小 最适合 特性
Excel .xlsx ~150–400 MB 手动分析、筛选、透视表 人类可读,完整格式
Parquet .parquet ~55 MB ETL 管道、ML 训练、大数据 列式存储,优秀压缩
CSV .csv ~1.3 GB 数据库导入、遗留系统 通用兼容性
Qdrant .snapshot ~1 GB 语义搜索、RAG、AI 助手 预计算 OpenAI 嵌入向量

在线演示可访问 openconstructionestimate.com,您可以在这里探索数据并查看向量数据库在语义搜索中的实际应用。

OpenConstructionEstimate


数据架构

数据库包含 85 个字段,组织成逻辑分组。每条记录代表一个工作项目(定额)或包含完整成本分解的资源。

erDiagram
    RATE ||--o{ RESOURCE : contains
    RATE ||--o{ LABOR : requires
    RATE ||--o{ MACHINERY : uses
    RATE ||--o{ PRICE_VARIANT : has

    RATE {
        string rate_code PK "MEKA_KASA_KAKATO_KAME"
        string rate_original_name "安装隔墙..."
        string rate_unit "100 m2"
        string category_type "建筑工程"
        string collection_name "木结构"
        string department_name "隔墙..."
        string section_name "安装隔墙..."
        text work_composition_text
    }

    RESOURCE {
        string resource_code PK "KAME-NE-KAME-KARI"
        string resource_name "石膏板"
        string resource_unit "m2"
        float resource_quantity "632.0"
        float resource_price_per_unit_eur "5.02"
        float resource_cost_eur "3170.73"
        boolean is_material
        boolean is_abstract
    }

    LABOR {
        string resource_code FK
        float labor_hours_workers "172"
        float labor_hours_operators "1.67"
        int count_workers_per_unit "172"
        int count_operators_per_unit "2"
        float cost_of_working_hours "3088.11"
    }

    MACHINERY {
        string machine_class2_name "起重机"
        string machine_class3_name "轮式起重机"
        float electricity_consumption_kwh "0.23"
        float price_operator_wages "13.56"
        float total_value_machinery "64.18"
    }

    PRICE_VARIANT {
        float price_est_median "5.02"
        float price_est_min "3.03"
        float price_est_max "7.99"
        int position_count "24"
        string variable_parts "玻璃纤维增强..."
    }
Loading

字段分组

85 个数据库字段组织成反映基于资源的成本估算方法的逻辑分组。每个分组在成本分解结构中服务于特定功能:从层次分类和工作项目识别到详细的资源消耗、人工需求、机械成本和汇总合计。这种模块化结构允许用户仅查询与其任务相关的字段 - 无论是生成材料清单、分析人工生产率,还是构建完整的成本估算。




分类 - category_type, collection_code, collection_name, department_code, department_name, department_type, section_name, section_type, subsection_code, subsection_name

工作项目(定额) - rate_code, rate_original_name, rate_final_name, rate_unit, row_type, is_scope, is_abstract, is_machine, is_labor, is_material, work_composition_text

资源 - resource_code, resource_name, resource_unit, resource_quantity, parameter_resource_quantity, resource_price_per_unit_eur_current, resource_cost_eur

人工 - count_workers_per_unit, count_engineers_per_unit, count_operators_per_unit, count_total_people_per_unit, labor_hours_construction_workers, labor_hours_operators, labor_hours_engineers, total_labor_hours_workers_operators, total_labor_hours_all_personnel, cost_of_working_hours, count_people_per_day

机械 - machine_class2_name, machine_class3_name, personnel_operator_code, personnel_operator_grade, price_operator_wages, price_relocation_included, price_cost_without_wages, electricity_consumption_kwh_per_machine_hour, electricity_cost_per_unit, electricity_cost_total_sum, cost_operator_sum, total_value_machinery_equipment

价格变体 - price_code_prefix, price_abstract_resource_common_start, price_abstract_resource_variable_parts, price_abstract_resource_position_count, price_abstract_resource_est_price_min, price_abstract_resource_est_price_max, price_abstract_resource_est_price_mean, price_abstract_resource_est_price_median, price_abstract_resource_unit, abstract_resource_tech_group

汇总 - total_cost_per_position, total_material_cost_per_position, total_resource_cost_per_position, total_value_abstract_resources, materials_resource_cost_eur

质量与服务 - mass_name, mass_value, mass_unit, service_category, service_type, parameter_service_code, parameter_service_unit, parameter_service_name, parameter_service_quantity, service_cost_sum

成本计算公式

组件 技术定额 × 区域价格 = 成本
👷 人工 172 小时/100m² × €17.95/小时 = €3,088.11
🧱 材料 632 m²/100m² × €5.02/m² = €3,170.73
🚜 设备 1.67 小时/100m² × €38.42/小时 = €64.18
合计 = €7,725.91 每 100m²

方法论

基于资源的成本计算的核心价值在于将不变的生产技术与波动的财务组件分离。它基于建筑的物理"第一性原理":

  • 特定工作所需的人工工时
  • 每单位工作的材料数量
  • 所需的设备时间

为什么重要:

  • 透明 - 无隐藏加价的定价,完整的资源分解
  • 可审计 - 深入投资分析和验证的能力
  • 可移植 - 适用于各市场的地区独立定额
  • 经过验证 - 建立 100+ 年的行业标准方法
flowchart TB
    subgraph Source["📦 数据源"]
        CWICR[(DDC CWICR<br/>────────────<br/>55,719 工作项目<br/>27,672 资源<br/>每条记录 85 字段)]
    end

    subgraph Processing["⚙️ 处理管道"]
        direction LR
        ETL[["🔄 ETL<br/>提取与<br/>转换"]]
        TRANS[["🌐 翻译<br/>11 种语言"]]
        EMBED[["🧠 向量化<br/>OpenAI 3072d"]]
        ETL --> TRANS --> EMBED
    end

    subgraph Outputs["📤 输出格式"]
        XLSX[("📊 Excel<br/>.xlsx")]
        PARQUET[("⚡ Parquet<br/>.parquet")]
        CSV[("📄 CSV<br/>.csv")]
        QDRANT[("🔍 Qdrant<br/>.snapshot")]
    end

    subgraph Apps["🎯 应用"]
        SEARCH["🔎 语义<br/>搜索"]
        BIM["🏗️ BIM 5D<br/>集成"]
        RAG["🤖 RAG<br/>系统"]
        BI["📈 BI<br/>分析"]
    end

    Source --> Processing
    Processing --> XLSX & PARQUET & CSV & QDRANT
    XLSX & PARQUET & CSV --> BI & BIM
    QDRANT --> SEARCH & RAG & BIM

    style Source fill:#dbeafe,stroke:#2563eb,stroke-width:2px
    style Processing fill:#fef3c7,stroke:#d97706,stroke-width:2px
    style Outputs fill:#d1fae5,stroke:#059669,stroke-width:2px
    style Apps fill:#fce7f3,stroke:#db2777,stroke-width:2px
Loading

历史背景

该数据库中的建筑工作描述基于一种基于资源的标准化方法,其根源可追溯到 20 世纪初的生产定额到今天的数字参考系统。自 1920 年代以来持续开发和完善,这种方法在欧亚地区经历了特别强劲的发展。

在一百年的发展历程中,该系统已从手工计算过渡到机器可读格式 - 但其基本原则保持不变:精确测量每单位建筑产出所需的物理资源。现代实现将历史规范数据与实时市场定价相结合。

该方法的区域适应版本以各种国家名称运行:ENIR、GESN、FER、NRR、ESN、AzDTN、ShNQK、MKS ChT、SNT、BNbD、Dinh Muc、定额。

OpenConstructionEstimate

如果您希望看到新的更新和数据库版本,如果您觉得我们的工具有用,请为我们的仓库点星,以看到更多类似的建筑行业应用。 在 GitHub 上给 DDC 工作流加星,即可立即获得新版本通知。





集成

使用场景

  • 入门级 - 成本对标、价格指数化、招标估算

  • 中级 - 本地化、ETL/BI 管道、CO₂ 计算

  • 高级 - AI/ML 训练、CAD (BIM) 5D、深度投资审计


n8n 工作流 — 详细说明

四个可用于生产的自动化建筑成本估算工作流。每个工作流通过 Qdrant 连接到 DDC CWICR 向量数据库,并使用 AI 模型进行智能解析和匹配。

# 工作流 输入 最适合 下载
1 文本估算机器人 💬 文本 从文本快速估算 JSON
2 照片估算器 📷 照片 现场勘查、视觉检查 JSON
3 通用机器人 💬📷📄 全部 全功能生产使用 JSON
4 CAD/BIM 管道 🏗️ Revit BIM 4D/5D 估算 JSON

1️⃣ 文本估算机器人

文件: n8n_1_Telegram_Bot_Cost_Estimates_and_Rate_Finder_TEXT_DDC_CWICR.json

用于基于文本的成本估算的 Telegram 机器人。用自然语言描述建筑工作 — 机器人解析输入,搜索向量数据库,返回详细的成本分解。




🤖 立即体验 — 在线演示机器人

在 Telegram 中即时测试估算工作流

@TextOpenConstructionEstimate_bot

从文本描述创建
完整的成本估算

文本机器人
flowchart LR
    subgraph Input["💬 输入"]
        A[Telegram 消息]
    end

    subgraph AI["🤖 AI 处理"]
        B[解析文本]
        C[提取工作项目]
    end

    subgraph Search["🔍 向量搜索"]
        D[生成嵌入向量]
        E[Qdrant 搜索]
        F[AI 重新排序]
    end

    subgraph Output["📊 输出"]
        G[计算成本]
        H[HTML 报告]
        I[Excel 导出]
    end

    A --> B --> C --> D --> E --> F --> G --> H
    G --> I

    style Input fill:#e0f2fe,stroke:#0284c7
    style AI fill:#fef3c7,stroke:#d97706
    style Search fill:#dcfce7,stroke:#16a34a
    style Output fill:#f3e8ff,stroke:#9333ea
Loading

工作原理:

步骤 操作 技术
1 用户发送文本描述 Telegram Bot API
2 AI 解析并提取工作项目 OpenAI / Claude / Gemini
3 为每个项目生成嵌入向量 OpenAI text-embedding-3-large
4 在数据库中搜索匹配定额 Qdrant 向量搜索
5 AI 重新排序以提高准确性 LLM 评分
6 计算成本并生成报告 HTML / Excel / PDF

功能:

功能 描述
💬 自然语言输入 接受任何文本格式 — 列表、句子、结构化描述
🤖 多 LLM 支持 支持 OpenAI、Claude 或 Gemini(可切换)
🔍 语义搜索 即使措辞不同也能找到最佳匹配
🌍 11 种语言 DE、EN、RU、ES、FR、PT、ZH、AR、HI、US、UK
📊 多种导出 HTML 报告、Excel 电子表格、PDF 文档
✏️ 交互式编辑 在最终计算前修改数量

所需凭证:

  • Telegram 机器人令牌(来自 @BotFather)
  • OpenAI API 密钥(用于嵌入向量 + 可选 LLM)
  • Qdrant URL + API 密钥

2️⃣ 照片成本估算器

文件: n8n_2_Photo_Cost_Estimate_DDC_CWICR.json

用于基于照片估算的网页表单界面。上传建筑照片 — AI 视觉识别元素,估算尺寸,并自动计算成本。




flowchart TB
    subgraph Upload["📷 照片上传"]
        A[网页表单]
        B[选择地区]
        C[选择工作类型]
    end

    subgraph Vision["👁️ AI 视觉"]
        D[GPT-4 Vision 分析]
        E[识别元素]
        F[估算尺寸]
        G[检测房间类型]
    end

    subgraph Decompose["🔧 分解"]
        H[元素 → 工作项目]
        I[计算数量]
    end

    subgraph Price["💰 定价"]
        J[向量搜索]
        K[匹配 DDC 定额]
        L[应用区域价格]
    end

    subgraph Report["📄 报告"]
        M[生成 HTML]
        N[成本分解]
    end

    A --> B --> C --> D
    D --> E --> F --> G
    G --> H --> I
    I --> J --> K --> L
    L --> M --> N

    style Upload fill:#dbeafe,stroke:#2563eb
    style Vision fill:#fef3c7,stroke:#d97706
    style Decompose fill:#dcfce7,stroke:#16a34a
    style Price fill:#fee2e2,stroke:#dc2626
    style Report fill:#f3e8ff,stroke:#9333ea
Loading

工作原理:

步骤 操作 技术
1 用户通过网页表单上传照片 n8n 表单触发器
2 AI 视觉分析图像 GPT-4 Vision
3 识别房间类型、元素、材料 结构化 JSON 提取
4 从参考物体估算尺寸 AI 推理(门、瓷砖等)
5 将元素分解为工作项目 LLM 处理
6 通过向量搜索为每项工作定价 Qdrant + OpenAI 嵌入向量
7 生成专业 HTML 报告 样式化输出

功能:

功能 描述
📷 照片分析 GPT-4 Vision 识别建筑元素
📐 自动计算尺寸 使用参考物体估算大小(门、瓷砖)
🏠 房间检测 浴室、厨房、卧室、外墙等
🔨 工作类型支持 新建 / 翻新 / 维修
🌍 9 个区域数据库 本地化价格:柏林、多伦多、巴黎等
📄 专业报告 可供客户使用的整洁 HTML 输出

所需凭证:

  • OpenAI API 密钥(GPT-4 Vision + 嵌入向量)
  • Qdrant URL + API 密钥

3️⃣ 通用估算机器人(文本 + 照片 + PDF)

文件: n8n_3_Telegram_Bot_Cost_Estimates_and_Rate_Finder_TEXT_PHOTO_PDF_DDC_CWICR.json

支持所有输入类型的全功能 Telegram 机器人:文本描述、建筑照片和 PDF 平面图。生产使用的最全面工作流。




flowchart TB
    subgraph Input["📥 多输入"]
        A[💬 文本消息]
        B[📷 照片]
        C[📄 PDF 文档]
    end

    subgraph Router["🔀 智能路由"]
        D{检测类型}
    end

    subgraph TextPath["💬 文本路径"]
        E[AI 解析文本]
        F[提取工作]
    end

    subgraph PhotoPath["📷 照片路径"]
        G[视觉 AI]
        H[识别元素]
        I[分解]
    end

    subgraph PDFPath["📄 PDF 路径"]
        J[提取页面]
        K[视觉分析]
        L[解析内容]
    end

    subgraph Common["🔍 通用管道"]
        M[生成嵌入向量]
        N[Qdrant 搜索]
        O[AI 重新排序]
        P[计算成本]
    end

    subgraph Export["📤 导出"]
        Q[HTML 报告]
        R[Excel CSV]
        S[PDF 文档]
    end

    A --> D
    B --> D
    C --> D
    D -->|文本| E --> F --> M
    D -->|照片| G --> H --> I --> M
    D -->|PDF| J --> K --> L --> M
    M --> N --> O --> P
    P --> Q
    P --> R
    P --> S

    style Input fill:#e0f2fe,stroke:#0284c7
    style Router fill:#fef3c7,stroke:#d97706
    style TextPath fill:#dcfce7,stroke:#16a34a
    style PhotoPath fill:#fce7f3,stroke:#db2777
    style PDFPath fill:#f3e8ff,stroke:#9333ea
    style Common fill:#fee2e2,stroke:#dc2626
    style Export fill:#d1fae5,stroke:#059669
Loading

工作原理:

步骤 操作 技术
1 用户发送文本、照片或 PDF Telegram Bot API
2 路由器检测输入类型 内容类型分析
3a 文本: AI 解析工作项目 OpenAI / Gemini
3b 照片: 视觉 AI 提取元素 GPT-4 Vision / Gemini 2.0
3c PDF: 提取并分析页面 PDF 处理 + 视觉
4 DDC CWICR 语义搜索 Qdrant 向量数据库
5 AI 重新排序以获得最佳匹配 LLM 评分
6 通过机器人菜单交互式编辑 Telegram 内联键盘
7 导出结果 HTML / Excel / PDF

17 个机器人操作:

操作 描述
/start 语言选择菜单
照片上传 触发 AI 视觉分析
文本消息 解析并提取工作项目
PDF 上传 处理平面图
编辑数量 计算前修改
添加工作 手动添加工作项目
计算 运行完整成本估算
查看详情 显示每项的资源
导出 Excel 下载 CSV 电子表格
导出 PDF 生成 PDF 报告
帮助 显示使用说明
优化 重新分析并更正

功能:

功能 描述
📷 双视觉 AI Gemini 2.0 Flash 或 GPT-4 Vision(可配置)
📄 PDF 处理 平面图、扫描工程量清单、文档
💬 智能文本解析 处理列表、表格、自由格式文本
🔍 AI 重新排序 提高匹配准确性
✏️ 完整编辑 添加、删除、修改工作项目
📊 多格式导出 HTML、Excel、PDF
🌍 11 种语言 完整本地化

所需凭证:

  • Telegram 机器人令牌
  • OpenAI API 密钥(嵌入向量)
  • Gemini API 密钥(视觉)或 OpenAI GPT-4 Vision
  • Qdrant URL + API 密钥

4️⃣ CAD (BIM) 成本估算管道

文件: n8n_4_CAD_(BIM)_Cost_Estimation_Pipeline_4D_5D_with_DDC_CWICR.json

从 Revit/IFC/DWG 模型自动估算成本。提取 BIM 数据,分类元素,分解为工作项目,并生成带完整资源分解的 4D/5D 估算。

DataDrivenConstruction

flowchart TB
    subgraph INPUT["📁 输入<br/><i>CAD · 照片 · 文本描述</i>"]
        CAD["📐 项目输入<br/>(文本 · 照片 · RVT / IFC / DWG)"]
    end

    subgraph EXTRACT["⚙️ 提取"]
        CONV["RvtExporter.exe / CAD 导出  / ETL"]
        XLSX["📊 .XLSX<br/>(原始元素)"]
    end

    subgraph PREP["🔧 数据准备"]
        PREP_AI["🤖 AI: 清理与分类<br/><i>表头 · 类型 · 类别</i>"]
    end

    subgraph STAGE_PLAN["📋 阶段 1–3: 规划"]
        PLAN["🤖 检测项目与阶段<br/><i>新建 / 翻新 / 拆除</i><br/><i>小型 / 中型 / 大型</i><br/><i>元素 → 施工阶段</i>"]
    end

    subgraph STAGE4["🔨 阶段 4: 分解"]
        S4["🤖 将类型分解为工作<br/><i>'砖墙 240mm' → 砌筑、砂浆、抹灰</i>"]
    end

    subgraph STAGE5["💰 阶段 5: 定价"]
        S5["🤖 通过向量数据库定价<br/><i>OpenAI 嵌入向量 + Qdrant</i><br/><i>rate_code, unit_cost, resources</i>"]
    end

    subgraph STAGE75["✅ 阶段 7.5: 验证"]
        S75["🤖 CTO 审查<br/><i>完整性 · 重复 · 缺失工作</i>"]
    end

    subgraph OUTPUT["📤 输出"]
        HTML["📄 HTML 报告"]
        XLS["📊 XLS 报告"]
    end

    CAD --> CONV --> XLSX
    XLSX --> PREP_AI --> PLAN --> S4 --> S5 --> S75
    S75 --> HTML & XLS

    style INPUT fill:#f4f4f5,stroke:#d4d4d8,color:#18181b
    style EXTRACT fill:#e0f2fe,stroke:#bae6fd,color:#0f172a
    style PREP fill:#ede9fe,stroke:#ddd6fe,color:#1e1b4b
    style STAGE_PLAN fill:#ecfdf5,stroke:#bbf7d0,color:#064e3b
    style STAGE4 fill:#fef9c3,stroke:#fef3c7,color:#78350f
    style STAGE5 fill:#fee2e2,stroke:#fecaca,color:#7f1d1d
    style STAGE75 fill:#e0f2f1,stroke:#bae5e1,color:#134e4a
    style OUTPUT fill:#eef2ff,stroke:#e0e7ff,color:#111827
Loading

n8n 提供 400+ 个原生集成,包括 Google Sheets、Notion、Slack、Airtable、数据库(PostgreSQL、MongoDB)、云存储等。此工作流中的每个节点都是模块化的 — 您可以:

  • 🔄 切换 LLM 提供商(OpenAI ↔ Claude ↔ Gemini ↔ Grok)
  • 📊 连接到您的 ERP 或项目管理系统
  • 📁 将结果导出到任何目标(云存储、邮件、仪表板)
  • 🔧 修改任何阶段以匹配您的估算方法

工作流由您自由调整。无限制。无许可费。完全控制。


📋 先决条件

组件 要求 描述
n8n v1.0+(v2.0+ 需要设置 用于编排估算管道的工作流自动化平台
Qdrant 云或自托管实例 用于跨建筑工作项目语义搜索的向量数据库
OpenAI API 用于嵌入向量(text-embedding-3-large 为 BIM 元素和成本数据库匹配生成向量嵌入
LLM API OpenAI / Claude / Gemini / xAI Grok 用于工作项目分类和估算生成的 AI 模型
DDC 转换器 RvtExporter.exe 从 Revit 模型提取 BIM 数据到 Excel/JSON 进行处理

工作流快速入门

步骤 1:导入工作流

n8n → 新工作流 → 从文件导入 → 选择 JSON

步骤 2:配置凭证

🔑 TOKEN 节点中设置您的 API 密钥:

{
  "bot_token": "您的_TELEGRAM_机器人_令牌",
  "OPENAI_API_KEY": "您的_OPENAI_密钥",
  "GEMINI_API_KEY": "您的_GEMINI_密钥",
  "QDRANT_URL": "http://localhost:6333",
  "QDRANT_API_KEY": ""
}

步骤 3:将 DDC CWICR 加载到 Qdrant

从对应的语言文件夹下载快照(通过 Git LFS 存储)并导入:

curl -X POST "http://localhost:6333/collections/ddc_zh_shanghai/snapshots/upload" \
  -H "Content-Type: multipart/form-data" \
  -F "snapshot=@EN___DDC_CWICR/EN_TORONTO_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR.snapshot"

步骤 4:激活并测试

  • 在 n8n 中启用工作流
  • 对于 Telegram 机器人:向您的机器人发送 /start
  • 对于网页表单:打开 n8n 提供的表单 URL

⚠️ n8n 2.0+ 设置要求

从 n8n 2.0 版本开始,出于安全原因,执行命令节点默认被禁用。

没有以下配置,使用执行命令的工作流(特别是 CAD/BIM 管道)将无法工作 — 节点会显示问号或无法识别。

快速修复

Windows (CMD) — 每次运行:

set NODES_EXCLUDE=[] && npx n8n

永久解决方案 — 创建一次:

创建文件 C:\Users\您的用户名\.n8n\.env,内容为:

NODES_EXCLUDE=[]

然后像平常一样运行 npx n8n

Docker:

environment:
  - NODES_EXCLUDE=[]

验证设置

  1. 启动 n8n
  2. 点击 + → 搜索 "Execute Command"
  3. 如果节点出现 → ✅ 设置完成!

📚 更多详情:n8n 2.0 重大变更


🌍 支持的语言和价格级别

代码 语言 价格级别 货币 Qdrant 集合
AR 阿拉伯语 迪拜 AED ddc_ar_dubai
DE 德语 柏林 EUR ddc_de_berlin
EN 英语 多伦多 CAD ddc_en_toronto
ES 西班牙语 巴塞罗那 EUR ddc_sp_barcelona
FR 法语 巴黎 EUR ddc_fr_paris
HI 印地语 孟买 INR ddc_hi_mumbai
PT 葡萄牙语 圣保罗 BRL ddc_pt_saopaulo
RU 俄语 圣彼得堡 RUB ddc_ru_stpetersburg
ZH 中文 上海 CNY ddc_zh_shanghai
US 英语 美国 USD ddc_usa_usd
UK 英语 英国 GBP ddc_uk_gbp

📊 管道阶段

CAD/BIM 工作流通过 10 个阶段处理数据:

阶段 名称 描述
0 收集 BIM 数据 通过 DDC 转换器从 Revit 提取元素
1 项目检测 AI 识别项目类型(住宅、商业等)
2 阶段生成 AI 创建施工阶段
3 元素分配 AI 将 BIM 类型映射到阶段
4 工作分解 AI 将类型分解为工作项目("砖墙" → 砌筑、砂浆)
5 向量搜索 通过 Qdrant 在 DDC CWICR 中查找匹配定额
6 单位映射 将 BIM 单位转换为定额单位
7 成本计算 每个工作项目的 数量 × 单价
7.5 验证 CTO 审查完整性和重复项
8 汇总 按阶段和类别求和
9 报告生成 创建 HTML 和 Excel 输出

⚙️ LLM 模型选择

工作流支持多个 AI 提供商。在 LLM Models 部分启用您首选的模型:

模型 节点名称 状态
OpenAI GPT-4o OpenAI LLM ✅ 默认
Claude Opus 4 Anthropic Chat Model2 已禁用
Gemini 2.5 Pro Google Gemini Chat Model 已禁用
xAI Grok xAI Grok Chat Model1 已禁用
DeepSeek DeepSeek Chat Model 已禁用

切换模型:启用所需的模型节点并禁用其他模型。


📁 输出文件

报告保存到项目文件夹:

project_YYYY-MM-DD.html   ← 交互式报告(在浏览器中打开)
project_YYYY-MM-DD.xls    ← Excel 兼容电子表格





🔗 Qdrant 集合

工作流根据 language_code 自动选择正确的集合:

{LANG}_{CITY}_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR

示例:ZH_SHANGHAI_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR


⚠️ 故障排除

问题 解决方案
"Execute Command missing"(n8n 2.0+) 设置 NODES_EXCLUDE=[] 环境变量。见 n8n 2.0+ 设置
"No Excel file found" 检查 path_to_converterproject_file 路径
"Qdrant connection failed" 验证凭证中的 Qdrant URL 和 API 密钥
"Rate limit exceeded" 减少批量大小或在 API 调用之间添加延迟
"No pricing found" 检查 Qdrant 中是否存在正确的语言集合
"Telegram webhook error" 确保工作流已激活且 webhook URL 可访问
"Vision API failed" 验证 Gemini 或 OpenAI Vision API 密钥是否有效

向量数据库

带有 OpenAI text-embedding-3-large 嵌入向量的即用 Qdrant 集合,用于跨建筑工作项目的语义搜索。

向量数据库允许您用自然语言与数据"对话" — 使用简单的句子或短语而不是代码或复杂的过滤器。这大大加快了查找正确工作项目或成本行的速度,即使在非常大的数据集中也是如此。

这些 Qdrant 集合可以通过现代自动化和集成工作流连接到应用程序(例如,低代码/无代码工作流和管道工具)。您可以构建搜索、过滤和解释建筑工作项目的助手,或将语义搜索直接集成到现有的估算和项目控制工具中。


Qdrant 向量数据库快照

快照现在直接存储在本仓库对应的语言文件夹中(通过 Git LFS 存储),不再存储在 GitHub Releases 中。

语言 地区 快照文件(在语言文件夹中)
🇸🇦 阿拉伯语 迪拜 AR___DDC_CWICR/AR_DUBAI_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR.snapshot
🇨🇳 中文 上海 ZH___DDC_CWICR/ZH_SHANGHAI_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR.snapshot
🇩🇪 德语 柏林 DE___DDC_CWICR/DE_BERLIN_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR.snapshot
🇬🇧 英语 多伦多 EN___DDC_CWICR/EN_TORONTO_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR.snapshot
🇪🇸 西班牙语 巴塞罗那 ES___DDC_CWICR/SP_BARCELONA_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR.snapshot
🇫🇷 法语 巴黎 FR___DDC_CWICR/FR_PARIS_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR.snapshot
🇮🇳 印地语 孟买 HI___DDC_CWICR/HI_MUMBAI_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR.snapshot
🇧🇷 葡萄牙语 圣保罗 PT___DDC_CWICR/PT_SAOPAULO_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR.snapshot
🇷🇺 俄语 圣彼得堡 RU___DDC_CWICR/RU_STPETERSBURG_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR.snapshot
🇬🇧 英国 GBP UK___DDC_CWICR/UK_GBP_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR.snapshot
🇺🇸 美国 USD US___DDC_CWICR/USA_USD_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR.snapshot

集合

🇸🇦 ddc_ar_dubai(阿拉伯语) · 🇨🇳 ddc_zh_shanghai(中文) · 🇩🇪 ddc_de_berlin(德语) · 🇬🇧 ddc_en_toronto(英语) · 🇪🇸 ddc_sp_barcelona(西班牙语) · 🇫🇷 ddc_fr_paris(法语) · 🇮🇳 ddc_hi_mumbai(印地语) · 🇧🇷 ddc_pt_saopaulo(葡萄牙语) · 🇷🇺 ddc_ru_stpetersburg(俄语) · 🇺🇸 ddc_usa_usd(美国) · 🇬🇧 ddc_uk_gbp(英国)

每个集合包含 55,719 个向量,带有完整的负载元数据。

Docker 部署

# docker-compose.yml
services:
  qdrant:
    image: qdrant/qdrant:latest
    container_name: ddc-cwicr-qdrant
    ports:
      - "6333:6333"
      - "6334:6334"
    volumes:
      - qdrant_storage:/qdrant/storage
      - ./snapshots:/qdrant/snapshots
    environment:
      - QDRANT__LOG_LEVEL=INFO
    restart: unless-stopped

volumes:
  qdrant_storage:
# 启动
docker-compose up -d

# 导入快照
curl -X POST "http://localhost:6333/collections/ddc_zh_shanghai/snapshots/upload" \
  -H "Content-Type: multipart/form-data" \
  -F "snapshot=@ZH___DDC_CWICR/ZH_SHANGHAI_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR.snapshot"

# 仪表板:http://localhost:6333/dashboard

🌐 Pricing Search API — BuildCalculator.io

API Docs   No Auth   Free   Rate Limit

免費的 REST API,用於搜索建築工程項目,提供完整的成本分解、人工、材料和設備數據。55,719 個項目,支持 11 種語言,每個項目包含 84 個字段

基礎 URL: https://buildcalculator.io/api/v1

API 端點

GET/POST /api/v1/search — 搜索建築工程項目

參數 類型 默認值 必填 描述
q string 搜索查詢(最少2個字符)。支持任何語言
lang string en 數據庫語言:enrudefresptzharhi
top integer 5 返回結果數量(1–20)

GET /api/v1/languages — 支持的語言列表

返回所有可用語言及其項目數量。

GET /api/v1/stats — 數據庫統計

返回項目數量、分類、語言和元數據。

API 代碼示例

cURL:

curl "https://buildcalculator.io/api/v1/search?q=混凝土基礎&lang=zh&top=5"

Python:

import requests

response = requests.get("https://buildcalculator.io/api/v1/search",
    params={"q": "磚砌牆體", "lang": "zh", "top": 5})
data = response.json()

for item in data["results"]:
    print(f"{item['name']}{item['pricing']['total_per_unit']} EUR/{item['unit']}")

JavaScript:

const res = await fetch(
  "https://buildcalculator.io/api/v1/search?q=屋頂覆蓋&lang=zh&top=3"
);
const data = await res.json();

回應示例:

{
  "query": "concrete foundation",
  "language": "en",
  "results_count": 5,
  "results": [
    {
      "rate_code": "KANE_KAME_KAKAME_KAMECON",
      "name": "Concrete preparation device",
      "unit": "m3",
      "currency": "EUR",
      "pricing": {
        "total_per_unit": 167.51,
        "labor_per_unit": 18.80,
        "material_per_unit": 142.92,
        "equipment_per_unit": 4.80
      },
      "cost_breakdown": {
        "labor_pct": 11.3,
        "material_pct": 85.8,
        "equipment_pct": 2.9
      }
    }
  ]
}

錯誤代碼:

代碼 含義 操作
400 查詢缺失或無效 檢查 q 參數(最少2個字符)
429 超出速率限制 等待後重試(60 次/分鐘)
500 伺服器錯誤 重試或聯繫支持

📖 完整文檔:buildcalculator.io/api-docs


快速入门

Python - 表格数据

import pandas as pd

# Parquet(推荐)
df = pd.read_parquet("DDC_CWICR_ZH.parquet")

# Excel
df = pd.read_excel("DDC_CWICR_ZH.xlsx")

print(f"记录数:{len(df):,} | 字段数:{len(df.columns)}")
print(df[['rate_code', 'rate_original_name', 'rate_unit', 'total_cost_per_position']].head())

Python - 语义搜索

from qdrant_client import QdrantClient
from openai import OpenAI

client = QdrantClient("localhost", port=6333)
openai = OpenAI()

# 用自然语言搜索
query = "钢筋混凝土基础浇筑"
embedding = openai.embeddings.create(
    input=query,
    model="text-embedding-3-large"
).data[0].embedding

results = client.search(
    collection_name="ddc_zh_shanghai",
    query_vector=embedding,
    limit=5
)

for r in results:
    print(f"[{r.score:.3f}] {r.payload['rate_code']}: {r.payload['rate_original_name']}")

筛选搜索

from qdrant_client.models import Filter, FieldCondition, MatchValue, Range

# 按部门
results = client.search(
    collection_name="ddc_zh_shanghai",
    query_vector=embedding,
    query_filter=Filter(must=[
        FieldCondition(key="department_name", match=MatchValue(value="混凝土和钢筋混凝土"))
    ]),
    limit=10
)

# 按价格范围
results = client.search(
    collection_name="ddc_zh_shanghai",
    query_vector=embedding,
    query_filter=Filter(must=[
        FieldCondition(key="price_est_median", range=Range(gte=1000, lte=50000))
    ]),
    limit=10
)

💻 开发者示例

examples/ 目录包含多种语言的即用型代码

# Example Language Level
01 Load and explore data Python, JS, Rust, R Beginner
02 Semantic search with Qdrant Python, JS, Rust Beginner
03 Cost estimation from text Python, JS Intermediate
04 Cost estimation from photos Python Intermediate
05 BOQ generation & Excel export Python, JS Intermediate
06 RAG pipeline (Claude + Qdrant) Python Advanced
07 Multi-language cost comparison Python Intermediate
08 Data analysis & visualization Python, R Intermediate
09 Filtered & faceted search Python Intermediate
10 Embedding generation pipeline Python Advanced

浏览所有示例


资源与社区

网站 演示 GitHub YouTube LinkedIn Telegram

咨询与培训

我们与全球领先的建筑、工程、咨询机构和技术公司合作,帮助他们实施开放数据原则、自动化 CAD/BIM 处理,并构建强大的 ETL 管道。我们积极支持寻求数字化转型和互操作性实用解决方案的组织,专注于数据质量和分类挑战,同时推动开放和自动化工作流的采用。

如果您想用自己的数据测试此解决方案,或有兴趣将工作流适配到实际项目任务,请随时联系我们。我们的团队提供实践研讨会、战略咨询,并开发针对实际项目流程的原型。

联系方式

贡献

DDC CWICR 是一个免费开放的项目,致力于使建筑行业更加高效、透明和技术先进。我们正在积极寻找志同道合的爱好者,他们认同这一使命。如果您创建了有用的解决方案并准备与社区分享,我们将帮助您被更多人知道。

我们邀请您提交基于 DDC CWICR 工具的开源工作流、管道和集成 — 任何人都可以在工作中自由使用的工具。优秀的解决方案将在 GitHub 上以完整的作者署名发布,并通过我们的新闻通讯和社交媒体渠道宣布,触达数万名专业订阅者。这将使您的名字直接展示在国际估算师、BIM 专家和项目经理社区面前。

我们一起改变行业。您可以将您的解决方案发送到 [email protected],主题为"DDC Open Workflow",或直接向我们的 GitHub 仓库提交 Pull Request。

使用现成的 CAD-BIM n8n 工作流自动化建筑数据处理:

cad2data 管道

🤖 AI 指令

AI_INSTRUCTIONS/ 文件夹包含 AI 编程助手有效使用此建筑成本数据库的全面文档。

什么是 DDC CWICR?

DDC CWICR(建筑工作项目、组件与资源)是一个开源建筑成本数据库,包含:

  • 55,719 个工作项目 — 带完整成本分解的详细建筑操作
  • 27,672 个资源 — 材料、人工和设备,带区域定价
  • 85 个数据字段 — 用于准确成本计算的结构化架构
  • 11 种语言 — 带特定区域定价(EUR、USD、CAD、RUB、CNY 等)
  • 预计算嵌入向量 — 3072 维 OpenAI 向量,用于语义搜索

基于资源的方法论

数据库使用基于资源的成本计算方法,将以下内容分离:

  • 技术定额(不变) — 人工工时、材料数量、设备时间
  • 区域价格(波动) — 小时费率、材料成本、燃料价格
实际成本 = 技术定额 × 区域价格

这允许在不同地区和时间段进行准确估算。

AI 指令文件

文件 用途
INSTRUCTIONS.md 主要概述、快速入门、数据格式
CLAUDE.md Claude Code 特定模式和示例
OPENCODE.md Opencode 简明指南
ANTIGRAVITY.md GCP 集成(BigQuery、Vertex AI、Qdrant)
DATABASE_SCHEMA.md 完整的 85 字段架构参考

n8n 工作流 — 示例与模板

包含的 n8n 工作流是示例和模板,演示成本估算逻辑。它们可以:

  • ✅ 直接使用进行快速部署
  • ✅ 部分适配特定业务需求
  • ✅ 学习以理解成本计算方法
  • ✅ 在任何平台上构建自定义集成时参考

工作流演示:数据库查询、工作项目匹配、区域定价逻辑和报告生成。AI 可以分析这些以理解完整的估算流程。

为什么重要

AI 助手可以帮助您:

  • 使用自然语言查询数据库
  • 通过语义搜索查找工作项目
  • 使用区域定价计算成本
  • 生成报告和导出数据
  • 构建与云服务的集成
  • 从工作流示例理解成本计算方法

使用 AI 快速入门

  1. 在支持 AI 的 IDE 中打开项目
  2. 询问:"显示所有混凝土工作项目及其成本"
  3. AI 将使用指令正确查询数据

书籍:有关方法论详情,请参阅 Data-Driven Construction 书籍


许可证 — CC BY 4.0

整个仓库基于 Creative Commons Attribution 4.0 International (CC BY 4.0) 许可。

您可以做什么

商业使用 创建产品、SaaS、应用程序、API — 免费,无需请求许可
复制和分发 以任何格式分享数据
修改和改编 转换、补充、创建衍生作品
用于 AI/ML 模型训练、RAG 管道、嵌入
用于研究 学术论文、报告、分析

您必须做什么

标注来源 每次使用时您必须注明来源 — 参见下方示例
标注更改 如果您修改了数据,您必须注明修改了什么
保留许可证 分发时包含 CC BY 4.0 链接

署名 — 必需格式

每个使用 DDC CWICR 数据的项目、产品、出版物或应用程序必须包含:

DDC CWICR by Artem Boiko / DataDrivenConstruction
https://github.com/datadrivenconstruction/OpenConstructionEstimate-DDC-CWICR
Licensed under CC BY 4.0

署名示例:

位置 方式
README / 文档 数据来源:DDC CWICR by Artem Boiko / DataDrivenConstruction (CC BY 4.0)
Web 应用(页脚或"关于") 建筑成本数据 © Artem Boiko / DataDrivenConstruction — CC BY 4.0
学术论文 Boiko, A. (2025). DDC CWICR — Construction Work Items, Costs & Resources. DataDrivenConstruction.
移动端 / 桌面应用 "关于"界面:数据:DDC CWICR by DataDrivenConstruction (CC BY 4.0)
API / SaaS API 文档:由 DDC CWICR (CC BY 4.0) 提供 — datadrivenconstruction.io

支持项目

如果您觉得有用,请考虑支持:

GitHub Sponsors Buy Me A Coffee


释放建筑数据的力量
迈向只有统一结构化数据和流程的全周期数据管理

DataDrivenConstruction

© 2025 Artem Boiko · datadrivenconstruction.io


商标

Autodesk®、Revit®、AutoCAD® 和 DWG™ 是 Autodesk, Inc. 的注册商标或商标。OpenAI™ 是 OpenAI, Inc. 的商标。Qdrant 是 Qdrant Solutions GmbH 的商标。所有其他品牌名称、产品名称或商标均属于其各自所有者。

本项目与 Autodesk、OpenAI、Qdrant 或上述任何其他商标持有者无关联、未获其认可或赞助。