select a phase to view details
Phase 01 — Foundation
OpenBIM data ingestion
Weeks 1–3 · ~40 hrs
ifcopenshell
laspy
open3d
Primary goal
Build a working OpenBIM data ingestion pipeline that reads MEP element data from any IFC 2×3 or IFC4 file and loads point cloud data from .las / .laz / .e57 formats — without touching any proprietary file format. Achieve >95% material normalisation accuracy across exports from Revit, ArchiCAD, Tekla, and Vectorworks.
Tools & stack
Python 3.11+ifcopenshell
laspy (.las/.laz)open3d (.e57)
pandasnumpy
VS CodeIFC 2×3 / IFC4
Tasks
- Export 3–5 IFC models from Revit, ArchiCAD, and Tekla to IFC2×3 and IFC4 format for cross-tool validationISO 16739-1
- Write
ifc_parser.pyto extract element GUID, IFC type, material, system, floor/zone, XYZ centroid, and joint type viaIfcRelAssociatesMaterialISO 19650 - Build 22-material normalisation lookup table mapping all IFC label variants (e.g. "SS316L", "316 Stainless") to canonical BIMGUARD keys
- Classify environment from
IfcSpacezone names to T0–T5 wetting classes per EN ISO 15329 (e.g. "pool plant" → T5)EN ISO 15329 - Write
point_cloud_loader.py: .las/.laz via laspy, .e57 via open3d; KD-tree nearest-neighbour deviation query against IFC centroids - Build 25-element synthetic demo dataset with known risk outcomes including the critical SS316/pool-plant test case (0.00 galvanic / 0.89 crevice)
- Validate parser output against manually reviewed IFC files; document false matches and unknown material flags
Deliverables
Moduleifc_parser.py
Modulepoint_cloud_loader.py
Datasynthetic_demo.py (25 elements)
Configmaterial_normalisation.json
Standards referenced
ISO 16739-1IFC open standard — primary model exchange format
ISO 19650BIM information management, property set naming
EN ISO 15329Wetting classes T0–T5, environment classification
ASPRS LAS 1.4Open point cloud format (.las/.laz)
ASTM E2807E57 point cloud format specification
Accuracy benchmark
OpenBIM argument: ifc_parser.py processes IFC from any authoring tool with identical logic. The compliance result for an ArchiCAD export and a Revit export of the same model should be the same — if it isn't, the difference is a finding about IFC data quality, not a limitation of BIMGUARD AI.
Phase 02 — Rule Engine
Corrosion compliance engines
Weeks 4–6 · ~35 hrs
GC-001
CC-001
JSON rulesets
Primary goal
Build two independent compliance engines — GC-001 (galvanic corrosion) and CC-001 (crevice corrosion) — producing continuous risk scores 0–1 with four risk bands. Both engines run independently and in combination via
combined_risk_assessment(). All 15 CLI validation scenarios must match known engineering outcomes.
Tools & stack
Pythonpandas
numpyJSON (rulesets)
NASA-STD-6012ASTM G48
EN ISO 15329CIRIA C692
Tasks
- GC-001: implement 22-material galvanic potential table, voltage threshold logic (0.15 V harsh / 0.25 V normal / 0.50 V controlled), 5-band area ratio classification, PREN adequacy checksNASA-STD-6012
- GC-001 scoring: weighted composite (0.50 × voltage risk) + (0.30 × area ratio) + (0.20 × environment multiplier)
- CC-001: implement CCT table (SS304=−5°C through Titanium=120°C), 14-type joint library (JT-001 to JT-014), 7 environment severity classesASTM G48
- CC-001 scoring: weighted composite (0.35 × geometry) + (0.40 × CCT adequacy) + (0.25 × environment severity)CIRIA C692
- Version-control both JSON rulesets: galvanic_corrosion_ruleset.json and crevice_corrosion_ruleset.json at v1.0.0
- Validate critical finding: SS316 flanges in pool plant room must score 0.00 galvanic / 0.89 crevice — proving dual-engine necessity
Risk band thresholds
Deliverables
Enginebimguard_corrosion_engine.py
Enginebimguard_crevice_engine.py
Rulesetgalvanic_corrosion_ruleset.json
Rulesetcrevice_corrosion_ruleset.json
Standards referenced
NASA-STD-6012Galvanic voltage thresholds by environment class
ASTM G48 Method BCritical Crevice Corrosion Temperature (CCT) by grade
EN ISO 15329:2007Crevice testing, wetting class severity classification
CIRIA C692Stainless steel in construction, joint geometry guidance
IMOA Design ManualPREN formula and stainless steel grade selection
Key innovation — dual mechanism detection: SS316 flanges in a pool plant room score 0.00 galvanic (no risk) but 0.89 crevice (Critical). A single-mechanism checker would miss this failure mode entirely. Two engines are required.
Phase 03 — AI Layer
LLM rule translation & AI interface
Weeks 7–9 · ~30 hrs
Claude API
JSON/SHACL
Halo volumes
Primary goal
Use Claude API as a rule translation layer that converts building codes and engineering standards from natural language into machine-readable JSON/SHACL compliance rules. All generated rules pass human review before deployment. Build Halo clearance volumes for spatial proximity compliance. The LLM never makes risk decisions — White Box Architecture is preserved.
Tools & stack
PythonAnthropic Claude API
JSON schemaSHACL
n8n (optional RAG)ISO 19650 PSets
Building Safety Act 2022
Tasks
- Extract 10–15 applicable code clauses from ISO 19650, BS 8539, CIBSE Guide G, and Building Safety Act 2022 as source text
- Build structured prompt template that converts code text to BIMGUARD rule JSON with: rule_id, conditions[], thresholds{}, standard_ref, risk_weight, human_reviewed fieldsWhite Box
- Send clause text to Claude API, receive structured JSON, compare against manually coded rules — document divergence rate and root causes
- Implement human review gate: all rules start as human_reviewed=false; a named reviewer must approve before promotion to production rulesetBSA 2022
- Build Halo clearance volume geometry: AABB expansion around IFC element centroids by minimum clearance per material pair (50–100 mm depending on pair)
- Build NL explanation generator: Claude produces a 2–3 sentence BCF violation description per element for the markup.Description field
Deliverables
Modulellm_rule_translator.py
Modulehalo_volume.py
Logrule_review_log.json
TemplatesNL explanation prompts
Standards referenced
ISO 19650BIM information management, Golden Thread provenance
Building Safety Act 2022Audit trail requirement for higher-risk buildings
BS 8539Fixings in construction, bi-metallic assembly rules
CIBSE Guide GMEP crevice corrosion guidance, pipe clearances
Halo clearance volumes — key innovation: BIMGUARD AI generates spatial bounding volumes around each IFC element to check minimum clearance between dissimilar-metal assemblies. This enables spatial compliance checking that goes beyond point-to-point material pair analysis.
Phase 04 — Full System
Integration & BCF output
Weeks 10–13 · ~45 hrs
Streamlit
BCF 2.1
plotly
Primary goal
Build the complete 6-page Streamlit web application integrating all modules, and generate BCF 2.1 compliant issue exports with viewpoints, GUID linkages, engineer assignments, and schedule/cost impact data. Achieve <30 s processing time for a 100-element model. Run on the 25-element demo: target 9 Critical, 7 High, 9 Medium.
Tools & stack
Streamlitplotly
pandasBCF 2.1 (buildingSMART)
ifcopenshellzipfile
ReportLabpython-docx
6 application pages
- Data ingestion: upload IFC file OR load 25-element demo; upload point cloud OR auto-generate synthetic; single button to run compliance check
- Model overview: all extracted MEP elements, filterable table, material inventory bar chart
- Corrosion compliance: risk distribution pie chart, environment breakdown, 3D spatial risk map (plotly), full results table, CSV export
- Point cloud comparison: IFC element centroids overlaid on point cloud in 3D coordinate space; deviation colouring
- BCF issue manager: issues by band, engineer assignment chart, expandable issue cards, BCF 2.1 ZIP download
- Schedule & cost impact: Gantt chart (baseline vs delayed), cost by band, delay by mechanism, issue-level breakdown
Demo run outcomes (25 elements)
Deliverables
Appapp.py (Streamlit, 6 pages)
Modulecompliance_runner.py
Modulebcf_generator.py
Moduleschedule_impact.py
OutputBCF 2.1 ZIP archive
OutputCSV asset register
Standards referenced
BCF 2.1buildingSMART issue tracking — viewpoints, GUID, history
ISO 16739-1IFC Pset write-back: Pset_CorrosionRisk, Pset_CreviceCorrosionRisk
ISO 19650Asset register format, information delivery specification
BCF 2.1 vendor neutrality: Every issue exports with a buildingSMART-compliant viewpoint and GUID. The ZIP is importable into BIMcollab, Solibri, Navisworks, Tekla BIMsight, and any other BCF-capable platform — no proprietary viewer required.
Phase 05 — Extension
Evaluation & extension modules
Weeks 14–16 · ~35 hrs
MC-001 MIC
scikit-learn
Fire module
Primary goal
Validate BIMGUARD AI against real IFC models with known corrosion failure history (precision ≥0.85, recall ≥0.80, F1 ≥0.82). Build MC-001 — Microbially Influenced Corrosion engine — as the third compliance module. Begin fire compartmentation module. Compile the master thesis document.
Tools & stack
Pythonscikit-learn
matplotlib / seabornpandas
PyTorch Geometric (GNN opt.)NetworkX
python-docxpptxgenjs
Tasks
- Test against 5+ real-world IFC models; calculate precision, recall, F1-score, confusion matrix per mechanism (GC-001 vs CC-001 separately)
- Benchmark: BIMGUARD AI vs manual review vs Solibri — record time-to-detect, false positive rate, and missed issues
- MC-001 MIC engine: dead-leg detection, stagnant water zone identification, under-insulation temperature modelling, SRB/IOB risk scoring for DN15+ pipework
- Fire compartmentation module: IfcFireSuppressionTerminal checking, penetration seal compliance, cavity barrier clearance verification
- Optional GNN: convert IFC spatial graph to NetworkX (rooms = nodes, adjacencies = edges), train on material proximity pairs to catch edge cases
- Compile master thesis: merge Ch1–11 .docx files, unified formatting, abstract, executive summary, bibliography, table of contents
Evaluation targets
Deliverables
Enginemc001_mic_engine.py
Modulefire_compartmentation.py
Reportevaluation_report.py
Thesismaster_thesis.docx
DeckFMP_presentation.pptx
OptionalGNN spatial engine
MC-001 scope — MIC mechanism
Dead-leg detectionFlow velocity <0.1 m/s in warm pipework (>20°C) — primary SRB risk
Under-insulationTrapped moisture beneath insulation on carbon steel — IOB and SRB
Stagnant zonesDN15+ pipe branches not on active circuits — Legionella crossover risk
Three-mechanism coverage: GC-001 + CC-001 + MC-001 covers galvanic, crevice, and microbial failure modes — the three most common MEP corrosion mechanisms in UK commercial buildings. No existing OpenBIM tool covers all three in a single auditable pipeline.