diff --git a/FlatCAMApp.py b/FlatCAMApp.py index 21a4a2b7..499a1388 100644 --- a/FlatCAMApp.py +++ b/FlatCAMApp.py @@ -4876,6 +4876,7 @@ class App(QtCore.QObject): obj.options['ymax'] = d # self.plot_all(zoom=False) self.inform.emit(_('[success] Origin set ...')) + self.plotcanvas.fit_view() self.plotcanvas.vis_disconnect('mouse_press', self.on_set_zero_click) self.should_we_save = True diff --git a/README.md b/README.md index 02ddebc7..d90f5874 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,12 @@ CAD program, and create G-Code for Isolation routing. ================================================= +8.05.2019 + +- added zoom fit for Set Origin command +- added move action for solid_geometry stored in the gerber_obj.apertures + + 7.05.2019 - remade the Tool Panelize GUI diff --git a/flatcamTools/ToolMove.py b/flatcamTools/ToolMove.py index 2d42b345..d56cf815 100644 --- a/flatcamTools/ToolMove.py +++ b/flatcamTools/ToolMove.py @@ -130,6 +130,15 @@ class ToolMove(FlatCAMTool): def job_move(app_obj): obj_list = self.app.collection.get_selected() + def offset_geom(obj): + if type(obj) is list: + new_obj = [] + for g in obj: + new_obj.append(offset_geom(g)) + return new_obj + else: + return affinity.translate(obj, xoff=dx, yoff=dy) + try: if not obj_list: self.app.inform.emit(_("[WARNING_NOTCL] No object(s) selected.")) @@ -137,8 +146,18 @@ class ToolMove(FlatCAMTool): else: for sel_obj in obj_list: - # offset + # offset solid_geometry sel_obj.offset((dx, dy)) + + for apid in sel_obj.apertures: + if 'solid_geometry' in sel_obj.apertures[apid]: + sel_obj.apertures[apid]['solid_geometry'] = offset_geom( + sel_obj.apertures[apid]['solid_geometry'] + ) + if 'follow_geometry' in sel_obj.apertures[apid]: + sel_obj.apertures[apid]['follow_geometry'] = offset_geom( + sel_obj.apertures[apid]['follow_geometry'] + ) sel_obj.plot() try: