I am curious what the community's stance is on making FreeCAD let IFC take the lead on how to think about buildings. I'll give a few examples, and please let me know if I have missed something as I am brand new to FreeCAD:
- In FreeCAD, you create a slab by creating a Structure object. In IFC, you create an IfcSlab object. Should we therefore have a button specifically which creates an IfcSlab?
- In FreeCAD, you create a roof by creating a Roof object. In IFC, a roof is a type of IfcSlab, namely IfcSlab.ROOF. Should we therefore aim to eliminate the Roof FreeCAD button? From a cursory look, the UI inconsistently refers to IfcSlab as the "Ifc Role" (which is misleading as there is such as thing as an IfcRole), as well as an "Ifc type" (in the BIM workbench export settings) which is also misleading as it should be called perhaps something like IFC Product (e.g. IfcSlab) + Ifc Type (e.g. ROOF enum).
- In FreeCAD, a you have a Levels manager. In IFC, they are referred to as IfcBuildingStorey. Should we adopt their nomenclature and call it a "Building storey" in the UI?
Personally, I believe if we want FreeCAD to be the most compliant IFC program out there, we should start adopting IFC's uh, "world view"? Of course, this doesn't mean creating a separate button to each of the many IfcElements out there, because that would make an unusable UI (personally, I find the huge dropdown menu in the Ifc Role property quite hard to navigate). I am also aware that any shape can be any IFC object, so perhaps the UI should be structured around creating different shapes, and then a separate UI for classifying them into different IFC Products which will then preload the appropriate property sets.
Just wondering what the community feel was on this? Do you keep FreeCAD as its own thing, and then treat IFC purely as an export, or do we want to treat IFC as a native and start adopting their logic where it makes sense?