From 24c9ce6e14838927cbd175eebd494d9ee7ecbe98 Mon Sep 17 00:00:00 2001 From: tamasmeszaros Date: Tue, 26 Apr 2022 13:26:13 +0200 Subject: [PATCH] Fix the issue with point skipping in svg export --- src/libslic3r/Format/SL1_SVG.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/libslic3r/Format/SL1_SVG.cpp b/src/libslic3r/Format/SL1_SVG.cpp index b679018142..46e5f2acb4 100644 --- a/src/libslic3r/Format/SL1_SVG.cpp +++ b/src/libslic3r/Format/SL1_SVG.cpp @@ -91,18 +91,17 @@ void append_svg(std::string &buf, const Polygon &poly) buf += decimal_from(c.x(), intbuf); buf += " "sv; buf += decimal_from(c.y(), intbuf); - buf += " m"sv; + buf += " l "sv; for (const Point &p : poly) { Point d = p - c; - c = p; - // FIXME: I cannot figure out why this produces broken geometries -// if (d.x() == 0 && d.y() == 0) -// continue; + if (d.x() == 0 && d.y() == 0) + continue; buf += " "sv; buf += decimal_from(d.x(), intbuf); buf += " "sv; buf += decimal_from(d.y(), intbuf); + c = p; } buf += " z\""sv; // mark path as closed buf += " />\n"sv;