From f68f60832c2a1fa44ce38b4dd185dc2fa122e0f8 Mon Sep 17 00:00:00 2001 From: Gorgious56 Date: Wed, 7 Jun 2023 11:21:43 +0200 Subject: [PATCH] Fix profile based geometry not re-generating properly when exiting edit mode and the profile geometry wasn't modified --- .../blenderbim/bim/module/geometry/operator.py | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/geometry/operator.py b/src/blenderbim/blenderbim/bim/module/geometry/operator.py index 329cfaeec9..733d47da75 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/operator.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/operator.py @@ -804,7 +804,6 @@ class OverrideModeSetEdit(bpy.types.Operator): if usage_type == "PROFILE": if len(context.selected_objects) == 1: bpy.ops.bim.hotkey(hotkey="A_E", description="") - obj.data.BIMMeshProperties.mesh_checksum = tool.Geometry.get_mesh_checksum(obj.data) return {"FINISHED"} else: self.report({"INFO"}, "Only a single profile-based representation can be edited at a time.") @@ -818,7 +817,6 @@ class OverrideModeSetEdit(bpy.types.Operator): ): if len(context.selected_objects) == 1: bpy.ops.bim.hotkey(hotkey="S_E", description="") - obj.data.BIMMeshProperties.mesh_checksum = tool.Geometry.get_mesh_checksum(obj.data) return {"FINISHED"} else: self.report({"INFO"}, "Only a single profile-based representation can be edited at a time.") @@ -939,13 +937,12 @@ class OverrideModeSetObject(bpy.types.Operator): if tool.Profile.is_editing_profile(): if tool.Pset.get_element_pset(element, "BBIM_Railing"): bpy.ops.bim.cad_hotkey(hotkey="S_Q") - elif obj.data.BIMMeshProperties.mesh_checksum != tool.Geometry.get_mesh_checksum(obj.data): - if tool.Pset.get_element_pset(element, "BBIM_Roof"): - bpy.ops.bim.cad_hotkey(hotkey="S_Q") - elif tool.Model.get_usage_type(element): - bpy.ops.bim.edit_extrusion_axis() - else: - bpy.ops.bim.edit_extrusion_profile() + elif tool.Pset.get_element_pset(element, "BBIM_Roof"): + bpy.ops.bim.cad_hotkey(hotkey="S_Q") + elif tool.Model.get_usage_type(element): + bpy.ops.bim.edit_extrusion_axis() + else: + bpy.ops.bim.edit_extrusion_profile() return self.execute(context) elif obj.data.BIMMeshProperties.ifc_definition_id: if not tool.Geometry.has_geometric_data(obj):