diff --git a/src/Mod/Part/App/TopoShape.cpp b/src/Mod/Part/App/TopoShape.cpp index 6ef33e341..31d8a3d49 100644 --- a/src/Mod/Part/App/TopoShape.cpp +++ b/src/Mod/Part/App/TopoShape.cpp @@ -678,7 +678,7 @@ void TopoShape::write(const char *FileName) const } else if (File.hasExtension("stl")) { // read brep-file - exportStl(File.filePath().c_str()); + exportStl(File.filePath().c_str(),0); } else{ throw Base::Exception("Unknown extension"); @@ -754,11 +754,13 @@ void TopoShape::dump(std::ostream& out) const BRepTools::Dump(this->_Shape, out); } -void TopoShape::exportStl(const char *filename) const +void TopoShape::exportStl(const char *filename, double deflection) const { StlAPI_Writer writer; - //writer.RelativeMode() = false; - //writer.SetDeflection(0.1); + if (deflection > 0) { + writer.RelativeMode() = false; + writer.SetDeflection(deflection); + } QString fn = QString::fromUtf8(filename); writer.Write(this->_Shape,(const Standard_CString)fn.toLocal8Bit()); } diff --git a/src/Mod/Part/App/TopoShape.h b/src/Mod/Part/App/TopoShape.h index 30a10ce82..2f9067b04 100644 --- a/src/Mod/Part/App/TopoShape.h +++ b/src/Mod/Part/App/TopoShape.h @@ -128,7 +128,7 @@ public: void exportStep(const char *FileName) const; void exportBrep(const char *FileName) const; void exportBrep(std::ostream&) const; - void exportStl (const char *FileName) const; + void exportStl (const char *FileName, double deflection) const; void exportFaceSet(double, double, std::ostream&) const; void exportLineSet(std::ostream&) const; //@} diff --git a/src/Mod/Part/App/TopoShapePyImp.cpp b/src/Mod/Part/App/TopoShapePyImp.cpp index b146180ac..8c70c5009 100644 --- a/src/Mod/Part/App/TopoShapePyImp.cpp +++ b/src/Mod/Part/App/TopoShapePyImp.cpp @@ -424,12 +424,13 @@ PyObject* TopoShapePy::importBrepFromString(PyObject *args) PyObject* TopoShapePy::exportStl(PyObject *args) { char* filename; - if (!PyArg_ParseTuple(args, "s", &filename)) + double deflection = 0; + if (!PyArg_ParseTuple(args, "s|d", &filename, &deflection)) return NULL; try { // write stl file - getTopoShapePtr()->exportStl(filename); + getTopoShapePtr()->exportStl(filename, deflection); } catch (const Base::Exception& e) { PyErr_SetString(PyExc_Exception,e.what());