diff options
author | Garret Fick <garret@ficksworkshop.com> | 2016-05-19 23:19:28 +0800 |
---|---|---|
committer | Garret Fick <garret@ficksworkshop.com> | 2016-05-19 23:19:28 +0800 |
commit | 74c638c7181e7a8ca4d0f791545bbf5db8b86c2a (patch) | |
tree | e3bb8d64aa97d3a31317241c139855077c31cc2e /gerber | |
parent | f1f07d74c41ad74be2b0bbad4cfcd1c6e5923678 (diff) | |
download | gerbonara-74c638c7181e7a8ca4d0f791545bbf5db8b86c2a.tar.gz gerbonara-74c638c7181e7a8ca4d0f791545bbf5db8b86c2a.tar.bz2 gerbonara-74c638c7181e7a8ca4d0f791545bbf5db8b86c2a.zip |
Fix issue where did not always switch into the G01 mode after G03 when the point was unchanged
Diffstat (limited to 'gerber')
-rw-r--r-- | gerber/gerber_statements.py | 4 | ||||
-rw-r--r-- | gerber/render/rs274x_backend.py | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/gerber/gerber_statements.py b/gerber/gerber_statements.py index aa25d0a..119df9d 100644 --- a/gerber/gerber_statements.py +++ b/gerber/gerber_statements.py @@ -888,6 +888,10 @@ class CoordStmt(Statement): return cls(func, point[0], point[1], None, None, CoordStmt.OP_DRAW, None) @classmethod + def mode(cls, func): + return cls(func, None, None, None, None, None, None) + + @classmethod def arc(cls, func, point, center): return cls(func, point[0], point[1], center[0], center[1], CoordStmt.OP_DRAW, None) diff --git a/gerber/render/rs274x_backend.py b/gerber/render/rs274x_backend.py index 48a55e7..3dc8c1a 100644 --- a/gerber/render/rs274x_backend.py +++ b/gerber/render/rs274x_backend.py @@ -169,6 +169,8 @@ class Rs274xContext(GerberContext): if point[0] != None or point[1] != None: self.body.append(CoordStmt.line(func, self._simplify_point(line.end))) self._pos = line.end + elif func: + self.body.append(CoordStmt.mode(func)) def _render_arc(self, arc, color): |