From fe5e199b79dd02e312d8f001d7faf6adb2dc9fe9 Mon Sep 17 00:00:00 2001 From: Marius Kintel Date: Sun, 5 Jun 2011 19:41:47 +0200 Subject: Revert "Output LWPOLYLINE objects instead of LINE for DXF export. Patch submitted by Lars Kruse" This reverts commit 060a6c654de5ebd14ccb889881fa6c4d3fb9d763. The reason is that the output DXF won't import in a number of applications due to a malformed DXF (AutoCAD, Solidworks). The correct fix is probably to use a DXF library to generate a correct DXF. This is only a case for more recent (R14+) versions of DXF, e.g. to be able to use the LWPOLYLINE entity. diff --git a/src/export.cc b/src/export.cc index 884e139..8e0ab16 100644 --- a/src/export.cc +++ b/src/export.cc @@ -167,20 +167,6 @@ void export_dxf(CGAL_Nef_polyhedron *root_N, QString filename, QProgressDialog * } setlocale(LC_NUMERIC, "C"); // Ensure radix is . (not ,) in output - - // Some importers (e.g. QCAD) needs a HEADER section specifying AutoCAD 2000 as - // the file format for LWPOLYLINE entities to work - fprintf(f, " 0\n" - "SECTION\n" - " 2\n" - "HEADER\n" - " 9\n" - "$ACADVER\n" - " 1\n" - "AC1015\n" - " 0\n" - "ENDSEC\n"); - // Some importers (e.g. Inkscape) needs a BLOCKS section to be present fprintf(f, " 0\n" "SECTION\n" @@ -197,29 +183,26 @@ void export_dxf(CGAL_Nef_polyhedron *root_N, QString filename, QProgressDialog * DxfData dd(*root_N); for (int i=0; ix; + double y1 = p1->y; + double x2 = p2->x; + double y2 = p2->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", p->x); + fprintf(f, "%f\n", x1); + fprintf(f, " 11\n"); + fprintf(f, "%f\n", x2); fprintf(f, " 20\n"); - fprintf(f, "%f\n", p->y); + fprintf(f, "%f\n", y1); + fprintf(f, " 21\n"); + fprintf(f, "%f\n", y2); } } -- cgit v0.10.1