From e5ebfac3ce39f507a48953ae1d2235d31315e9d0 Mon Sep 17 00:00:00 2001 From: Marius Stanciu Date: Sun, 3 Feb 2019 02:34:21 +0200 Subject: [PATCH] - bug solved in a message display showed when there are Gerber Parser errors --- camlib.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/camlib.py b/camlib.py index c05a4169..64a97182 100644 --- a/camlib.py +++ b/camlib.py @@ -2454,9 +2454,11 @@ class Gerber (Geometry): region = Polygon() else: region = Polygon(path) + if not region.is_valid: if not follow: region = region.buffer(0, int(self.steps_per_circle / 4)) + if not region.is_empty: poly_buffer.append(region) @@ -2838,6 +2840,7 @@ class Gerber (Geometry): if self.use_buffer_for_union: log.debug("Union by buffer...") + new_poly = MultiPolygon(poly_buffer) new_poly = new_poly.buffer(0.00000001) new_poly = new_poly.buffer(-0.00000001) @@ -2858,7 +2861,8 @@ class Gerber (Geometry): #print traceback.format_exc() log.error("Gerber PARSING FAILED. Line %d: %s" % (line_num, gline)) - self.app.inform.emit("[error] Gerber Parser ERROR.\n Line %d: %s" % (line_num, gline), repr(err)) + loc = 'Gerber Line #%d Gerber Line Content: %s\n' % (line_num, gline) + repr(err) + self.app.inform.emit("[error]Gerber Parser ERROR.\n%s:" % loc) @staticmethod def create_flash_geometry(location, aperture, steps_per_circle=None):