From e4597708d743e64efccccbd0eb531cc369dbfbe5 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 4 Dec 2024 16:59:01 +0500 Subject: [PATCH] simplify getting view 3d space If area is VIEW_3D then area.spaces.active is always VIEW_3D too. --- .../bonsai/bim/module/drawing/operator.py | 17 ++++------------- src/bonsai/bonsai/tool/blender.py | 6 ++---- 2 files changed, 6 insertions(+), 17 deletions(-) diff --git a/src/bonsai/bonsai/bim/module/drawing/operator.py b/src/bonsai/bonsai/bim/module/drawing/operator.py index f6bb367392..91e895f488 100644 --- a/src/bonsai/bonsai/bim/module/drawing/operator.py +++ b/src/bonsai/bonsai/bim/module/drawing/operator.py @@ -1396,10 +1396,7 @@ class CreateDrawing(bpy.types.Operator): for area in areas: if area.type != "VIEW_3D": continue - for space in area.spaces: - if space.type != "VIEW_3D": - continue - return space + return area.spaces.active def get_material_name(self, element: ifcopenshell.entity_instance) -> str: if hasattr(element, "Name") and element.Name: @@ -2298,10 +2295,7 @@ class SaveDrawingStyle(bpy.types.Operator, tool.Ifc.Operator): for area in context.screen.areas: if area.type != "VIEW_3D": continue - for space in area.spaces: - if space.type != "VIEW_3D": - continue - return space + return area.spaces.active class SaveDrawingStylesData(bpy.types.Operator, tool.Ifc.Operator): @@ -2436,14 +2430,11 @@ class ActivateDrawingStyle(bpy.types.Operator, tool.Ifc.Operator): if global_id in self.exclude_global_ids: obj.hide_viewport = True # Note: this breaks alt-H - def get_view_3d(self, context: bpy.types.Context) -> bpy.types.Space: + def get_view_3d(self, context: bpy.types.Context) -> bpy.types.SpaceView3D: for area in context.screen.areas: if area.type != "VIEW_3D": continue - for space in area.spaces: - if space.type != "VIEW_3D": - continue - return space + return area.spaces.active assert False, "Space is not found." diff --git a/src/bonsai/bonsai/tool/blender.py b/src/bonsai/bonsai/tool/blender.py index 54cd6f4870..b5878096d2 100644 --- a/src/bonsai/bonsai/tool/blender.py +++ b/src/bonsai/bonsai/tool/blender.py @@ -260,11 +260,9 @@ class Blender(bonsai.core.tool.Blender): return area @classmethod - def get_view3d_space(cls): + def get_view3d_space(cls) -> Union[bpy.types.SpaceView3D, None]: if area := cls.get_view3d_area(): - for space in area.spaces: - if space.type == "VIEW_3D": - return space + return area.spaces.active @classmethod def get_blender_prop_default_value(cls, props, prop_name: str) -> Any: