From 124ccf04041e0dd99b8c1d9fc4795ae6193d4636 Mon Sep 17 00:00:00 2001 From: Gorgious Date: Thu, 18 Nov 2021 10:38:17 +0100 Subject: [PATCH] (slightly) Optimise batch removing objects --- src/blenderbim/test/bim/bootstrap.py | 6 ++---- src/blenderbim/test/bim/test_feature.py | 6 ++---- src/ifcpatch/ifcpatch/recipes/FixArchiCADToRevitSpaces.py | 3 +-- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/blenderbim/test/bim/bootstrap.py b/src/blenderbim/test/bim/bootstrap.py index adc8f0492f..326e144e36 100644 --- a/src/blenderbim/test/bim/bootstrap.py +++ b/src/blenderbim/test/bim/bootstrap.py @@ -41,8 +41,7 @@ class NewFile: IfcStore.purge() bpy.ops.wm.read_homefile(app_template="") if bpy.data.objects: - while bpy.data.objects: - bpy.data.objects.remove(bpy.data.objects[0]) + bpy.data.batch_remove(bpy.data.objects) bpy.ops.outliner.orphans_purge(do_local_ids=True, do_linked_ids=True, do_recursive=True) blenderbim.bim.handler.setDefaultProperties(None) @@ -52,8 +51,7 @@ class NewIfc: def setup(self): IfcStore.purge() bpy.ops.wm.read_homefile(app_template="") - while bpy.data.objects: - bpy.data.objects.remove(bpy.data.objects[0]) + bpy.data.batch_remove(bpy.data.objects) bpy.ops.outliner.orphans_purge(do_local_ids=True, do_linked_ids=True, do_recursive=True) blenderbim.bim.handler.setDefaultProperties(None) bpy.ops.bim.create_project() diff --git a/src/blenderbim/test/bim/test_feature.py b/src/blenderbim/test/bim/test_feature.py index cc9a347f39..82813b2e7b 100644 --- a/src/blenderbim/test/bim/test_feature.py +++ b/src/blenderbim/test/bim/test_feature.py @@ -51,8 +51,7 @@ def an_empty_ifc_project(): IfcStore.purge() bpy.ops.wm.read_homefile(app_template="") if len(bpy.data.objects) > 0: - while bpy.data.objects: - bpy.data.objects.remove(bpy.data.objects[0]) + bpy.data.batch_remove(bpy.data.objects) bpy.ops.outliner.orphans_purge(do_local_ids=True, do_linked_ids=True, do_recursive=True) @@ -61,8 +60,7 @@ def an_empty_ifc_project(): IfcStore.purge() bpy.ops.wm.read_homefile(app_template="") if len(bpy.data.objects) > 0: - while bpy.data.objects: - bpy.data.objects.remove(bpy.data.objects[0]) + bpy.data.batch_remove(bpy.data.objects) bpy.ops.outliner.orphans_purge(do_local_ids=True, do_linked_ids=True, do_recursive=True) bpy.ops.bim.create_project() diff --git a/src/ifcpatch/ifcpatch/recipes/FixArchiCADToRevitSpaces.py b/src/ifcpatch/ifcpatch/recipes/FixArchiCADToRevitSpaces.py index 0f1386d668..d83feb0895 100644 --- a/src/ifcpatch/ifcpatch/recipes/FixArchiCADToRevitSpaces.py +++ b/src/ifcpatch/ifcpatch/recipes/FixArchiCADToRevitSpaces.py @@ -35,8 +35,7 @@ class Patcher: from mathutils import Vector, Matrix if len(bpy.data.objects) > 0: - while bpy.data.objects: - bpy.data.objects.remove(bpy.data.objects[0]) + bpy.data.batch_remove(bpy.data.objects) bpy.ops.outliner.orphans_purge(do_local_ids=True, do_linked_ids=True, do_recursive=True) bpy.ops.bim.load_project(filepath=self.src)