فهرست منبع

- Gerber Export - finished
- added zoom fit for Set Origin command
- added move action for solid_geometry stored in the gerber_obj.apertures

Marius Stanciu 6 سال پیش
والد
کامیت
6fb33ebc5e
3فایلهای تغییر یافته به همراه27 افزوده شده و 1 حذف شده
  1. 1 0
      FlatCAMApp.py
  2. 6 0
      README.md
  3. 20 1
      flatcamTools/ToolMove.py

+ 1 - 0
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
 

+ 6 - 0
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

+ 20 - 1
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: