+ 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
This commit is contained in:
wmayer 2011-12-14 12:36:46 +00:00
parent 16b4578667
commit be8f843ce1

View File

@ -23,6 +23,7 @@
#include "PreCompiled.h"
#ifndef _PreComp_
# include <BRepBuilderAPI_Copy.hxx>
# include <BRepFilletAPI_MakeFillet.hxx>
# include <TopExp_Explorer.hxx>
# include <TopoDS.hxx>
@ -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<std::string>::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;
}