From ea3065dbc2ab5be53b1956fef8c345fa0cd8bb26 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 5 Apr 2023 16:27:57 +0500 Subject: [PATCH] Sync viewport visibility based on EPset_Drawing/Include Exclude #2613 It's not real time, it's triggered on using "Activate view" button in "Drawings" section. --- src/blenderbim/blenderbim/tool/drawing.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/blenderbim/blenderbim/tool/drawing.py b/src/blenderbim/blenderbim/tool/drawing.py index d6e938aeb2..8532998451 100644 --- a/src/blenderbim/blenderbim/tool/drawing.py +++ b/src/blenderbim/blenderbim/tool/drawing.py @@ -1240,3 +1240,13 @@ class Drawing(blenderbim.core.tool.Drawing): project_collection.children["Views"].children[camera.users_collection[0].name].hide_viewport = False bpy.data.collections.get(camera.users_collection[0].name).hide_render = False tool.Spatial.set_active_object(camera) + + # sync viewport objects visibility with selectors from EPset_Drawing/Include and /Exclude + drawing_elements = cls.get_drawing_elements(tool.Ifc.get_entity(camera)) + for element in tool.Ifc.get().by_type("IfcElement"): + if element.is_a() in ("IfcOpeningElement", ): + continue + + obj = tool.Ifc.get_object(element) + obj.hide_viewport = element not in drawing_elements + obj.hide_render = element not in drawing_elements