From a445b01869c8528d6264298e158afcae94f21e30 Mon Sep 17 00:00:00 2001 From: PaddleStroke Date: Tue, 8 Oct 2024 18:01:27 +0200 Subject: [PATCH] Assembly: Fix joint labels bad auto-rename issue. --- src/Mod/Assembly/JointObject.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/Mod/Assembly/JointObject.py b/src/Mod/Assembly/JointObject.py index c2da156177..aaac54feaa 100644 --- a/src/Mod/Assembly/JointObject.py +++ b/src/Mod/Assembly/JointObject.py @@ -559,9 +559,15 @@ class Joint: return obj return None - def setJointType(self, joint, jointType): - joint.JointType = jointType - joint.Label = jointType.replace(" ", "") + def setJointType(self, joint, newType): + oldType = joint.JointType + joint.JointType = newType + + # try to replace the joint type in the label. + tr_old_type = TranslatedJointTypes[JointTypes.index(oldType)] + tr_new_type = TranslatedJointTypes[JointTypes.index(newType)] + if tr_old_type in joint.Label: + joint.Label = joint.Label.replace(tr_old_type, tr_new_type) def onChanged(self, joint, prop): """Do something when a property has changed""" @@ -1351,7 +1357,6 @@ class TaskAssemblyCreateJoint(QtCore.QObject): self.form.jointType.setCurrentIndex(jointTypeIndex) self.jType = JointTypes[self.form.jointType.currentIndex()] - self.form.jointType.currentIndexChanged.connect(self.onJointTypeChanged) self.form.distanceSpinbox.valueChanged.connect(self.onDistanceChanged) self.form.distanceSpinbox2.valueChanged.connect(self.onDistance2Changed) @@ -1398,6 +1403,8 @@ class TaskAssemblyCreateJoint(QtCore.QObject): self.adaptUi() + self.form.jointType.currentIndexChanged.connect(self.onJointTypeChanged) + if self.creating: # This has to be after adaptUi so that properties default values are adapted # if needed. For instance for gears adaptUi will prevent radii from being 0