- fixed bugs in Minimum Distance Tool

This commit is contained in:
Marius Stanciu 2020-01-25 01:44:44 +02:00 committed by Marius
parent ca87475694
commit 3ac8e96071
8 changed files with 31 additions and 15 deletions

View File

@ -1967,7 +1967,7 @@ class App(QtCore.QObject):
self.ui.menueditdelete.triggered.connect(self.on_delete)
self.ui.menueditcopyobject.triggered.connect(self.on_copy_object)
self.ui.menueditcopyobject.triggered.connect(self.on_copy_command)
self.ui.menueditconvert_any2geo.triggered.connect(self.convert_any2geo)
self.ui.menueditconvert_any2gerber.triggered.connect(self.convert_any2gerber)
@ -2030,7 +2030,7 @@ class App(QtCore.QObject):
self.ui.menuprojectgeneratecnc.triggered.connect(lambda: self.generate_cnc_job(self.collection.get_selected()))
self.ui.menuprojectviewsource.triggered.connect(self.on_view_source)
self.ui.menuprojectcopy.triggered.connect(self.on_copy_object)
self.ui.menuprojectcopy.triggered.connect(self.on_copy_command)
self.ui.menuprojectedit.triggered.connect(self.object2editor)
self.ui.menuprojectdelete.triggered.connect(self.on_delete)
@ -2061,7 +2061,7 @@ class App(QtCore.QObject):
self.ui.clearplot.triggered.connect(self.clear_plots)
self.ui.replot.triggered.connect(self.plot_all)
self.ui.popmenu_copy.triggered.connect(self.on_copy_object)
self.ui.popmenu_copy.triggered.connect(self.on_copy_command)
self.ui.popmenu_delete.triggered.connect(self.on_delete)
self.ui.popmenu_edit.triggered.connect(self.object2editor)
self.ui.popmenu_save.triggered.connect(lambda: self.editor2object())
@ -3259,7 +3259,7 @@ class App(QtCore.QObject):
self.ui.newexc_btn.triggered.connect(self.new_excellon_object)
self.ui.editgeo_btn.triggered.connect(self.object2editor)
self.ui.update_obj_btn.triggered.connect(lambda: self.editor2object())
self.ui.copy_btn.triggered.connect(self.on_copy_object)
self.ui.copy_btn.triggered.connect(self.on_copy_command)
self.ui.delete_btn.triggered.connect(self.on_delete)
self.ui.distance_btn.triggered.connect(lambda: self.distance_tool.run(toggle=True))
@ -7540,8 +7540,8 @@ class App(QtCore.QObject):
self.inform.emit('[success] %s' % _("Done."))
return location
def on_copy_object(self):
self.report_usage("on_copy_object()")
def on_copy_command(self):
self.report_usage("on_copy_command()")
def initialize(obj_init, app):
obj_init.solid_geometry = deepcopy(obj.solid_geometry)
@ -7559,7 +7559,7 @@ class App(QtCore.QObject):
if obj.tools:
obj_init.tools = deepcopy(obj.tools)
except Exception as e:
log.debug("App.on_copy_object() --> %s" % str(e))
log.debug("App.on_copy_command() --> %s" % str(e))
try:
obj_init.source_file = deepcopy(obj.source_file)
@ -7600,6 +7600,9 @@ class App(QtCore.QObject):
except Exception as e:
return "Operation failed: %s" % str(e)
def on_paste_command(self):
pass
def on_copy_object2(self, custom_name):
def initialize_geometry(obj_init, app):

View File

@ -14,6 +14,7 @@ CAD program, and create G-Code for Isolation routing.
- small changes to the Toolchange manual preprocessor
- fix for plotting Excellon objects if the color is changed and then the object is moved
- laying the GUI for a new Tool: Punch Gerber Tool which will add holes in the Gerber apertures
- fixed bugs in Minimum Distance Tool
22.01.2020

View File

@ -2974,7 +2974,7 @@ class FlatCAMExcEditor(QtCore.QObject):
except (TypeError, AttributeError):
pass
self.app.ui.popmenu_copy.triggered.connect(self.app.on_copy_object)
self.app.ui.popmenu_copy.triggered.connect(self.app.on_copy_command)
self.app.ui.popmenu_delete.triggered.connect(self.app.on_delete)
self.app.ui.popmenu_move.triggered.connect(self.app.obj_move)

