horizenight / Gsoc24-IfcTester-WebApp

GSoC 2024 Project under BRL-CAD organization: IFCOPENSHELL
https://gsoc24-ifctester-webapp.onrender.com/
GNU General Public License v3.0
3 stars 0 forks source link

Author: Kshitij Roodkee Title: "BRL-CAD: IfcOpenShell: IfcTester WebApp" Subject: GSoC 2024 Project Breakdown

Contact Information

Project Overview

Summary:

The project aims to seamlessly integrate three powerful tools — BlenderBIM Add-on, IfcOpenShell software, and Radiance — for the creation of detailed and scientifically accurate 3D renders of buildings. While BlenderBIM and IfcOpenShell enable users to construct intricate 3D models of structures, Radiance specializes in performing light simulations, ensuring renders are not only visually appealing but also photometrically correct.

Key Components:

  1. IFCTester Library:

    • The IFCTester Library, written in Python, serves as the core foundation for testing IFC files against a given IDS Document. It validates the IFC file, identifying where it meets or fails to satisfy specific IDS requirements.
  2. IFCTester WebApp : IDS Editor:

    • The IDS Editor is a web interface included with the IFCTester WebApp. It provides a rich-text-like experience for editing an IDS Document, making it easy to modify facets and their optional parameters in a user-friendly manner.

Project Breakdown

1. Backend API to Interact with IFCTester Library

Objective:

Develop a backend that interacts with the IFCTester Library to validate IDS Documents and generate results for validating IFC files against a given IDS Document.

Approach:

2. Loading IDS Document in Frontend

Objective:

After validating the IDS Document schema on the backend, a frontend loader is required to load the validated IDS Document into the IDS Editor, allowing the user to interact with and modify the document.

Approach:

3. Implementing IDS Specs Library: Drag n Drop Functionality

Objective:

Allow users to import specifications into the IDS Editor and easily drag and drop specifications from the library component into the main IDS Document being edited. This simplifies the process of adding specifications.

Approach:

Accomplishment:

4. Enhancing IDSEditor in IFCTester WebApp: Facet Dropdown Editor

Objective:

The previous version of the IDSEditor allowed users to import and load an existing IDS Document but lacked the ability to easily edit or create new specifications. The goal was to provide a user-friendly interface that allows users to interact with and modify the IDS Document, including creating or removing specifications as needed.

Approach:

5. IFCTester WebApp: Visualizing Results for IFC Validation Against IDS Document

Objective:

To validate an IFC file against a loaded, modified, or newly created IDS Document by making a backend call to the IFCTester Library and visualizing the results directly in the IDSEditor frontend.

Approach:

Accomplishment: