From 9e4092a05094836a4376581afdf6ad60244abdcb Mon Sep 17 00:00:00 2001 From: s-leger Date: Sun, 17 Nov 2019 03:15:46 +0100 Subject: [PATCH] Update export_ifc.py Retrieve product from raw name --- src/ifcblenderexport/blenderbim/export_ifc.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/ifcblenderexport/blenderbim/export_ifc.py b/src/ifcblenderexport/blenderbim/export_ifc.py index 9abed1d25b..ea6fdfb964 100644 --- a/src/ifcblenderexport/blenderbim/export_ifc.py +++ b/src/ifcblenderexport/blenderbim/export_ifc.py @@ -262,7 +262,12 @@ class IfcParser(): for index, product in enumerate(self.products): if product['raw'].name == name: return index - + + def get_product_from_raw_name(self, name): + for index, product in enumerate(self.products): + if product['raw'].name == name: + return product + def get_product(self, selected_product, metadata_override={}, attribute_override={}): object = selected_product['raw'] product = { @@ -1620,8 +1625,8 @@ class IfcExporter(): for related_void in related_voids: self.file.createIfcRelVoidsElement( ifcopenshell.guid.new(), self.owner_history, None, None, - self.ifc_parser.products[relate_object]['ifc'], - self.ifc_parser.products[related_void]['ifc'] + self.ifc_parser.get_product_from_raw_name(relate_object.name)['ifc'], + self.ifc_parser.get_product_from_raw_name(related_void.name)['ifc'] ) def relate_fills_elements(self): @@ -1629,8 +1634,8 @@ class IfcExporter(): for related_fill in related_fills: self.file.createIfcRelFillsElement( ifcopenshell.guid.new(), self.owner_history, None, None, - self.ifc_parser.products[relate_object]['ifc'], - self.ifc_parser.products[related_fill]['ifc'] + self.ifc_parser.get_product_from_raw_name(relate_object.name)['ifc'], + self.ifc_parser.get_product_from_raw_name(related_fill.name)['ifc'] ) def relate_elements_to_spatial_structures(self):