Both issues (BIM setup screen + Visibility on/off of BuildingParts) should be solved now.
About materials in the BIM elements manager, I don’t know, attach a file that shows the problem and I’ll have a look.
About properties, next step wold be to automatically handle “common” properties sets such as Pset_Beam_Common that (should) be applied to all beams objects.
But I find that in most cases unnecessary, you have 200 beams in a file, if each of them has 6 “common” properties, that’s 1200 lines to say nothing useful. I’d rather try to find some organic way to add just the properties we need. Not sure yet how to do that.
There are two more features that I want to add too: Quantities and Classifications. The same way that you can add “IfcRelDefineByProperties” to objects, to attach properties to it, you can add an “IfcRelDefinesByQuantities” where you can add custom measurements to an object, such as length, height, area, volume, etc… The big problem in IFC is that you can “lie”, ie. say something in those quantities that doesn’t reflect in the actual geometry. But that’s another story.
These are useful for apps that don’t use the geometry (spreadsheets, etc), so they can still know some dimensions of an object.
For classifications, we should use this: http://www.buildingsmart-tech.org/ifc/IFC2x3/TC1/html/ifcexternalreferenceresource/lexical/ifcclassification.htm The problem, AFAICS, is that you add classification info to an IFC file, but I didn’t find any way to bind these classes to objects?
Even revit exports an IfcClassification, but it’s just floating inside the file, and not connected to any object.
At the moment in FreeCAD you can define a class in materials. I’m thinking it could be a good idea to use materials for everything that is common to more than one object: Material itself, but also common sets of properties, and maybe classification too… Then we would also need materials to be able to inherit from another material. That way, you could for example define a general concrete to be used in the whole building, then a concrete only for columns, which derives from the general concrete, but just changes the classification, for example