Merged in marius_stanciu/flatcam_beta/Beta (pull request #275)

Beta - solve issue when translation active
This commit is contained in:
Marius Stanciu 2019-12-23 22:30:14 +00:00
commit 48775c6dcc
2 changed files with 40 additions and 42 deletions

View File

@ -474,7 +474,7 @@ class ToolsDB(QtWidgets.QWidget):
self.on_tool_request = callback_on_tool_request self.on_tool_request = callback_on_tool_request
self.offset_item_options = ["Path", "In", "Out", "Custom"] self.offset_item_options = ["Path", "In", "Out", "Custom"]
self.type_item_options = [_("Iso"), _("Rough"), _("Finish")] self.type_item_options = ["Iso", "Rough", "Finish"]
self.tool_type_item_options = ["C1", "C2", "C3", "C4", "B", "V"] self.tool_type_item_options = ["C1", "C2", "C3", "C4", "B", "V"]
''' '''
@ -760,13 +760,16 @@ class ToolsDB(QtWidgets.QWidget):
self.table_widget.setRowCount(len(self.db_tool_dict)) self.table_widget.setRowCount(len(self.db_tool_dict))
nr_crt = 0 nr_crt = 0
for toolid, dict_val in self.db_tool_dict.items(): for toolid, dict_val in self.db_tool_dict.items():
row = nr_crt row = nr_crt
nr_crt += 1 nr_crt += 1
t_name = dict_val['name'] t_name = dict_val['name']
self.add_tool_table_line(row, name=t_name, widget=self.table_widget, tooldict=dict_val) try:
self.add_tool_table_line(row, name=t_name, widget=self.table_widget, tooldict=dict_val)
except Exception as e:
self.app.log.debug("ToolDB.build_db_ui.add_tool_table_line() --> %s" % str(e))
vertical_header = self.table_widget.verticalHeader() vertical_header = self.table_widget.verticalHeader()
vertical_header.hide() vertical_header.hide()
@ -920,7 +923,7 @@ class ToolsDB(QtWidgets.QWidget):
dwelltime_item = FCDoubleSpinner() dwelltime_item = FCDoubleSpinner()
dwelltime_item.set_precision(self.decimals) dwelltime_item.set_precision(self.decimals)
dwelltime_item.set_range(0.0, 9999.9999) dwelltime_item.set_range(0.0000, 9999.9999)
dwelltime_item.set_value(float(data['dwelltime'])) dwelltime_item.set_value(float(data['dwelltime']))
widget.setCellWidget(row, 18, dwelltime_item) widget.setCellWidget(row, 18, dwelltime_item)
@ -936,7 +939,7 @@ class ToolsDB(QtWidgets.QWidget):
ecut_length_item = FCDoubleSpinner() ecut_length_item = FCDoubleSpinner()
ecut_length_item.set_precision(self.decimals) ecut_length_item.set_precision(self.decimals)
ecut_length_item.set_range(0.0, 9999.9999) ecut_length_item.set_range(0.0000, 9999.9999)
ecut_length_item.set_value(data['extracut_length']) ecut_length_item.set_value(data['extracut_length'])
widget.setCellWidget(row, 21, ecut_length_item) widget.setCellWidget(row, 21, ecut_length_item)
@ -977,11 +980,8 @@ class ToolsDB(QtWidgets.QWidget):
Add a tool in the DB Tool Table Add a tool in the DB Tool Table
:return: None :return: None
""" """
new_toolid = len(self.db_tool_dict) + 1
dict_elem = dict()
default_data = dict() default_data = dict()
default_data.update({ default_data.update({
"cutz": float(self.app.defaults["geometry_cutz"]), "cutz": float(self.app.defaults["geometry_cutz"]),
"multidepth": self.app.defaults["geometry_multidepth"], "multidepth": self.app.defaults["geometry_multidepth"],
@ -997,7 +997,7 @@ class ToolsDB(QtWidgets.QWidget):
"dwelltime": float(self.app.defaults["geometry_dwelltime"]), "dwelltime": float(self.app.defaults["geometry_dwelltime"]),
"ppname_g": self.app.defaults["geometry_ppname_g"], "ppname_g": self.app.defaults["geometry_ppname_g"],
"extracut": self.app.defaults["geometry_extracut"], "extracut": self.app.defaults["geometry_extracut"],
"extracut_length": self.app.defaults["geometry_extracut_length"], "extracut_length": float(self.app.defaults["geometry_extracut_length"]),
"toolchange": self.app.defaults["geometry_toolchange"], "toolchange": self.app.defaults["geometry_toolchange"],
"toolchangexy": self.app.defaults["geometry_toolchangexy"], "toolchangexy": self.app.defaults["geometry_toolchangexy"],
"toolchangez": float(self.app.defaults["geometry_toolchangez"]), "toolchangez": float(self.app.defaults["geometry_toolchangez"]),
@ -1005,20 +1005,17 @@ class ToolsDB(QtWidgets.QWidget):
"endz": float(self.app.defaults["geometry_endz"]) "endz": float(self.app.defaults["geometry_endz"])
}) })
dict_elem = dict()
dict_elem['name'] = 'new_tool' dict_elem['name'] = 'new_tool'
dict_elem['tooldia'] = self.app.defaults["geometry_cnctooldia"] dict_elem['tooldia'] = self.app.defaults["geometry_cnctooldia"]
dict_elem['offset'] = 'Path' dict_elem['offset'] = 'Path'
dict_elem['offset_value'] = 0.0 dict_elem['offset_value'] = 0.0
dict_elem['type'] = _('Rough') dict_elem['type'] = 'Rough'
dict_elem['tool_type'] = 'C1' dict_elem['tool_type'] = 'C1'
dict_elem['data'] = default_data dict_elem['data'] = default_data
self.db_tool_dict.update( new_toolid = len(self.db_tool_dict) + 1
{ self.db_tool_dict[new_toolid] = deepcopy(dict_elem)
new_toolid: deepcopy(dict_elem)
}
)
# add the new entry to the Tools DB table # add the new entry to the Tools DB table
self.build_db_ui() self.build_db_ui()
@ -1253,59 +1250,59 @@ class ToolsDB(QtWidgets.QWidget):
new_toolid = row + 1 new_toolid = row + 1
for col in range(self.table_widget.columnCount()): for col in range(self.table_widget.columnCount()):
column_header_text = self.table_widget.horizontalHeaderItem(col).text() column_header_text = self.table_widget.horizontalHeaderItem(col).text()
if column_header_text == 'Tool Name': if column_header_text == _('Tool Name'):
dict_elem['name'] = self.table_widget.item(row, col).text() dict_elem['name'] = self.table_widget.item(row, col).text()
elif column_header_text == 'Tool Dia': elif column_header_text == _('Tool Dia'):
dict_elem['tooldia'] = self.table_widget.cellWidget(row, col).get_value() dict_elem['tooldia'] = self.table_widget.cellWidget(row, col).get_value()
elif column_header_text == 'Tool Offset': elif column_header_text == _('Tool Offset'):
dict_elem['offset'] = self.table_widget.cellWidget(row, col).get_value() dict_elem['offset'] = self.table_widget.cellWidget(row, col).get_value()
elif column_header_text == 'Custom Offset': elif column_header_text == _('Custom Offset'):
dict_elem['offset_value'] = self.table_widget.cellWidget(row, col).get_value() dict_elem['offset_value'] = self.table_widget.cellWidget(row, col).get_value()
elif column_header_text == 'Tool Type': elif column_header_text == _('Tool Type'):
dict_elem['type'] = self.table_widget.cellWidget(row, col).get_value() dict_elem['type'] = self.table_widget.cellWidget(row, col).get_value()
elif column_header_text == 'Tool Shape': elif column_header_text == _('Tool Shape'):
dict_elem['tool_type'] = self.table_widget.cellWidget(row, col).get_value() dict_elem['tool_type'] = self.table_widget.cellWidget(row, col).get_value()
else: else:
if column_header_text == 'Cut Z': if column_header_text == _('Cut Z'):
default_data['cutz'] = self.table_widget.cellWidget(row, col).get_value() default_data['cutz'] = self.table_widget.cellWidget(row, col).get_value()
elif column_header_text == 'MultiDepth': elif column_header_text == _('MultiDepth'):
default_data['multidepth'] = self.table_widget.cellWidget(row, col).get_value() default_data['multidepth'] = self.table_widget.cellWidget(row, col).get_value()
elif column_header_text == 'DPP': elif column_header_text == _('DPP'):
default_data['depthperpass'] = self.table_widget.cellWidget(row, col).get_value() default_data['depthperpass'] = self.table_widget.cellWidget(row, col).get_value()
elif column_header_text == 'V-Dia': elif column_header_text == _('V-Dia'):
default_data['vtipdia'] = self.table_widget.cellWidget(row, col).get_value() default_data['vtipdia'] = self.table_widget.cellWidget(row, col).get_value()
elif column_header_text == 'V-Angle': elif column_header_text == _('V-Angle'):
default_data['vtipangle'] = self.table_widget.cellWidget(row, col).get_value() default_data['vtipangle'] = self.table_widget.cellWidget(row, col).get_value()
elif column_header_text == 'Travel Z': elif column_header_text == _('Travel Z'):
default_data['travelz'] = self.table_widget.cellWidget(row, col).get_value() default_data['travelz'] = self.table_widget.cellWidget(row, col).get_value()
elif column_header_text == 'FR': elif column_header_text == _('FR'):
default_data['feedrate'] = self.table_widget.cellWidget(row, col).get_value() default_data['feedrate'] = self.table_widget.cellWidget(row, col).get_value()
elif column_header_text == 'FR Z': elif column_header_text == _('FR Z'):
default_data['feedrate_z'] = self.table_widget.cellWidget(row, col).get_value() default_data['feedrate_z'] = self.table_widget.cellWidget(row, col).get_value()
elif column_header_text == 'FR Rapids': elif column_header_text == _('FR Rapids'):
default_data['feedrate_rapid'] = self.table_widget.cellWidget(row, col).get_value() default_data['feedrate_rapid'] = self.table_widget.cellWidget(row, col).get_value()
elif column_header_text == 'Spindle Speed': elif column_header_text == _('Spindle Speed'):
default_data['spindlespeed'] = self.table_widget.cellWidget(row, col).get_value() default_data['spindlespeed'] = self.table_widget.cellWidget(row, col).get_value()
elif column_header_text == 'Dwell': elif column_header_text == _('Dwell'):
default_data['dwell'] = self.table_widget.cellWidget(row, col).get_value() default_data['dwell'] = self.table_widget.cellWidget(row, col).get_value()
elif column_header_text == 'Dwelltime': elif column_header_text == _('Dwelltime'):
default_data['dwelltime'] = self.table_widget.cellWidget(row, col).get_value() default_data['dwelltime'] = self.table_widget.cellWidget(row, col).get_value()
elif column_header_text == 'Preprocessor': elif column_header_text == _('Preprocessor'):
default_data['ppname_g'] = self.table_widget.cellWidget(row, col).get_value() default_data['ppname_g'] = self.table_widget.cellWidget(row, col).get_value()
elif column_header_text == 'ExtraCut': elif column_header_text == _('ExtraCut'):
default_data['extracut'] = self.table_widget.cellWidget(row, col).get_value() default_data['extracut'] = self.table_widget.cellWidget(row, col).get_value()
elif column_header_text == "E-Cut Length": elif column_header_text == _("E-Cut Length"):
default_data['extracut_length'] = self.table_widget.cellWidget(row, col).get_value() default_data['extracut_length'] = self.table_widget.cellWidget(row, col).get_value()
elif column_header_text == 'Toolchange': elif column_header_text == _('Toolchange'):
default_data['toolchange'] = self.table_widget.cellWidget(row, col).get_value() default_data['toolchange'] = self.table_widget.cellWidget(row, col).get_value()
elif column_header_text == 'Toolchange XY': elif column_header_text == _('Toolchange XY'):
default_data['toolchangexy'] = self.table_widget.item(row, col).text() default_data['toolchangexy'] = self.table_widget.item(row, col).text()
elif column_header_text == 'Toolchange Z': elif column_header_text == _('Toolchange Z'):
default_data['toolchangez'] = self.table_widget.cellWidget(row, col).get_value() default_data['toolchangez'] = self.table_widget.cellWidget(row, col).get_value()
elif column_header_text == 'Start Z': elif column_header_text == _('Start Z'):
default_data['startz'] = float(self.table_widget.item(row, col).text()) \ default_data['startz'] = float(self.table_widget.item(row, col).text()) \
if self.table_widget.item(row, col).text() is not '' else None if self.table_widget.item(row, col).text() is not '' else None
elif column_header_text == 'End Z': elif column_header_text == _('End Z'):
default_data['endz'] = self.table_widget.cellWidget(row, col).get_value() default_data['endz'] = self.table_widget.cellWidget(row, col).get_value()
dict_elem['data'] = default_data dict_elem['data'] = default_data

View File

@ -21,6 +21,7 @@ CAD program, and create G-Code for Isolation routing.
- if an object is selected on Project Tree and it does not have the selection shape drawn, first click on canvas over it will draw the selection shape - if an object is selected on Project Tree and it does not have the selection shape drawn, first click on canvas over it will draw the selection shape
- in Tool Transform added a new feature named 'Buffer'. For Geometry and Gerber objects will create (and replace) a geometry at a distance from the original geometry and for Excellon will adjust the Tool diameters - in Tool Transform added a new feature named 'Buffer'. For Geometry and Gerber objects will create (and replace) a geometry at a distance from the original geometry and for Excellon will adjust the Tool diameters
- solved issue #355 - when the tool diameter field in the Edit → Preferences → Geometry → Geometry General → Tools → Tool dia is only one the app failed to read it - solved issue #355 - when the tool diameter field in the Edit → Preferences → Geometry → Geometry General → Tools → Tool dia is only one the app failed to read it
- solved issue #356 - in Tools DB can not be added more than one tool if a translation is active
22.12.2019 22.12.2019