Skip to main content
Challenge

Build an IFC Clash Diff and Resolution Generator

Inspect geometric clash outputs and structural changes between IFC model revisions using ifcdiff and ifcclash principles. Propose non-colliding routing adjustments for building service ducts.

EngineeringHosted by Vera
Challenge brief

What you are building

The core problem, expected build, and operating context for this challenge.

Inspect geometric clash outputs and structural changes between IFC model revisions using ifcdiff and ifcclash principles. Propose non-colliding routing adjustments for building service ducts.

BIM Coordination Engineer

Extract spatial clash pairs between MEP ductwork and structural beam IFC entities.

Compute clearance deficit and vector direction of spatial interference.

Generate adjusted centerline coordinates for ductwork segments to clear structure.

Create BCF viewpoint records detailing suggested elevation offsets for designer sign-off.

Interactive clash list with 3D coordinate viewer and BCF-XML coordinate adjustment panel.

Generate synthetic IFC collision records or use public ifcclash test fixtures from GitHub. Starter examples below are synthetic. They are not downloaded records.

IfcOpenShell Directly references IfcOpenShell tools ifcclash for collision detection and ifcdiff for revision delta tracking.

langgraph, pydantic, fastapi. LangGraph manages stateful iterative routing resolution loops across multi-discipline clash reviews. Geometry-aware LLM capable of directional 3D vector calculation and bounding box analysis.

Submit runnable source, pinned dependencies, setup commands, a working interface, example outputs, and a recorded end-to-end demo. Include tests and an action log.

Detects intersection volume between structural member and MEP pipe or duct.

Calculates minimal vertical or horizontal offset to restore required 50mm clearance.

Formats clash status and suggested modification into valid BCF topic format.

```json [ { "input": { "clash_id": "CLASH-401", "element_a": { "id": "BEAM-01", "type": "IfcBeam", "bbox_z": [ 3.2, 3.8 ] }, "element_b": { "id": "DUCT-12", "type": "IfcDuctSegment", "bbox_z": [ 3.6, 4.1 ] }, "required_clearance_m": 0.05 }, "expected_output": { "clash_detected": true, "interference_depth_m": 0.2, "recommended_action": "LOWER_DUCT", "target_bbox_z": [ 2.95, 3.45 ], "bcf_ready": true } }, { "input": { "clash_id": "CLASH-402", "element_a": { "id": "COL-09", "type": "IfcColumn", "bbox_z": [ 0, 3.5 ] }, "element_b": { "id": "PIPE-03", "type": "IfcPipeSegment", "bbox_z": [ 3.6, 3.7 ] }, "required_clearance_m": 0.05 }, "expected_output": { "clash_detected": false, "interference_depth_m": 0, "recommended_action": "NONE", "target_bbox_z": null, "bcf_ready": false } } ] ```

Spatial clash offset recommendations require formal review by licensed MEP engineers prior to model alteration. Use mock external writes. Require human review before any real deployment.

Rules

Participation guide

Spatial clash offset recommendations require formal review by licensed MEP engineers prior to model alteration. Use mock external writes and human review.

Delivery guide

How work is evaluated

Evaluation

Detects intersection volume between structural member and MEP pipe or duct. Calculates minimal vertical or horizontal offset to restore required 50mm clearance. Formats clash status and suggested modification into valid BCF topic format.

Submission format

Runnable source, pinned dependencies, setup commands, working interface, example outputs, recorded demo, tests, and action logs.

Datasets

Challenge datasets

Public datasets, plus the private datasets you have access to.

Evaluation rubric

How submissions are scored

These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.

Dimensions
4 scoring checks
Binary
1 pass or fail dimensions
Ordinal
3 scaled dimensions
Dimension 1

Complete workflow

Extract spatial clash pairs between MEP ductwork and structural beam IFC entities. Compute clearance deficit and vector direction of spatial interference. Generate adjusted centerline coordinates for ductwork segments to clear structure. Create BCF viewpoint records detailing suggested elevation offsets for designer sign-off.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 2

Correctness and evidence

Detects intersection volume between structural member and MEP pipe or duct. Calculates minimal vertical or horizontal offset to restore required 50mm clearance. Formats clash status and suggested modification into valid BCF topic format.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 3

Review interface

Interactive clash list with 3D coordinate viewer and BCF-XML coordinate adjustment panel.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 4

Safe execution

Spatial clash offset recommendations require formal review by licensed MEP engineers prior to model alteration.

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Learning goals

What you should walk away with

  • Extract spatial clash pairs between MEP ductwork and structural beam IFC entities.

  • Compute clearance deficit and vector direction of spatial interference.

  • Generate adjusted centerline coordinates for ductwork segments to clear structure.

  • Create BCF viewpoint records detailing suggested elevation offsets for designer sign-off.

Resources and assets

Reference links and supporting material

Dataset notes

Generate synthetic IFC collision records or use public ifcclash test fixtures from GitHub. Supplied starter examples are synthetic, not source extracts.

Challenge setup

Configuration summary for this challenge.

Challenge input

Input details are not configured.

LangGraph

Runtime for stateful agent workflows.

Evaluated output

No output checks are configured.

Evaluation checks
  • Extract spatial clash pairs between MEP ductwork and structural beam IFC entities. Compute clearance defici...
  • Detects intersection volume between structural member and MEP pipe or duct. Calculates minimal vertical or...
  • Interactive clash list with 3D coordinate viewer and BCF-XML coordinate adjustment panel.
Configured evaluation evidence
  • 2 public reference cases
Configured runtime
  • 2 configured tools

Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.

View technical recipe

Configured tools

Action Space
  • LangGraph · Optional
Orchestration
  • LangGraph · Optional

Evaluation contract

  • Complete workflow · Weight 40
  • Correctness and evidence · Weight 30
  • Review interface · Weight 20
  • Safe execution · Weight 10

Reference cases

  • 2 public reference cases

Workflow tasks

No workflow tasks are configured.

Recipe freeze marker

No recipe freeze time is recorded.

Frequently Asked Questions about Build an IFC Clash Diff and Resolution Generator