From eeb27bb1c7ffcd039744a3c55e62aa6b20769bcc Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 24 Feb 2021 12:51:50 +1100 Subject: [PATCH] Fix regression in last release where the file was loaded twice during import, which led to increased import times --- src/ifcblenderexport/blenderbim/bim/import_ifc.py | 4 ++-- src/ifcblenderexport/blenderbim/bim/module/context/data.py | 5 +---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/ifcblenderexport/blenderbim/bim/import_ifc.py b/src/ifcblenderexport/blenderbim/bim/import_ifc.py index 4a05179b19..dd9bf1d6bd 100644 --- a/src/ifcblenderexport/blenderbim/bim/import_ifc.py +++ b/src/ifcblenderexport/blenderbim/bim/import_ifc.py @@ -1104,7 +1104,8 @@ class IfcImporter: def set_ifc_file(self): bpy.context.scene.BIMProperties.ifc_file = self.ifc_import_settings.input_file - IfcStore.path = "self.ifc_import_settings.input_file" + IfcStore.file = self.file + IfcStore.path = self.ifc_import_settings.input_file def calculate_unit_scale(self): self.unit_scale = ifcopenshell.util.unit.calculate_unit_scale(self.file) @@ -1527,7 +1528,6 @@ class IfcImporter: return parent @ self.get_axis2placement(plc.RelativePlacement) def set_default_context(self): - ContextData.load() for subcontext in self.file.by_type("IfcGeometricRepresentationSubContext"): if subcontext.ContextIdentifier == "Body": bpy.context.scene.BIMProperties.contexts = str(subcontext.id()) diff --git a/src/ifcblenderexport/blenderbim/bim/module/context/data.py b/src/ifcblenderexport/blenderbim/bim/module/context/data.py index 200b777ff5..08fe2c1fe9 100644 --- a/src/ifcblenderexport/blenderbim/bim/module/context/data.py +++ b/src/ifcblenderexport/blenderbim/bim/module/context/data.py @@ -18,10 +18,7 @@ class Data: cls.contexts = {} for context in file.by_type("IfcGeometricRepresentationContext", include_subtypes=False): subcontexts = {} - # See bug #1224 for why we don't use HasSubContexts - for subcontext in file.by_type("IfcGeometricRepresentationSubContext"): - if subcontext.ParentContext != context: - continue + for subcontext in context.HasSubContexts: subcontexts[int(subcontext.id())] = { "ContextType": subcontext.ContextType, "ContextIdentifier": subcontext.ContextIdentifier,