From 66ed95fbc183813fe48740ffddfbc969c2802681 Mon Sep 17 00:00:00 2001 From: Gorgious56 Date: Tue, 18 Jul 2023 14:00:30 +0200 Subject: [PATCH] Add ifc modifier utilities to tool.Blender --- src/blenderbim/blenderbim/tool/blender.py | 29 +++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/blenderbim/blenderbim/tool/blender.py b/src/blenderbim/blenderbim/tool/blender.py index b829b9f16e..c6f08fe548 100644 --- a/src/blenderbim/blenderbim/tool/blender.py +++ b/src/blenderbim/blenderbim/tool/blender.py @@ -456,3 +456,32 @@ class Blender: return bpy.ops.object.mode_set(mode="EDIT_GPENCIL", toggle=True) else: return {"CANCELLED"} + + class Modifier: + @classmethod + def is_railing(cls, element): + return tool.Pset.get_element_pset(element, "BBIM_Railing") + + @classmethod + def is_roof(cls, element): + return tool.Pset.get_element_pset(element, "BBIM_Roof") + + @classmethod + def is_window(cls, element): + return tool.Pset.get_element_pset(element, "BBIM_Window") + + @classmethod + def is_door(cls, element): + return tool.Pset.get_element_pset(element, "BBIM_Door") + + @classmethod + def is_stair(cls, element): + return tool.Pset.get_element_pset(element, "BBIM_Stair") + + @classmethod + def is_editing_parameters(cls, obj): + return obj.BIMRailingProperties.is_editing or obj.BIMRoofProperties.is_editing + + @classmethod + def is_modifier_with_non_editable_path(cls, element): + return cls.is_stair(element) or cls.is_door(element) or cls.is_window(element)