From bdbe988dc782eb78f1190b1087194e812d1cf250 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 12 Jul 2020 11:06:14 +1000 Subject: [PATCH] Don't bother creation relationships to invalid psets. An invalid pset can occur when the pset doesn't contain any properties. This can happen when all properties are not part of the pset definition template. This may lead to unwanted data loss, but strictly enforces buildingSMART pset definitions. --- src/ifcblenderexport/blenderbim/bim/export_ifc.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/ifcblenderexport/blenderbim/bim/export_ifc.py b/src/ifcblenderexport/blenderbim/bim/export_ifc.py index 6b678aed9e..29f10a8eee 100644 --- a/src/ifcblenderexport/blenderbim/bim/export_ifc.py +++ b/src/ifcblenderexport/blenderbim/bim/export_ifc.py @@ -2627,10 +2627,11 @@ class IfcExporter(): def relate_objects_to_psets(self): for relating_property_key, related_objects in self.ifc_parser.rel_defines_by_pset.items(): - self.file.createIfcRelDefinesByProperties( - ifcopenshell.guid.new(), self.owner_history, None, None, - [o['ifc'] for o in related_objects], - self.ifc_parser.psets[relating_property_key]['ifc']) + if self.ifc_parser.psets[relating_property_key]['ifc']: + self.file.createIfcRelDefinesByProperties( + ifcopenshell.guid.new(), self.owner_history, None, None, + [o['ifc'] for o in related_objects], + self.ifc_parser.psets[relating_property_key]['ifc']) def relate_objects_to_materials(self): if not self.ifc_export_settings.has_representations: