- fixed bugs in Minimum Distance Tool
This commit is contained in:
parent
ca87475694
commit
3ac8e96071
|
@ -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):
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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"),
|
||||
|
|
Loading…
Reference in New Issue