From d6a3d1b140893ffe9992a3cf19dab717e8a15b10 Mon Sep 17 00:00:00 2001 From: DeepSOIC Date: Wed, 20 Apr 2016 01:51:22 +0300 Subject: [PATCH] Attacher: fix superPlacement applied twice in some cases superPlacement was applied twice on line and point attachment modes that re-use 3d attachment modes code. Fixed. --- src/Mod/Part/App/Attacher.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Mod/Part/App/Attacher.cpp b/src/Mod/Part/App/Attacher.cpp index ce5c2b839..387bb0063 100644 --- a/src/Mod/Part/App/Attacher.cpp +++ b/src/Mod/Part/App/Attacher.cpp @@ -1509,6 +1509,7 @@ Base::Placement AttachEngineLine::calculateAttachedPlacement(Base::Placement ori AttachEngine3D attacher3D; attacher3D.setUp(*this); attacher3D.mapMode = mmode; + attacher3D.superPlacement = Base::Placement(); //superplacement is applied separately here, afterwards. So we are resetting it in sub-attacher to avoid applying it twice! plm = attacher3D.calculateAttachedPlacement(origPlacement); plm *= presuperPlacement; } @@ -1677,6 +1678,7 @@ Base::Placement AttachEnginePoint::calculateAttachedPlacement(Base::Placement or AttachEngine3D attacher3D; attacher3D.setUp(*this); attacher3D.mapMode = mmode; + attacher3D.superPlacement = Base::Placement(); //superplacement is applied separately here, afterwards. So we are resetting it in sub-attacher to avoid applying it twice! plm = attacher3D.calculateAttachedPlacement(origPlacement); } plm *= this->superPlacement;