From 0604c818a12b94bd23bc8d970ba2c2635bbf90b4 Mon Sep 17 00:00:00 2001 From: Mathieu GRENET Date: Thu, 28 Aug 2025 00:38:03 +0200 Subject: [PATCH] Assembly: Fix inconsistent positioning in distance joint validation When validating distance joints, parts would move from preview position to a different valid solution. This was caused by preSolve() being called inconsistently - applied during offset changes for all joint types, but distance joints are not in JointUsingPreSolve list. Fix: Only call preSolve() for joint types that are designed to use it, matching the logic used elsewhere in the codebase. --- src/Mod/Assembly/JointObject.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Mod/Assembly/JointObject.py b/src/Mod/Assembly/JointObject.py index 4cfeb03152..b7ffb3c902 100644 --- a/src/Mod/Assembly/JointObject.py +++ b/src/Mod/Assembly/JointObject.py @@ -620,7 +620,7 @@ class Joint: self.updateJCSPlacements(joint) - presolved = self.preSolve(joint, False) + presolved = joint.JointType in JointUsingPreSolve and self.preSolve(joint, False) isAssembly = self.getAssembly(joint).Type == "Assembly" if isAssembly and not presolved: