Back to Templates

Estimate 4D/5D construction costs from Revit BIM models with DDC CWICR

Created by

Created by: Artem Boiko || datadrivenconstruction

Artem Boiko

Last update

Last update a day ago

Share


A professional BIM-to-cost pipeline that extracts data from Revit models (2015–2026), classifies elements with AI, decomposes them into construction works, and generates detailed cost estimates using the open-source DDC CWICR database. Produces HTML reports and Excel exports with full resource breakdown.

Who's it for

  • BIM Managers automating quantity takeoff and cost estimation
  • Cost Engineers integrating 5D workflows into design pipelines
  • Construction Companies standardizing estimates from Revit models
  • General Contractors doing rapid budget checks during design
  • MEP Engineers pricing mechanical/electrical/plumbing systems
  • Developers building custom BIM-to-cost integrations

What it does

  1. Extracts BIM data from Revit model via converter (RvtExporter)
  2. Classifies building vs non-building elements using AI
  3. Detects project type (Residential/Commercial/Industrial)
  4. Generates construction phases and assigns element types
  5. Decomposes each BIM type into detailed work items
  6. Searches DDC CWICR vector database for matching rates
  7. Calculates costs with unit mapping and resource breakdown
  8. Validates work completeness and checks for gaps
  9. Generates professional HTML report + Excel file

How it works

┌─────────────────────────────────────────────────────────────────────────────┐
│                          REVIT MODEL (.rvt)                                  │
│                     Revit 2015–2026 supported                                │
└─────────────────────────────────────────────────────────────────────────────┘
                                     ↓
┌─────────────────────────────────────────────────────────────────────────────┐
│  BLOCK 1: CONVERSION                                                         │
│  RvtExporter.exe → Excel with BIM element schedules                          │
└─────────────────────────────────────────────────────────────────────────────┘
                                     ↓
┌─────────────────────────────────────────────────────────────────────────────┐
│  BLOCK 2: DATA LOADING & CLASSIFICATION                                      │
│  • Filter 3D View elements only                                              │
│  • AI analyzes headers → aggregation rules (sum/mean/last)                   │
│  • AI classifies building vs non-building elements                           │
│  • Hard exclude: Grids, Levels, Annotations, Views, etc.                     │
└─────────────────────────────────────────────────────────────────────────────┘
                                     ↓
┌─────────────────────────────────────────────────────────────────────────────┐
│  BLOCK 3: PROJECT ANALYSIS (Stages 0–3)                                      │
│  STAGE 0: Collect filtered BIM data                                          │
│  STAGE 1: AI detects project type                                            │
│  STAGE 2: AI generates construction phases                                   │
│  STAGE 3: AI assigns element types to phases                                 │
└─────────────────────────────────────────────────────────────────────────────┘
                                     ↓
┌─────────────────────────────────────────────────────────────────────────────┐
│  BLOCK 4: WORK DECOMPOSITION (Stage 4)                                       │
│  Loop through each BIM type:                                                 │
│  • AI decomposes type into work items                                        │
│  • Example: Window → Demolition, Installation, Sealing, Hardware             │
│  • Prepares search queries for pricing                                       │
└─────────────────────────────────────────────────────────────────────────────┘
                                     ↓
┌─────────────────────────────────────────────────────────────────────────────┐
│  BLOCK 5: PRICING & CALCULATION (Stages 5–7)                                 │
│  STAGE 5: Vector search in Qdrant (text-embedding-3-large, 3072 dim)         │
│  STAGE 6: Map BIM units → Rate units (m² → 100 m²)                           │
│  STAGE 7: Calculate costs (Qty × Unit Price)                                 │
└─────────────────────────────────────────────────────────────────────────────┘
                                     ↓
┌─────────────────────────────────────────────────────────────────────────────┐
│  BLOCK 6: VALIDATION & AGGREGATION                                           │
│  STAGE 7.5: AI validates work completeness                                   │
│  STAGE 8: Aggregate costs by phases                                          │
└─────────────────────────────────────────────────────────────────────────────┘
                                     ↓
┌─────────────────────────────────────────────────────────────────────────────┐
│  BLOCK 7: REPORT GENERATION (Stage 9)                                        │
│  • Professional HTML report with expandable rows                             │
│  • Excel-compatible XLS file                                                 │
│  • Auto-opens in browser                                                     │
└─────────────────────────────────────────────────────────────────────────────┘

Pipeline Stages

Stage Name Description
0 Collect Gather filtered BIM data
1 Project Type AI detects Residential/Commercial/Industrial
2 Phases AI generates construction phases
3 Assignment AI assigns element types to phases
4 Decomposition AI breaks types into work items
5 Vector Search Query Qdrant for pricing rates
6 Unit Mapping Convert BIM units to rate units
7 Calculation Compute costs (Qty × Price)
7.5 Validation AI checks completeness, finds gaps
8 Aggregation Sum costs by phases
9 Reports Generate HTML + XLS outputs

Prerequisites

Component Requirement
n8n v1.30+ with Execute Command node
Revit Exporter RvtExporter.exe (provided separately)
OpenAI API For embeddings + LLM tasks
Qdrant Vector DB with DDC CWICR collections
DDC CWICR Data GitHub
Windows For Revit converter execution

Setup

1. Configure File Paths

