opencax / GSoC

Google Summer of Code Projects
30 stars 14 forks source link

Turn BlenderBIM into a client for remote BIM-collaboration on existing OpenCDE-API-server with a graph backend #93

Open marwiss opened 6 months ago

marwiss commented 6 months ago

Outline

The project aim is to turn BlenderBIM into a client for remote BIM-collaboration and a client for remote BIM-model-sharing through a Common Data Environment (a CDE working as BIM/IFC-server) using the already developed OpenCDE API server and the OpenCDE API specifications provided by buildingSMART: BCF API and Documents API.

OpenCDE API:s are open standards. This project will hence enable usage of BlenderBIM as a client on other BIM-servers that implements the OpenCDE API:s.

Details

An OpenCDE API server that implements all buildingSMART OpenCDE API:s (BCF API, Documents API and Foundation API) has been developed in python and the FastAPI framework. Solibri Office was used as a client for testing this server software during development.

The code of the OpenCDE server is located in the IfcOpenShell repository here: https://github.com/IfcOpenShell/IfcOpenShell/tree/v0.7.0/src/opencdeserver

The OpenCDE API:s is a set of open API-specifications provided by buildingSMART. https://github.com/buildingSMART/OpenCDE-API

To summarize: The model (the IFC data) will normally be shared to the server using Documents API, and downloaded form the server using Documents API. BCF API can be used for remote collaboration on the models located on the server et.c.

The purpose of the open API specification is to enable independent development of clients and servers that can communication with eachother. A server has already been developed and shared as open source on IfcOpenShell. However, at the moment there is no open source client with a graphical user interface for the OpenCDE API:s. A python library for BCF API communication is available: https://pypi.org/project/bcf-client/.

The aim of this project is to turn BlenderBIM into a OpenCDE-client (a client that already have BIM-capabilities) that can communicate remotely with (and make use of) the existing open source OpenCDE-server on: https://github.com/IfcOpenShell/IfcOpenShell/tree/v0.7.0/src/opencdeserver

An add-on for GIT-collaboration have already been developed:

Collaboration using Documents API and BCF API is just another way of collaboration. This way of collaboration might be more suitable for AEC-professionals who does not have experience of GIT. Som features of GIT are not possible. But other features that are possible when using the OpenCDE API:s are not possible using GIT.

Expected Outcome

Extra: Implement som of the routes/endpoints of the OpenCDE API specifications that Solibri Office does not support. I.e. implement the full official buildingSMART open specifications using the open source server (OpenCDE API server) and open source client (BlenderBIM).

Future Possibilities

Project Properties

Skills

Difficulty

Hard

Size

Long (350h)

Additional Information

Kenyg369 commented 6 months ago

@marwiss I am interested!! , but the GSoC 2024 application submission is just due after you posted this. 😥

marwiss commented 6 months ago

I am sorry @Kenyg369 my mistake. I thought the deadline was for the project idea proposal. Maybe it will be possible again next year.

ayushgupta9906 commented 5 months ago

I want to work on this issue. Please Assign this to me. Thanks

marwiss commented 5 months ago

@ayushgupta9906 thanks for your interest! Nice that you are enthusiastic. I think the deadline for GSoC is over, but this is open source, so I guess voluntary contributors are welcome at anytime. Maybe it would be a good idea to create a team for this project, because it is quite complex and requires many skills. You can contact @Moult for more information.