diff --git a/src/export.cc b/src/export.cc
index 87916c4f..40b16d5b 100644
--- a/src/export.cc
+++ b/src/export.cc
@@ -165,10 +165,19 @@ void export_dxf(CGAL_Nef_polyhedron *root_N, QString filename, QProgressDialog *
return;
}
- fprintf(f, " 0\n");
- fprintf(f, "SECTION\n");
- fprintf(f, " 2\n");
- fprintf(f, "ENTITIES\n");
+ setlocale(LC_NUMERIC, "C"); // Ensure radix is . (not ,) in output
+ // Some importers (e.g. Inkscape) needs a BLOCKS section to be present
+ fprintf(f, " 0\n"
+ "SECTION\n"
+ " 2\n"
+ "BLOCKS\n"
+ " 0\n"
+ "ENDSEC\n");
+
+ fprintf(f, " 0\n"
+ "SECTION\n"
+ " 2\n"
+ "ENTITIES\n");
DxfData dd(*root_N);
for (int i=0; i
y;
fprintf(f, " 0\n");
fprintf(f, "LINE\n");
+ // Some importers (e.g. Inkscape) needs a layer to be specified
+ fprintf(f, " 8\n");
+ fprintf(f, "0\n");
fprintf(f, " 10\n");
fprintf(f, "%f\n", x1);
fprintf(f, " 11\n");
@@ -195,10 +207,20 @@ void export_dxf(CGAL_Nef_polyhedron *root_N, QString filename, QProgressDialog *
fprintf(f, " 0\n");
fprintf(f, "ENDSEC\n");
+ // Some importers (e.g. Inkscape) needs an OBJECTS section with a DICTIONARY entry
+ fprintf(f, " 0\n"
+ "SECTION\n"
+ " 2\n"
+ "OBJECTS\n"
+ " 0\n"
+ "DICTIONARY\n"
+ " 0\n"
+ "ENDSEC\n");
fprintf(f, " 0\n");
fprintf(f, "EOF\n");
fclose(f);
+ setlocale(LC_NUMERIC, ""); // Set default locale
}
#endif