+ allow to set deflection of a mesh with exportStl
This commit is contained in:
parent
9414c938c6
commit
6d53d9d50c
|
@ -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());
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
//@}
|
||||
|
|
|
@ -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());
|
||||
|
|
Loading…
Reference in New Issue
Block a user