ara3d / aec-hackathon-identity

Best Overall Hack at the AEC Hackathon February 2024 in Zurich

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Team Identity

AEC Hackathon, February 2024 in Zurich

🥇 Winner of Best Overall Hack!

Team Identity Presentation

Members

  • Ahmed Wael Ismail
  • Christopher Diggins
  • Elia Wäfler
  • Helena Krogmann
  • Mohamad Khazna
  • Olga Poletkina
  • Otmane Salih

Problem Statement

What is called a BIM model, is actually a disparate set of documents stored in different CDEs, with lots of replication. Communicating and collaborating between stakeholders and teams requires a complex and inaccurate process involving conversions of files.

One of the biggest challenges is having a common understanding of when two documents or issues are talking about the same thing. In other words there is no widely-agreed upon mechanism for a project to have a central authority to identify the entities.

Our Proposed Solution

Our proposal was to build an Identity Model in a text-readable format (e.g., JSON) which provides linkage between the different chunks of data (components) and the different documents.

By storing the entity and component data in plain-text, we can use use the same text-based version control tools that developers use such as VS code, Git, and Github.

Sample Identity Model

We have a sample representation of hosting an Identity Model on a Github repository online at [https://github.com/cdiggins/IdentityModelSampleRepo]

VS Code Integrated Diffing Tool

image

Github Workflows

image image

Displaying Changes in Revit - With Approval

Beyond using existing tools, by storing it in an easily parsed format like JSON, it is possible to quickly write new tools that can compute deltas between identity models and show the differences directly in the BIM authoring tool:

revit-receiving-data2.mp4

Displaying Changes in Rhino - Before Sending

We can also provide better controls for people making changes to send (commit) data when it make sense:

rhino-sending-data.mp4

Presentation

Technical Challenge: Mesh Similarity

One of the technical hurdles is dealing with similarity with meshes. For the purpose of the Hackathon we developed some code in C# to compute mesh similarity.

image

Code Links

Some of the code for the hackathon can be found as part of the Ara3D repository online at:

These folders contains libraries of C# functions for:

  • Generating an initial identity model in JSON format
  • Computing difference between two identity models as an array of JSON records

In a separate repo:

The following code examples have not yet been uploaded online:

  • A Python script for Revit was written by Olga Poletkina to read JSON difference records
  • A Python standalone script was written by Elia Waefle to generate a list of OBJ files and JSON parameter sets

References

About

Best Overall Hack at the AEC Hackathon February 2024 in Zurich