In Setup - Define file paths node:

{
  "path_to_converter": "C:\\path\\to\\RvtExporter.exe",
  "project_file": "C:\\path\\to\\your_project.rvt",
  "group_by": "Type Name",
  "language_code": "DE"
}

2. Select Language & Region

Code Language City Currency
AR Arabic Dubai AED
ZH Chinese Shanghai CNY
DE German Berlin EUR
EN English Toronto CAD
ES Spanish Barcelona EUR
FR French Paris EUR
HI Hindi Mumbai INR
PT Portuguese São Paulo BRL
RU Russian St. Petersburg RUB

3. Configure AI Model

Connect your preferred LLM in the model nodes:

Provider Model Notes
OpenAI GPT-4o Default, recommended
Anthropic Claude Opus 4 High quality
Google Gemini 2.5 Pro Good for large contexts
xAI Grok 4 Fast inference
DeepSeek DeepSeek Chat Cost-effective
OpenRouter Various Multi-model access

4. Set Up Qdrant

Ensure DDC CWICR collections are loaded:

DE_BERLIN_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR
ENG_TORONTO_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR
RU_STPETERSBURG_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR
...

5. Configure OpenAI Credentials

Set up OpenAI API credential for:

  • Embeddings (text-embedding-3-large, 3072 dimensions)
  • LLM calls (if using OpenAI as primary model)

Features

Feature Description
🏗️ Revit Integration Direct extraction from .rvt files (2015–2026)
🤖 Multi-LLM Support OpenAI, Claude, Gemini, Grok, DeepSeek
🔍 Smart Classification AI separates building from non-building elements
📊 Work Decomposition Breaks BIM types into detailed work items
🎯 Vector Search Semantic matching via Qdrant + OpenAI embeddings
🧮 Unit Mapping Automatic conversion (m² → 100 m², pcs → sets)
AI Validation Checks for missing works and duplications
📈 Phase Aggregation Costs grouped by construction phases
📄 HTML Report Professional report with quality indicators
📑 Excel Export XLS file with formulas and links
🌍 9 Languages Full localization + regional pricing

Hard Exclude Categories

The pipeline automatically excludes non-physical elements:

  • Levels, Grids, Reference Planes
  • Annotations, Dimensions, Text Notes
  • Tags, Views, Sheets, Schedules
  • Legends, Viewports, Section Boxes
  • Scope Boxes, Match Lines
  • Model Groups, Detail Groups
  • Entourage (RPC people, cars, plants)

Example Output

Input: Residential building Revit model (45 element types)

Processing:

  • Project type detected: Residential Multi-Family
  • Phases generated: Foundations → Structure → Envelope → MEP → Finishes
  • Types assigned: 45 types → 5 phases
  • Works decomposed: 45 types → 280 work items
  • Rates found: 245/280 (87.5%)

Output Files:

project_2024-12-08.html  → Professional HTML report
project_2024-12-08.xls   → Excel with full breakdown

HTML Report Features:

  • KPI summary (total cost, items, phases)
  • Expandable phase sections
  • Quality indicators (● green/yellow/red)
  • Resource breakdown per work item
  • Clickable rate codes
  • Responsive design

Output Structure

📊 Cost Estimate: Residential Building
├── 📁 Phase 1: Foundations
│   ├── Foundation walls — 125.5 m³ — €12,450
│   ├── Concrete footings — 45.2 m³ — €8,340
│   └── Waterproofing — 280 m² — €4,200
├── 📁 Phase 2: Structure
│   ├── Concrete columns — 18 pcs — €9,720
│   ├── Floor slabs — 450 m² — €67,500
│   └── Stairs — 3 flights — €8,100
├── 📁 Phase 3: Envelope
│   ├── Exterior walls — 680 m² — €95,200
│   ├── Windows — 42 pcs — €25,200
│   └── Roof system — 225 m² — €33,750
└── 💰 TOTAL: €485,240

Notes & Tips

  • First run: Conversion takes 1–3 minutes depending on model size
  • Cached conversion: Subsequent runs skip conversion if Excel exists
  • Testing mode: Limit to 10 types for faster debugging
  • Rate accuracy: Depends on DDC CWICR coverage for your region
  • Custom phases: AI adapts phases based on project type
  • Missing rates: Flagged with red indicator in report

Extending the Pipeline

  • Add custom rates: Extend Qdrant collection with your pricing
  • Chain to PM tools: Connect to OpenProject, Monday, Asana
  • Email reports: Add email node after report generation
  • Cloud storage: Upload to Google Drive, OneDrive, S3
  • Webhook trigger: Replace manual trigger for API access

Categories

AI · Data Transformation · Document Ops · Files & Storage

Tags

bim, revit, cost-estimation, 5d-bim, 4d-bim, qdrant, vector-search, openai, construction, quantity-takeoff, html-report, multilingual


Author

DataDrivenConstruction.io
https://DataDrivenConstruction.io
[email protected]

Consulting & Training

We help AEC firms implement:

  • BIM-to-cost automation pipelines
  • 4D/5D integration workflows
  • Custom Revit data extractors
  • AI-powered estimation systems
  • Vector database deployment for construction data

Contact us to adapt this pipeline to your Revit templates and regional pricing.

Resources


Star us on GitHub! github.com/datadrivenconstruction/DDC-CWICR