From e3c36a28f26cef3d7432f0dd6ed1b92038d01d49 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 15 May 2020 16:39:40 +1000 Subject: [PATCH] Fix bug where type mapped representations were not isolated to a single IFC --- src/ifcblenderexport/blenderbim/bim/import_ifc.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/ifcblenderexport/blenderbim/bim/import_ifc.py b/src/ifcblenderexport/blenderbim/bim/import_ifc.py index 75156f90ed..097d31e102 100644 --- a/src/ifcblenderexport/blenderbim/bim/import_ifc.py +++ b/src/ifcblenderexport/blenderbim/bim/import_ifc.py @@ -427,7 +427,11 @@ class IfcImporter(): mesh = None if representation_map: shape = ifcopenshell.geom.create_shape(self.settings, representation_map.MappedRepresentation) - mesh = self.create_mesh(element, shape) + mesh_name = f'mesh-{shape.id}' + mesh = self.meshes.get(mesh_name) + if mesh is None: + mesh = self.create_mesh(element, shape) + self.meshes[mesh_name] = mesh obj = bpy.data.objects.new(self.get_name(element), mesh) if mesh: self.material_creator.create(element, obj, mesh) @@ -499,8 +503,6 @@ class IfcImporter(): if element.is_a('IfcReinforcingBar'): mesh = self.create_mesh(element, shape, is_curve=True) mesh.bevel_depth = self.native_elements[element.GlobalId]['radius'] - elif bpy.data.meshes.get(shape.geometry.id): - mesh = bpy.data.meshes.get(shape.geometry.id) else: mesh = self.create_mesh(element, shape) self.meshes[mesh_name] = mesh