From 0ebb33da18f24891ace4e04a6ff525d7de3c71b2 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Mon, 7 Oct 2019 22:14:52 +1100 Subject: [PATCH] Improve error messaging for incorrect psets --- src/ifcblenderexport/io_export_ifc/export.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/ifcblenderexport/io_export_ifc/export.py b/src/ifcblenderexport/io_export_ifc/export.py index 30203d60b7..d8ff53d104 100644 --- a/src/ifcblenderexport/io_export_ifc/export.py +++ b/src/ifcblenderexport/io_export_ifc/export.py @@ -847,6 +847,10 @@ class IfcExporter(): for pset in self.ifc_parser.psets.values(): properties = self.create_pset_properties(pset) if not properties: + self.ifc_export_settings.logger.error( + 'No properties could be detected for the pset {}/{}'.format( + pset['attributes']['Name'], + pset['attributes']['Description'])) continue pset['attributes'].update({ 'GlobalId': ifcopenshell.guid.new(), @@ -875,6 +879,13 @@ class IfcExporter(): 'Name': name, 'NominalValue': nominal_value })) + invalid_pset_keys = [k for k in pset['raw'].keys() if k not in templates.keys()] + if invalid_pset_keys: + self.ifc_export_settings.logger.error( + 'One or more properties were invalid in the pset {}/{}: {}'.format( + pset['attributes']['Name'], + pset['attributes']['Description'], + invalid_pset_keys)) return properties def cast_to_base_type(self, type, value):