E
by ejs on 21 Nov 2024, edited 22 Nov 2024
#
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 ...
T
by theoryshaw on 21 Nov 2024
#
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.
J
by JanF on 22 Nov 2024
#
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?
E
by ejs on 22 Nov 2024, edited 22 Nov 2024
#
Thank you for the response.
I've found _ifcopenshell.ifcopenshell_wrapper.schema_byname() 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}{.elementtype} will work. This would allow mapping "V" to "*.NetVolume", "Qset_*Quantities.NetVolume" or "IfcWallType->Qset\*Quantities.NetVolume"