Migrating properties to standard IFC P/Q sets
Hi All,
I'm managing some projects, where the required properties are assigned to variuos property sets. I would like to migrate or copy the values to a standard IFC property and property set, if applicable. I do have Python code, copying values and performing unit conversions (eg. where Length or Power is provided as IfcText or IfcLabel).
Is there any way to find the proper standard P_set or Q_set, where the property should be assigned to? I would like not to reinvent the wheel, if possible. Plan B is Python dictionaries for every IFC version, MVD and flavour ...
Comments
I'm not sure i followed your question, but if you go here, and here, you can see the various standard psets for IFC4.
And for IFC4x3 you can go here.
If I understand you properly, what you need is basically the building smart data dictionary - mapping between different parameter standards.
Is your source file in some known parameter standard?
Thank you for the response.
I've found ifcopenshell.ifcopenshell_wrapper.schema_by_name() and util.pset.PsetQto() methods in the IfcOpenShell, so I think I will be able to map the properties.
The parameters do not appear in a bSDD schema, but I do know their names and descriptions. These models are created from 5+ year old agreements, when the company was in the BIM learning process.
The problem is that a known property must be mapped to a different P/Q set, depending on the IFC element type. For example, "V" must be mapped either to „Qset_WallBaseQuantities.NetVolume" or „Qset_SlabBaseQuantities.NetVolume."
Still have no working idea how to describe mapping rules. Maybe the reverse notation, like [property]{.p/q_set}{.element_type} will work. This would allow mapping "V" to "*.NetVolume", "Qset_*Quantities.NetVolume" or "IfcWallType->Qset_*Quantities.NetVolume"