diff --git a/src/Mod/Assembly/App/AssemblyUtils.cpp b/src/Mod/Assembly/App/AssemblyUtils.cpp index 8ab3c064fd..064b777ce0 100644 --- a/src/Mod/Assembly/App/AssemblyUtils.cpp +++ b/src/Mod/Assembly/App/AssemblyUtils.cpp @@ -199,11 +199,11 @@ DistanceType getDistanceType(App::DocumentObject* joint) return DistanceType::LinePlane; } - // Face + datum or unknown + datum → PlanePlane - // Datum on Reference1 for consistency with Face+Face path. - if (!datum1) { - swapJCS(joint); // move datum from Ref2 → Ref1 - } + // Face + datum or unknown + datum → PlanePlane. + // No swap needed: PlanarConstraint is symmetric (uses both + // z_i and z_j), and preserving the original Reference order + // keeps the initial Placement values consistent so the solver + // stays in the correct orientation branch. return DistanceType::PlanePlane; }