MAICEN-1125-M10  ·  Final Master's Project  ·  Group 5

BIMGUARD AI — Code Compliance Workflow

Automated BIM Corrosion Compliance · 5-Phase Implementation Workflow
OpenBIM IFC ISO 16739-1 BCF 2.1 Zigurat GIT
Select a phase below to explore its goal, tools, tasks, and deliverables

select a phase to view details

Phase 01 — Foundation
OpenBIM data ingestion
Weeks 1–3  ·  ~40 hrs ifcopenshell laspy open3d
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.
Python 3.11+ifcopenshell laspy (.las/.laz)open3d (.e57) pandasnumpy VS CodeIFC 2×3 / IFC4
  • 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.py to extract element GUID, IFC type, material, system, floor/zone, XYZ centroid, and joint type via IfcRelAssociatesMaterialISO 19650
  • Build 22-material normalisation lookup table mapping all IFC label variants (e.g. "SS316L", "316 Stainless") to canonical BIMGUARD keys
  • Classify environment from IfcSpace zone 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
Moduleifc_parser.py
Modulepoint_cloud_loader.py
Datasynthetic_demo.py (25 elements)
Configmaterial_normalisation.json
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
Normalisation
>95%
Env. class
>90%
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
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.
Pythonpandas numpyJSON (rulesets) NASA-STD-6012ASTM G48 EN ISO 15329CIRIA C692
  • 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
Low
< 0.35
Medium
0.35–0.55
High
0.55–0.80
Critical
> 0.80
Enginebimguard_corrosion_engine.py
Enginebimguard_crevice_engine.py
Rulesetgalvanic_corrosion_ruleset.json
Rulesetcrevice_corrosion_ruleset.json
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
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.
PythonAnthropic Claude API JSON schemaSHACL n8n (optional RAG)ISO 19650 PSets Building Safety Act 2022
  • 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
Modulellm_rule_translator.py
Modulehalo_volume.py
Logrule_review_log.json
TemplatesNL explanation prompts
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
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.
Streamlitplotly pandasBCF 2.1 (buildingSMART) ifcopenshellzipfile ReportLabpython-docx
  • 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
Critical
9 issues
High
7 issues
Medium
9 issues
Cost impact
£170,600
Delay
162 days
Appapp.py (Streamlit, 6 pages)
Modulecompliance_runner.py
Modulebcf_generator.py
Moduleschedule_impact.py
OutputBCF 2.1 ZIP archive
OutputCSV asset register
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
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.
Pythonscikit-learn matplotlib / seabornpandas PyTorch Geometric (GNN opt.)NetworkX python-docxpptxgenjs
  • 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
Precision
≥ 0.85
Recall
≥ 0.80
F1-score
≥ 0.82
Enginemc001_mic_engine.py
Modulefire_compartmentation.py
Reportevaluation_report.py
Thesismaster_thesis.docx
DeckFMP_presentation.pptx
OptionalGNN spatial engine
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.