predefined Pset_ and Qto_ sets in Express schema and IfcOS C++ API? #3863
Replies: 2 comments 3 replies
-
IFC defines a few classes to define property / quantity set templates, such as IfcPropertySetTemplate. There are certain rules to decide how to parse these to see which templates are applicable to which classes. This is implemented in Python in the util/pset.py module. The buildingSMART reserved prefix templates (Pset_ and Qto_) are provided in both IFC and XML format (though in the latest version, only XML, though I hope to change that by submitting our conversion of it). It's stored here: https://github.com/IfcOpenShell/IfcOpenShell/tree/v0.7.0/src/ifcopenshell-python/ifcopenshell/util/schema in the *.ifc files (not the JSON files, those are only used for docstrings). Note that anybody can define their own pset / qto templates - so an XML parser will not be enough as these will often be in IFC itself. |
Beta Was this translation helpful? Give feedback.
-
Understood, the IFC schema provides base entities like IfcPropertySetTemplate to build custom property sets. But shouldn't the predefined official I find that a bit inconsistent that these quasi-standards are only provided in a different schema language (express vs xml) and are defined separately to the base IFC schema. In connection with IfcOS the thing I'm looking for is, if the official Right now, I can define a |
Beta Was this translation helpful? Give feedback.
-
How are the multiple predefined Pset_ and Qto_ sets defined in the IFC express schema and as a result in the IfcOS C++ API?
I was looking through the schema and code base and found no definitions of these.
In the schema (here in IFC4X3_ADD2) I only found the abstract
IfcPropertySetTemplateTypeEnum
which defines the super types of e.g. Pset_WallCommon, but not the properties defined for this Pset:Thus the generated C++ files also do not have the exact definitions of Pset_ and Qto_ or some classes to represent these. The only definition in the IfcOS source is under the
src/ifcopenshell-python/ifcopenshell/util/schema
folder with aifc4x3_properties.json
file which seems to be only available to the IfcOS Python API.The official source for the predefined Pset_ and Qto_ is apparently a downloadable .zip file from the buildingSmart IFC specifications database with the single specification as a .xml file.
Is there a way to bring the Pset_ and Qto_ definitions to the C++ API as well? Maybe by writing a separate XmlParser?
Beta Was this translation helpful? Give feedback.
All reactions