From fa8b12497c2d5d7f5ebf324244492e764285210b Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 5 May 2020 09:35:15 +1000 Subject: [PATCH] Reuse materials on subsequent imports if they already exist --- src/ifcblenderexport/blenderbim/bim/import_ifc.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/ifcblenderexport/blenderbim/bim/import_ifc.py b/src/ifcblenderexport/blenderbim/bim/import_ifc.py index c374d02e6e..de7a097f60 100644 --- a/src/ifcblenderexport/blenderbim/bim/import_ifc.py +++ b/src/ifcblenderexport/blenderbim/bim/import_ifc.py @@ -70,8 +70,12 @@ class MaterialCreator(): material_name = self.get_material_name(styled_item) if material_name not in self.materials: - self.materials[material_name] = bpy.data.materials.new(material_name) - self.parse_styled_item(styled_item, self.materials[material_name]) + material = bpy.data.materials.get(material_name) + if material: + self.materials[material_name] = material + else: + self.materials[material_name] = bpy.data.materials.new(material_name) + self.parse_styled_item(styled_item, self.materials[material_name]) if self.ifc_import_settings.should_treat_styled_item_as_material: # Revit workaround: since Revit/DDS-CAD exports all material