From 593ce34e02bfa676949ebbfc0d368d74e4094968 Mon Sep 17 00:00:00 2001 From: PaddleStroke Date: Tue, 30 Jan 2024 10:53:03 +0100 Subject: [PATCH] Assembly: Fix annoying incomplete initial selections --- src/Mod/Assembly/JointObject.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/Mod/Assembly/JointObject.py b/src/Mod/Assembly/JointObject.py index 407222af86..5d43552914 100644 --- a/src/Mod/Assembly/JointObject.py +++ b/src/Mod/Assembly/JointObject.py @@ -1130,7 +1130,7 @@ class TaskAssemblyCreateJoint(QtCore.QObject): objs_names, element_name = UtilsAssembly.getObjsNamesAndElement( sel.ObjectName, sub_name ) - if len(self.current_selection) >= 2 or self.assembly.Name not in objs_names: + if self.assembly.Name not in objs_names: Gui.Selection.removeSelection(sel.Object, sub_name) continue @@ -1154,8 +1154,9 @@ class TaskAssemblyCreateJoint(QtCore.QObject): and selected_object == self.current_selection[0]["object"] ): # do not select several feature of the same object. - Gui.Selection.removeSelection(sel.Object, sub_name) - continue + self.current_selection.clear() + Gui.Selection.clearSelection() + return selection_dict = { "object": selected_object, @@ -1168,7 +1169,12 @@ class TaskAssemblyCreateJoint(QtCore.QObject): self.current_selection.append(selection_dict) - self.updateJoint() + # do not accept initial selection if we don't have 2 selected features + if len(self.current_selection) != 2: + self.current_selection.clear() + Gui.Selection.clearSelection() + else: + self.updateJoint() def createJointObject(self): type_index = self.form.jointType.currentIndex()