- added protection against trying to create a CNCJob from a solder_paste dispenser geometry. This one is different than the default Geometry and can be handled only by SolderPaste Tool.

- ToolSoderPaste tools (nozzles) now have each it's own settings
This commit is contained in:
Marius Stanciu
2019-02-21 14:23:34 +02:00
committed by Marius
parent 7a5196207f
commit 48e54a0655
3 changed files with 190 additions and 111 deletions

View File

@@ -2534,8 +2534,14 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
# flag to store if the V-Shape tool is selected in self.ui.geo_tools_table
self.v_tool_type = None
# flag to store if the Geometry is type 'multi-geometry' meaning that each tool has it's own geometry
# the default value is False
self.multigeo = False
# flag to store if the geometry is part of a special group of geometries that can't be processed by the default
# engine of FlatCAM. Most likely are generated by some of tools and are special cases of geometries.
self. special_group = None
# Attributes to be included in serialization
# Always append to it because it carries contents
# from predecessors.
@@ -2928,8 +2934,8 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
self.ui.grid3.itemAt(i).widget().currentIndexChanged.disconnect()
if isinstance(self.ui.grid3.itemAt(i).widget(), LengthEntry) or \
isinstance(self.ui.grid3.itemAt(i), IntEntry) or \
isinstance(self.ui.grid3.itemAt(i), FCEntry):
isinstance(self.ui.grid3.itemAt(i).widget(), IntEntry) or \
isinstance(self.ui.grid3.itemAt(i).widget(), FCEntry):
self.ui.grid3.itemAt(i).widget().editingFinished.disconnect()
except:
pass
@@ -3643,6 +3649,14 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
self.sel_tools = {}
try:
if self.special_group:
self.app.inform.emit("[WARNING_NOTCL]This Geometry can't be processed because it is %s geometry." %
str(self.special_group))
return
except AttributeError:
pass
# test to see if we have tools available in the tool table
if self.ui.geo_tools_table.selectedItems():
for x in self.ui.geo_tools_table.selectedItems():