I’m Parag Debnath, a pre-final year student, I’ve been actively contributing to FreeCAD over the past few months and have had several PRs merged,
For GSoC 2026, I’m proposing to integrate a Python-based client for the buildingSMART Data Dictionary (bSDD) into FreeCAD. The goal is to make BIM classification more intelligent and context-aware, reducing the current manual workflow and improving IFC interoperability.
I’ve also spent time studying existing implementations like Bonsai BIM and exploring FreeCAD’s current classification system to design a robust and backward-compatible solution.
Looking forward to feedback, suggestions, and discussions from the community!
I was asked by the maintainers in the discord to take opinions fromRoy_043 and yorik Parag’s proposal draft - Google Docs.pdf (135 KB)
I just wanted to verify that
Is this project idea selection and the proposal is up to the standard?
Can y connect it to the maintainers who are looking to this gsoc things?
I went through your proposal and I think it’s really well structured and detailed, especially the parts where you analyzed the current FreeCAD BIM classification system and compared it with the Bonsai BIM implementation.
I also liked how you clearly planned the architecture, especially the asynchronous API client and caching strategy.
A few suggestions that might improve it further :
In the “Detailed Proposal” section, some parts are quite dense (especially the IFC mapping and data contract). You could consider adding a small diagram or simplified flow (like request → response → mapping → IFC entities) to make it easier to follow.
You can briefly mention potential challenges (like API reliability, handling large responses, or UI responsiveness) and how you plan to handle them — this could make the proposal even stronger.
You could also highlight the final user impact a bit more (for example, how much this simplifies the workflow compared to the current manual process).
You might also consider reducing or expanding some abbreviations (like IFC, bSDD, etc.) when they first appear, so the proposal is easier to follow for readers who may not be familiar with all the terms, and and avoiding informal short forms (like “nd”) to make the proposal more professional.
Overall, it’s a very strong proposal and shows a deep understanding of both the problem and the FreeCAD architecture.
I hope the feedback helped!
I do not use really often this feature of FreeCAD (classification with BSDD), mostly because the workflow is a bit cumbersome. So your proposal is very welcome
In terms of workflow, I would really appreciate to have the ability to easily assign a classification from the property side panel when an element is selected.
I’m not a developer, but I understand that maintaining 2 systems (FC legacy and ifc) is tricky and I totally agree with your statement about data integrity:
More importantly, both pipelines reduce complex classification data into a single text string
Asynchronous bSDD Client and Caching
Querying BSDDs using a HTTP API looks overkill to me. All 35 dictionaries in ifc format are less then 10 Mo on the hard drive. And user must be able to use FC offline IMHO.
But maybe I’m missing something.
UI Extension & Context Persistence
As is,I can’t really help here, but for sure UI can be improved. Maybe you can consider adding a picture mock up of your idea.
congratulations to your project being accepted to GSoC!
I am not a developer, but I read your original proposal anyway and I am happy to see such a thorough look at this topic. I would like to point one thing out, maybe you already know this. Even though bSDD is currently mostly used and known for classification references, it can also be used for pulling other data, like IfcPropertySets and IfcProperties. I know it is not the scope of your project, but I thought that you might encounter a decision when you are thinking if something should be made modular or just suited for classification, and this information might help.