![](images/aec-munich.png)

# ifc-data-horse 🐴

> **"There are no wheels yet, but the thing is running"**

## [TL;DR](https://en.wikipedia.org/wiki/TL%3BDR)

**This project explores [IFC5](https://github.com/buildingSMART/IFC5-development) and [Native IFC collaborative worklows](https://github.com/buildingSMART/IFC5-development/issues/2) based on Git.** 

## Meet the Team

* **[Milovann Yanatchkov](https://rvba.fr/my_en.html)** : bug-hunter, aec-free-rider, associate-professor, kebab-case-lover.
* **Artem Igumnov** : civil-engineer, aec-ice-breaker

## The Challenge

* [AEC/O Hackathon 2025 Munich Edition](https://www.tum-venture-labs.de/events/aeco-hackathon-2025/)
* [Problem statement](https://github.com/vyzn-tech/ifc-data-bus?tab=readme-ov-file#problem-statement)

## Problem Statement

* Architects and planners rely on a **broad ecosystem of software tools**,
* yet **poor data integration between these tools creates major bottlenecks** in the design process.
* This fragmentation prevents holistic project optimization and slows down coordination.

### Data Stream 

* Although **OpenBIM** ✅ aims to support **interoperability**, it still lacks robust mechanisms for

> **bi-directional data exchange** ✅

* —particularly when it comes to **re-integrating data into CAD and CDE environments**.
*  **Existing initiatives often do not prioritize full OpenBIM compliance**, leaving a clear opportunity for alternative, standards-aligned solutions.

### 'Flat Modules' vs 'Monolithic Blob'

> At the same time, the emerging **modularized and layerized IFC5** standard ✅

* introduces new capabilities for more flexible, **fine-grained**, and machine-friendly data handling.
* These advances open the door to **new workflows** built around decentralized, **event-driven data exchange** rather than **monolithic file transfers**.

## Previously ...

### Zurich 2024

* AEC hackathon Zurich 2024 : **[GitAec](https://gitaec.org)** as a **[Git-native CDE](https://gitaec.org/rvba/docs/wiki/Zurich-hackathon)** platform for AEC.

### Zurich 2025 : Tech Talks

* AEC hackathon Zurich 2025  : **Flow-based modeling** discused during **[tech talks](https://www.youtube.com/watch?v=vqkKc3TCWdg)** (youtube)

![](images/gitaec_zurich_2025.png)

### Zurich 2025 : Hackathon
### [vyzn](https://www.vyzn.tech/en) : data-streaming-bim-platform

* Joining Vyzn team to work on ifc-data-bus **[Blender client](https://github.com/vyzn-tech/ifc-data-bus/tree/main/2025-01%20AEC%20Hackathon%20Zurich/poc/blender-client)**

![](images/vyzn.jpeg)

### ifc-data-bus 🚐

![](images/ifc-data-bus.png)

## The Experiment

### Embeding IFC5 Viewer within GitAec 

* Sources can be find in the [ifcx branch](https://codeberg.org/rvba/forgejo/src/branch/ifcx) of GitAec
* The viewer is based on IFC5 BuildingSmart experiment [with some modifications](https://gitaec.org/rvba/ifc5)

**First experiments went a bit off the rails...**

![](images/gitifcx.png)

**...but eventually, it ended fitting in**

![](images/gitifcx2.png)

## Generating IFC5

* [First test](https://gitaec.org/rvba/ifc-data-horse/commit/3c36ade1140461206173999a88f89a80b9fa72be) from [scratch](https://gitaec.org/rvba/ifc5/src/branch/main/viewer/src/utils/python/hack.py)
* [First Mesh](https://gitaec.org/rvba/ifc-data-horse/src/commit/12ed3ee4a136d6350775e4fb365a678d1e833ca5/plane.ifcx)
* [Obj exporter](https://gitaec.org/rvba/ifc5/src/commit/931817bb3af368aae7747af2592ef63c461155b0/viewer/src/utils/python/hack.py#L77)

## But there's more !

## Forge-MCP

* **Chatting with a bot based on [Nanobot](https://nanobot.ai) and a [Forgejo-MCP server](https://codeberg.org/goern/forgejo-mcp) and let 'it' produce a cube directly on the Forge on the behalf of the 'user'...**

![](images/aec-bot-1.png)
![](images/aec-bot-2.png)
![](images/aec-bot-3.png)
![](images/aec-bot-4.png)

Well .... [not really working](https://gitaec.org/rvba/ifc-data-horse/commit/0dcf8710dd86cb4c4fcb6d01429b1099d5b507fa)

But wait,

![](images/aec-bot-5.png)
![](images/aec-bot-6.png)
![](images/aec-bot-7.png)

Congrats little bot!
