104 lines
4 KiB
Markdown
104 lines
4 KiB
Markdown

|
|
|
|
# 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)
|
|
|
|

|
|
|
|
### 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)**
|
|
|
|

|
|
|
|
### ifc-data-bus 🚐
|
|
|
|

|
|
|
|
## 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...**
|
|
|
|

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

|
|
|
|
## 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.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'...**
|
|
|
|

|
|

|
|

|
|

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

|
|

|
|

|
|
|
|
Congrats little bot!
|