diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/cgaladv_minkowski2.cc | 2 | ||||
-rw-r--r-- | src/export.cc | 16 | ||||
-rw-r--r-- | src/openscad.cc | 8 |
3 files changed, 25 insertions, 1 deletions
diff --git a/src/cgaladv_minkowski2.cc b/src/cgaladv_minkowski2.cc index 2d64d16..f08e7d6 100644 --- a/src/cgaladv_minkowski2.cc +++ b/src/cgaladv_minkowski2.cc @@ -91,7 +91,7 @@ CGAL_Poly2 nef2p2(CGAL_Nef_polyhedron2 p) } //if (fit != E.faces_begin()) { if (points.size() != 0) { - PRINT("WARNING: minkowski() is not implemented for 2d objects with holes!"); + PRINT("WARNING: minkowski() and hull() is not implemented for 2d objects with holes!"); break; } diff --git a/src/export.cc b/src/export.cc index 6c427dd..862e82b 100644 --- a/src/export.cc +++ b/src/export.cc @@ -32,6 +32,7 @@ #include <QApplication> #include <QProgressDialog> #include <errno.h> +#include <fstream> #ifdef ENABLE_CGAL #include "CGAL_Nef_polyhedron.h" @@ -53,6 +54,17 @@ void export_stl(CGAL_Nef_polyhedron *root_N, std::ostream &output, QProgressDial setlocale(LC_NUMERIC, "C"); // Ensure radix is . (not ,) in output +<<<<<<< HEAD +======= + std::ofstream output(filename.toUtf8()); + if (!output.is_open()) { + PRINTA("Can't open STL file \"%1\" for STL export: %2", + filename, QString(strerror(errno))); + set_output_handler(NULL, NULL); + return; + } + +>>>>>>> master output << "solid OpenSCAD_Model\n"; int facet_count = 0; @@ -111,6 +123,10 @@ void export_stl(CGAL_Nef_polyhedron *root_N, std::ostream &output, QProgressDial } output << "endsolid OpenSCAD_Model\n"; +<<<<<<< HEAD +======= + output.close(); +>>>>>>> master setlocale(LC_NUMERIC, ""); // Set default locale } diff --git a/src/openscad.cc b/src/openscad.cc index 7ecf988..c4b0d5f 100644 --- a/src/openscad.cc +++ b/src/openscad.cc @@ -319,6 +319,10 @@ int main(int argc, char **argv) } if (stl_output_file) { + if (root_N->dim == 3 && !root_N->p3.is_simple()) { + fprintf(stderr, "Object isn't a valid 2-manifold! Modify your design.\n"); + exit(1); + } std::ofstream fstream(stl_output_file); if (!fstream.is_open()) { PRINTF("Can't open file \"%s\" for export", stl_output_file); @@ -330,6 +334,10 @@ int main(int argc, char **argv) } if (off_output_file) { + if (root_N->dim == 3 && !root_N->p3.is_simple()) { + fprintf(stderr, "Object isn't a valid 2-manifold! Modify your design.\n"); + exit(1); + } std::ofstream fstream(stl_output_file); if (!fstream.is_open()) { PRINTF("Can't open file \"%s\" for export", stl_output_file); |