- made isolation threaded

This commit is contained in:
Marius Stanciu 2019-09-10 04:29:06 +03:00 committed by Marius
parent d5fd084a6f
commit c66c841d37
3 changed files with 45 additions and 28 deletions

View File

@ -3537,7 +3537,7 @@ class App(QtCore.QObject):
# Check units and convert if necessary # Check units and convert if necessary
# This condition CAN be true because initialize() can change obj.units # This condition CAN be true because initialize() can change obj.units
if self.options["units"].upper() != obj.units.upper(): if self.options["units"].upper() != obj.units.upper():
self.inform.emit('[ERROR_NOTCL] %s: %s' % self.inform.emit('%s: %s' %
(_("Converting units to "), self.options["units"])) (_("Converting units to "), self.options["units"]))
obj.convert_units(self.options["units"]) obj.convert_units(self.options["units"])
t3 = time.time() t3 = time.time()

View File

@ -846,41 +846,54 @@ class FlatCAMGerber(FlatCAMObj, Gerber):
self.app.new_object("geometry", name, geo_init) self.app.new_object("geometry", name, geo_init)
def on_ext_iso_button_click(self, *args): def on_ext_iso_button_click(self, *args):
if self.ui.follow_cb.get_value() is True:
obj = self.app.collection.get_active() obj = self.app.collection.get_active()
def worker_task(obj, app_obj):
with self.app.proc_container.new(_("Isolating...")):
if self.ui.follow_cb.get_value() is True:
obj.follow_geo() obj.follow_geo()
# in the end toggle the visibility of the origin object so we can see the generated Geometry # in the end toggle the visibility of the origin object so we can see the generated Geometry
obj.ui.plot_cb.toggle() obj.ui.plot_cb.toggle()
else: else:
self.app.report_usage("gerber_on_iso_button") app_obj.report_usage("gerber_on_iso_button")
self.read_form() self.read_form()
self.isolate(iso_type=0) self.isolate(iso_type=0)
def on_int_iso_button_click(self, *args): self.app.worker_task.emit({'fcn': worker_task, 'params': [obj, self.app]})
if self.ui.follow_cb.get_value() is True: def on_int_iso_button_click(self, *args):
obj = self.app.collection.get_active() obj = self.app.collection.get_active()
def worker_task(obj, app_obj):
with self.app.proc_container.new(_("Isolating...")):
if self.ui.follow_cb.get_value() is True:
obj.follow_geo() obj.follow_geo()
# in the end toggle the visibility of the origin object so we can see the generated Geometry # in the end toggle the visibility of the origin object so we can see the generated Geometry
obj.ui.plot_cb.toggle() obj.ui.plot_cb.toggle()
else: else:
self.app.report_usage("gerber_on_iso_button") app_obj.report_usage("gerber_on_iso_button")
self.read_form() self.read_form()
self.isolate(iso_type=1) self.isolate(iso_type=1)
self.app.worker_task.emit({'fcn': worker_task, 'params': [obj, self.app]})
def on_iso_button_click(self, *args): def on_iso_button_click(self, *args):
if self.ui.follow_cb.get_value() is True:
obj = self.app.collection.get_active() obj = self.app.collection.get_active()
def worker_task(obj, app_obj):
with self.app.proc_container.new(_("Isolating...")):
if self.ui.follow_cb.get_value() is True:
obj.follow_geo() obj.follow_geo()
# in the end toggle the visibility of the origin object so we can see the generated Geometry # in the end toggle the visibility of the origin object so we can see the generated Geometry
obj.ui.plot_cb.toggle() obj.ui.plot_cb.toggle()
else: else:
self.app.report_usage("gerber_on_iso_button") app_obj.report_usage("gerber_on_iso_button")
self.read_form() self.read_form()
self.isolate() self.isolate()
self.app.worker_task.emit({'fcn': worker_task, 'params': [obj, self.app]})
def follow_geo(self, outname=None): def follow_geo(self, outname=None):
""" """
Creates a geometry object "following" the gerber paths. Creates a geometry object "following" the gerber paths.

View File

@ -9,6 +9,10 @@ CAD program, and create G-Code for Isolation routing.
================================================= =================================================
10.09.2019
- made isolation threaded
9.09.2019 9.09.2019
- changed the triangulation type in VisPyVisuals for ShapeCollectionVisual class - changed the triangulation type in VisPyVisuals for ShapeCollectionVisual class