View File

@ -3553,7 +3553,7 @@ class FlatCAMGeoEditor(QtCore.QObject):
except (TypeError, AttributeError):
pass
self.app.ui.popmenu_copy.triggered.connect(self.app.on_copy_object)
self.app.ui.popmenu_copy.triggered.connect(self.app.on_copy_command)
self.app.ui.popmenu_delete.triggered.connect(self.app.on_delete)
self.app.ui.popmenu_move.triggered.connect(self.app.obj_move)

View File

@ -3742,7 +3742,7 @@ class FlatCAMGrbEditor(QtCore.QObject):
except (TypeError, AttributeError):
pass
self.app.ui.popmenu_copy.triggered.connect(self.app.on_copy_object)
self.app.ui.popmenu_copy.triggered.connect(self.app.on_copy_command)
self.app.ui.popmenu_delete.triggered.connect(self.app.on_delete)
self.app.ui.popmenu_move.triggered.connect(self.app.obj_move)

View File

@ -2815,7 +2815,7 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.app.tools_db_tab.on_tool_copy()
return
self.app.on_copy_object()
self.app.on_copy_command()
# Copy an FlatCAM object
if key == QtCore.Qt.Key_D:

View File

@ -1275,7 +1275,7 @@ class ToolCalibration(FlatCAMTool):
if obj.tools:
obj_init.tools = deepcopy(obj.tools)
except Exception as ee:
log.debug("App.on_copy_object() --> %s" % str(ee))
log.debug("ToolCalibration.new_calibrated_object.initialize_geometry() --> %s" % str(ee))
obj_init.scale(xfactor=scalex, yfactor=scaley, point=(origin_x, origin_y))
obj_init.skew(angle_x=skewx, angle_y=skewy, point=(origin_x, origin_y))
@ -1301,7 +1301,7 @@ class ToolCalibration(FlatCAMTool):
if obj.tools:
obj_init.tools = deepcopy(obj.tools)
except Exception as err:
log.debug("App.on_copy_object() --> %s" % str(err))
log.debug("ToolCalibration.new_calibrated_object.initialize_gerber() --> %s" % str(err))
obj_init.scale(xfactor=scalex, yfactor=scaley, point=(origin_x, origin_y))
obj_init.skew(angle_x=skewx, angle_y=skewy, point=(origin_x, origin_y))

View File

@ -11,7 +11,8 @@ from flatcamGUI.VisPyVisuals import *
from flatcamGUI.GUIElements import FCEntry
from shapely.ops import nearest_points
from shapely.geometry import Point
from shapely.geometry import Point, MultiPolygon
from shapely.ops import cascaded_union
import math
import logging
@ -205,6 +206,17 @@ class DistanceMin(FlatCAMTool):
str(len(selected_objs))))
return
else:
if isinstance(selected_objs[0].solid_geometry, list):
try:
selected_objs[0].solid_geometry = MultiPolygon(selected_objs[0].solid_geometry)
except Exception:
selected_objs[0].solid_geometry = cascaded_union(selected_objs[0].solid_geometry)
try:
selected_objs[1].solid_geometry = MultiPolygon(selected_objs[1].solid_geometry)
except Exception:
selected_objs[1].solid_geometry = cascaded_union(selected_objs[1].solid_geometry)
first_pos, last_pos = nearest_points(selected_objs[0].solid_geometry, selected_objs[1].solid_geometry)
elif self.app.call_source == 'geo_editor':
@ -278,7 +290,7 @@ class DistanceMin(FlatCAMTool):
)
if d != 0:
self.app.inform.emit("{tx1}: {tx2} D(x) = {d_x} | D(y) = {d_y} | (tx3} = {d_z}".format(
self.app.inform.emit("{tx1}: {tx2} D(x) = {d_x} | D(y) = {d_y} | {tx3} = {d_z}".format(
tx1=_("MEASURING"),
tx2=_("Result"),
tx3=_("Distance"),