ifc-data-horse/README.md
2025-11-23 18:25:35 +01:00

106 lines
4.1 KiB
Markdown

![](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 rail...**
![](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 !
* Chatting with a bot based on [Nanobot](https://nanobot.com) 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](http://localhost:3000/rvba/ifc-data-horse/commit/0dcf8710dd86cb4c4fcb6d01429b1099d5b507fa)
But wait,
![](images/aec-bot-5.png)
![](images/aec-bot-6.png)
![](images/aec-bot-7.png)
And, ... yes [it works !](http://localhost:3000/rvba/ifc-data-horse/commit/f54640a77be062d5e66cd83beb1c063805a5db25) ...