From 39792f077352b248374939dd5b4dc02eb40a5c96 Mon Sep 17 00:00:00 2001 From: logari81 Date: Fri, 18 Jan 2013 09:51:50 +0100 Subject: [PATCH] PartDesign: Fix mirrored feature with respect to custom sketch axis --- src/Mod/PartDesign/App/FeatureMirrored.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Mod/PartDesign/App/FeatureMirrored.cpp b/src/Mod/PartDesign/App/FeatureMirrored.cpp index 29aa2bc53..ddf655c71 100644 --- a/src/Mod/PartDesign/App/FeatureMirrored.cpp +++ b/src/Mod/PartDesign/App/FeatureMirrored.cpp @@ -78,8 +78,11 @@ const std::list Mirrored::getTransformations(const std::vectorgetAxis(Part::Part2DObject::N_Axis); else if (subStrings[0].size() > 4 && subStrings[0].substr(0,4) == "Axis") { int AxId = std::atoi(subStrings[0].substr(4,4000).c_str()); - if (AxId >= 0 && AxId < refSketch->getAxisCount()) + if (AxId >= 0 && AxId < refSketch->getAxisCount()) { axis = refSketch->getAxis(AxId); + axis.setBase(axis.getBase() + 0.5 * axis.getDirection()); + axis.setDirection(Base::Vector3d(-axis.getDirection().y, axis.getDirection().x, axis.getDirection().z)); + } } axis *= refSketch->Placement.getValue(); axbase = gp_Pnt(axis.getBase().x, axis.getBase().y, axis.getBase().z);