- in Geometry Properties UI restored the plot functionality
This commit is contained in:
@@ -10,6 +10,7 @@ CHANGELOG for FlatCAM beta
|
||||
19.11.2020
|
||||
|
||||
- cleaned up the Geometry Properties UI
|
||||
- in Geometry Properties UI restored the plot functionality
|
||||
|
||||
17.11.2020
|
||||
|
||||
|
||||
@@ -142,8 +142,8 @@ class GeometryObject(FlatCAMObj, Geometry):
|
||||
# engine of FlatCAM. Most likely are generated by some of tools and are special cases of geometries.
|
||||
self.special_group = None
|
||||
|
||||
self.old_pp_state = self.app.defaults["geometry_multidepth"]
|
||||
self.old_toolchangeg_state = self.app.defaults["geometry_toolchange"]
|
||||
# self.old_pp_state = self.app.defaults["geometry_multidepth"]
|
||||
# self.old_toolchangeg_state = self.app.defaults["geometry_toolchange"]
|
||||
self.units_found = self.app.defaults['units']
|
||||
|
||||
# this variable can be updated by the Object that generates the geometry
|
||||
@@ -328,6 +328,8 @@ class GeometryObject(FlatCAMObj, Geometry):
|
||||
else:
|
||||
self.ui.geo_tools_table.setColumnHidden(6, False)
|
||||
|
||||
self.ui_connect()
|
||||
|
||||
# self.set_tool_offset_visibility(selected_row)
|
||||
|
||||
# #############################################################################################################
|
||||
@@ -526,62 +528,62 @@ class GeometryObject(FlatCAMObj, Geometry):
|
||||
oname = opt_key[len('tools_mill') + 1:]
|
||||
self.default_data[oname] = self.app.options[opt_key]
|
||||
# fill in self.default_data values from self.options
|
||||
# for def_key in self.default_data:
|
||||
# for opt_key, opt_val in self.options.items():
|
||||
# if def_key == opt_key:
|
||||
# self.default_data[def_key] = deepcopy(opt_val)
|
||||
for def_key in self.default_data:
|
||||
for opt_key, opt_val in self.options.items():
|
||||
if def_key == opt_key:
|
||||
self.default_data[def_key] = deepcopy(opt_val)
|
||||
|
||||
# if type(self.options["cnctooldia"]) == float:
|
||||
# tools_list = [self.options["cnctooldia"]]
|
||||
# else:
|
||||
# try:
|
||||
# temp_tools = self.options["cnctooldia"].split(",")
|
||||
# tools_list = [
|
||||
# float(eval(dia)) for dia in temp_tools if dia != ''
|
||||
# ]
|
||||
# except Exception as e:
|
||||
# log.error("GeometryObject.set_ui() -> At least one tool diameter needed. "
|
||||
# "Verify in Edit -> Preferences -> Geometry General -> Tool dia. %s" % str(e))
|
||||
# return
|
||||
if type(self.options["cnctooldia"]) == float:
|
||||
tools_list = [self.options["cnctooldia"]]
|
||||
else:
|
||||
try:
|
||||
temp_tools = self.options["cnctooldia"].split(",")
|
||||
tools_list = [
|
||||
float(eval(dia)) for dia in temp_tools if dia != ''
|
||||
]
|
||||
except Exception as e:
|
||||
log.error("GeometryObject.set_ui() -> At least one tool diameter needed. "
|
||||
"Verify in Edit -> Preferences -> Geometry General -> Tool dia. %s" % str(e))
|
||||
return
|
||||
|
||||
self.tooluid += 1
|
||||
|
||||
if not self.tools:
|
||||
for toold in tools_list:
|
||||
new_data = deepcopy(self.default_data)
|
||||
self.tools.update({
|
||||
self.tooluid: {
|
||||
'tooldia': self.app.dec_format(float(toold), self.decimals),
|
||||
'offset': 'Path',
|
||||
'offset_value': 0.0,
|
||||
'type': 'Rough',
|
||||
'tool_type': self.tool_type,
|
||||
'data': new_data,
|
||||
'solid_geometry': self.solid_geometry
|
||||
}
|
||||
})
|
||||
self.tooluid += 1
|
||||
else:
|
||||
# if self.tools is not empty then it can safely be assumed that it comes from an opened project.
|
||||
# Because of the serialization the self.tools list on project save, the dict keys (members of self.tools
|
||||
# are each a dict) are turned into strings so we rebuild the self.tools elements so the keys are
|
||||
# again float type; dict's don't like having keys changed when iterated through therefore the need for the
|
||||
# following convoluted way of changing the keys from string to float type
|
||||
temp_tools = {}
|
||||
for tooluid_key in self.tools:
|
||||
val = deepcopy(self.tools[tooluid_key])
|
||||
new_key = deepcopy(int(tooluid_key))
|
||||
temp_tools[new_key] = val
|
||||
|
||||
self.tools.clear()
|
||||
self.tools = deepcopy(temp_tools)
|
||||
|
||||
# self.tooluid += 1
|
||||
#
|
||||
# if not self.tools:
|
||||
# for toold in tools_list:
|
||||
# new_data = deepcopy(self.default_data)
|
||||
# self.tools.update({
|
||||
# self.tooluid: {
|
||||
# 'tooldia': self.app.dec_format(float(toold), self.decimals),
|
||||
# 'offset': 'Path',
|
||||
# 'offset_value': 0.0,
|
||||
# 'type': 'Rough',
|
||||
# 'tool_type': self.tool_type,
|
||||
# 'data': new_data,
|
||||
# 'solid_geometry': self.solid_geometry
|
||||
# }
|
||||
# })
|
||||
# self.tooluid += 1
|
||||
# else:
|
||||
# # if self.tools is not empty then it can safely be assumed that it comes from an opened project.
|
||||
# # Because of the serialization the self.tools list on project save, the dict keys (members of self.tools
|
||||
# # are each a dict) are turned into strings so we rebuild the self.tools elements so the keys are
|
||||
# # again float type; dict's don't like having keys changed when iterated through therefore the need for the
|
||||
# # following convoluted way of changing the keys from string to float type
|
||||
# temp_tools = {}
|
||||
# for tooluid_key in self.tools:
|
||||
# val = deepcopy(self.tools[tooluid_key])
|
||||
# new_key = deepcopy(int(tooluid_key))
|
||||
# temp_tools[new_key] = val
|
||||
#
|
||||
# self.tools.clear()
|
||||
# self.tools = deepcopy(temp_tools)
|
||||
#
|
||||
# self.ui.tool_offset_entry.hide()
|
||||
# self.ui.tool_offset_lbl.hide()
|
||||
|
||||
# used to store the state of the mpass_cb if the selected preprocessor for geometry is hpgl
|
||||
self.old_pp_state = self.default_data['multidepth']
|
||||
self.old_toolchangeg_state = self.default_data['toolchange']
|
||||
# self.old_pp_state = self.default_data['multidepth']
|
||||
# self.old_toolchangeg_state = self.default_data['toolchange']
|
||||
|
||||
if not isinstance(self.ui, GeometryObjectUI):
|
||||
log.debug("Expected a GeometryObjectUI, got %s" % type(self.ui))
|
||||
@@ -1957,112 +1959,112 @@ class GeometryObject(FlatCAMObj, Geometry):
|
||||
item[0] = str(item[0])
|
||||
return table_tools_items
|
||||
|
||||
def on_pp_changed(self):
|
||||
current_pp = self.ui.pp_geometry_name_cb.get_value()
|
||||
if current_pp == 'hpgl':
|
||||
self.old_pp_state = self.ui.mpass_cb.get_value()
|
||||
self.old_toolchangeg_state = self.ui.toolchangeg_cb.get_value()
|
||||
|
||||
self.ui.mpass_cb.set_value(False)
|
||||
self.ui.mpass_cb.setDisabled(True)
|
||||
|
||||
self.ui.toolchangeg_cb.set_value(True)
|
||||
self.ui.toolchangeg_cb.setDisabled(True)
|
||||
else:
|
||||
self.ui.mpass_cb.set_value(self.old_pp_state)
|
||||
self.ui.mpass_cb.setDisabled(False)
|
||||
|
||||
self.ui.toolchangeg_cb.set_value(self.old_toolchangeg_state)
|
||||
self.ui.toolchangeg_cb.setDisabled(False)
|
||||
|
||||
if "toolchange_probe" in current_pp.lower():
|
||||
self.ui.pdepth_entry.setVisible(True)
|
||||
self.ui.pdepth_label.show()
|
||||
|
||||
self.ui.feedrate_probe_entry.setVisible(True)
|
||||
self.ui.feedrate_probe_label.show()
|
||||
else:
|
||||
self.ui.pdepth_entry.setVisible(False)
|
||||
self.ui.pdepth_label.hide()
|
||||
|
||||
self.ui.feedrate_probe_entry.setVisible(False)
|
||||
self.ui.feedrate_probe_label.hide()
|
||||
|
||||
if 'marlin' in current_pp.lower() or 'custom' in current_pp.lower():
|
||||
self.ui.fr_rapidlabel.show()
|
||||
self.ui.feedrate_rapid_entry.show()
|
||||
else:
|
||||
self.ui.fr_rapidlabel.hide()
|
||||
self.ui.feedrate_rapid_entry.hide()
|
||||
|
||||
if 'laser' in current_pp.lower():
|
||||
self.ui.cutzlabel.hide()
|
||||
self.ui.cutz_entry.hide()
|
||||
try:
|
||||
self.ui.mpass_cb.hide()
|
||||
self.ui.maxdepth_entry.hide()
|
||||
except AttributeError:
|
||||
pass
|
||||
|
||||
if 'marlin' in current_pp.lower():
|
||||
self.ui.travelzlabel.setText('%s:' % _("Focus Z"))
|
||||
self.ui.endz_label.show()
|
||||
self.ui.endz_entry.show()
|
||||
else:
|
||||
self.ui.travelzlabel.hide()
|
||||
self.ui.travelz_entry.hide()
|
||||
|
||||
self.ui.endz_label.hide()
|
||||
self.ui.endz_entry.hide()
|
||||
|
||||
try:
|
||||
self.ui.frzlabel.hide()
|
||||
self.ui.feedrate_z_entry.hide()
|
||||
except AttributeError:
|
||||
pass
|
||||
|
||||
self.ui.dwell_cb.hide()
|
||||
self.ui.dwelltime_entry.hide()
|
||||
|
||||
self.ui.spindle_label.setText('%s:' % _("Laser Power"))
|
||||
|
||||
try:
|
||||
self.ui.tool_offset_label.hide()
|
||||
self.ui.offset_entry.hide()
|
||||
except AttributeError:
|
||||
pass
|
||||
else:
|
||||
self.ui.cutzlabel.show()
|
||||
self.ui.cutz_entry.show()
|
||||
try:
|
||||
self.ui.mpass_cb.show()
|
||||
self.ui.maxdepth_entry.show()
|
||||
except AttributeError:
|
||||
pass
|
||||
|
||||
self.ui.travelzlabel.setText('%s:' % _('Travel Z'))
|
||||
|
||||
self.ui.travelzlabel.show()
|
||||
self.ui.travelz_entry.show()
|
||||
|
||||
self.ui.endz_label.show()
|
||||
self.ui.endz_entry.show()
|
||||
|
||||
try:
|
||||
self.ui.frzlabel.show()
|
||||
self.ui.feedrate_z_entry.show()
|
||||
except AttributeError:
|
||||
pass
|
||||
self.ui.dwell_cb.show()
|
||||
self.ui.dwelltime_entry.show()
|
||||
|
||||
self.ui.spindle_label.setText('%s:' % _('Spindle speed'))
|
||||
|
||||
try:
|
||||
self.ui.tool_offset_lbl.show()
|
||||
self.ui.offset_entry.show()
|
||||
except AttributeError:
|
||||
pass
|
||||
# def on_pp_changed(self):
|
||||
# current_pp = self.ui.pp_geometry_name_cb.get_value()
|
||||
# if current_pp == 'hpgl':
|
||||
# self.old_pp_state = self.ui.mpass_cb.get_value()
|
||||
# self.old_toolchangeg_state = self.ui.toolchangeg_cb.get_value()
|
||||
#
|
||||
# self.ui.mpass_cb.set_value(False)
|
||||
# self.ui.mpass_cb.setDisabled(True)
|
||||
#
|
||||
# self.ui.toolchangeg_cb.set_value(True)
|
||||
# self.ui.toolchangeg_cb.setDisabled(True)
|
||||
# else:
|
||||
# self.ui.mpass_cb.set_value(self.old_pp_state)
|
||||
# self.ui.mpass_cb.setDisabled(False)
|
||||
#
|
||||
# self.ui.toolchangeg_cb.set_value(self.old_toolchangeg_state)
|
||||
# self.ui.toolchangeg_cb.setDisabled(False)
|
||||
#
|
||||
# if "toolchange_probe" in current_pp.lower():
|
||||
# self.ui.pdepth_entry.setVisible(True)
|
||||
# self.ui.pdepth_label.show()
|
||||
#
|
||||
# self.ui.feedrate_probe_entry.setVisible(True)
|
||||
# self.ui.feedrate_probe_label.show()
|
||||
# else:
|
||||
# self.ui.pdepth_entry.setVisible(False)
|
||||
# self.ui.pdepth_label.hide()
|
||||
#
|
||||
# self.ui.feedrate_probe_entry.setVisible(False)
|
||||
# self.ui.feedrate_probe_label.hide()
|
||||
#
|
||||
# if 'marlin' in current_pp.lower() or 'custom' in current_pp.lower():
|
||||
# self.ui.fr_rapidlabel.show()
|
||||
# self.ui.feedrate_rapid_entry.show()
|
||||
# else:
|
||||
# self.ui.fr_rapidlabel.hide()
|
||||
# self.ui.feedrate_rapid_entry.hide()
|
||||
#
|
||||
# if 'laser' in current_pp.lower():
|
||||
# self.ui.cutzlabel.hide()
|
||||
# self.ui.cutz_entry.hide()
|
||||
# try:
|
||||
# self.ui.mpass_cb.hide()
|
||||
# self.ui.maxdepth_entry.hide()
|
||||
# except AttributeError:
|
||||
# pass
|
||||
#
|
||||
# if 'marlin' in current_pp.lower():
|
||||
# self.ui.travelzlabel.setText('%s:' % _("Focus Z"))
|
||||
# self.ui.endz_label.show()
|
||||
# self.ui.endz_entry.show()
|
||||
# else:
|
||||
# self.ui.travelzlabel.hide()
|
||||
# self.ui.travelz_entry.hide()
|
||||
#
|
||||
# self.ui.endz_label.hide()
|
||||
# self.ui.endz_entry.hide()
|
||||
#
|
||||
# try:
|
||||
# self.ui.frzlabel.hide()
|
||||
# self.ui.feedrate_z_entry.hide()
|
||||
# except AttributeError:
|
||||
# pass
|
||||
#
|
||||
# self.ui.dwell_cb.hide()
|
||||
# self.ui.dwelltime_entry.hide()
|
||||
#
|
||||
# self.ui.spindle_label.setText('%s:' % _("Laser Power"))
|
||||
#
|
||||
# try:
|
||||
# self.ui.tool_offset_label.hide()
|
||||
# self.ui.offset_entry.hide()
|
||||
# except AttributeError:
|
||||
# pass
|
||||
# else:
|
||||
# self.ui.cutzlabel.show()
|
||||
# self.ui.cutz_entry.show()
|
||||
# try:
|
||||
# self.ui.mpass_cb.show()
|
||||
# self.ui.maxdepth_entry.show()
|
||||
# except AttributeError:
|
||||
# pass
|
||||
#
|
||||
# self.ui.travelzlabel.setText('%s:' % _('Travel Z'))
|
||||
#
|
||||
# self.ui.travelzlabel.show()
|
||||
# self.ui.travelz_entry.show()
|
||||
#
|
||||
# self.ui.endz_label.show()
|
||||
# self.ui.endz_entry.show()
|
||||
#
|
||||
# try:
|
||||
# self.ui.frzlabel.show()
|
||||
# self.ui.feedrate_z_entry.show()
|
||||
# except AttributeError:
|
||||
# pass
|
||||
# self.ui.dwell_cb.show()
|
||||
# self.ui.dwelltime_entry.show()
|
||||
#
|
||||
# self.ui.spindle_label.setText('%s:' % _('Spindle speed'))
|
||||
#
|
||||
# try:
|
||||
# self.ui.tool_offset_lbl.show()
|
||||
# self.ui.offset_entry.show()
|
||||
# except AttributeError:
|
||||
# pass
|
||||
|
||||
def on_generatecnc_button_click(self):
|
||||
log.debug("Generating CNCJob from Geometry ...")
|
||||
|
||||
Reference in New Issue
Block a user