From be8f843ce189a1b821f3cffb05e39623e80b14c0 Mon Sep 17 00:00:00 2001 From: wmayer Date: Wed, 14 Dec 2011 12:36:46 +0000 Subject: [PATCH] + do not use geometric transform in fillet feature git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5300 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d --- src/Mod/PartDesign/App/FeatureFillet.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Mod/PartDesign/App/FeatureFillet.cpp b/src/Mod/PartDesign/App/FeatureFillet.cpp index 8ddaa08542..b5aaddcd27 100644 --- a/src/Mod/PartDesign/App/FeatureFillet.cpp +++ b/src/Mod/PartDesign/App/FeatureFillet.cpp @@ -23,6 +23,7 @@ #include "PreCompiled.h" #ifndef _PreComp_ +# include # include # include # include @@ -76,10 +77,15 @@ App::DocumentObjectExecReturn *Fillet::execute(void) this->positionByBase(); try { - BRepFilletAPI_MakeFillet mkFillet(base->Shape.getValue()); + BRepBuilderAPI_Copy copy(base->Shape.getValue()); + TopoDS_Shape myShape = copy.Shape(); + TopLoc_Location aLoc; + myShape.Location(aLoc); + Part::TopoShape myTopShape(myShape); + BRepFilletAPI_MakeFillet mkFillet(myShape); for (std::vector::const_iterator it= SubVals.begin();it!=SubVals.end();++it) { - TopoDS_Edge edge = TopoDS::Edge(TopShape.getSubShape(it->c_str())); + TopoDS_Edge edge = TopoDS::Edge(myTopShape.getSubShape(it->c_str())); mkFillet.Add(radius, edge); } @@ -92,7 +98,6 @@ App::DocumentObjectExecReturn *Fillet::execute(void) return new App::DocumentObjectExecReturn("Resulting shape is null"); Part::TopoShape newShape(shape); - newShape.transformGeometry(this->Placement.getValue().inverse().toMatrix()); this->Shape.setValue(newShape); return App::DocumentObject::StdReturn; }