- finished work on Offset parameter in Excellon Object (Excellon Editor, camlib, FlatCAMObj updated to take this param in consideration)

- fixed a bug where in Excellon editor when editing a file, a tool was automatically added. That is supposed to happen only for empty newly created Excellon Objects.
This commit is contained in:
Marius Stanciu 2019-02-12 15:12:12 +02:00 committed by Marius
parent d0641458e4
commit 9b61e4cc37
5 changed files with 44 additions and 8 deletions

View File

@ -3970,6 +3970,9 @@ class FlatCAMExcEditor(QtCore.QObject):
for deleted_tool_dia in deleted_tool_dia_list:
# delete de tool offset
self.exc_obj.tool_offset.pop(float(deleted_tool_dia), None)
# delete the storage used for that tool
storage_elem = FlatCAMGeoEditor.make_storage()
self.storage_dict[deleted_tool_dia] = storage_elem
@ -3985,8 +3988,8 @@ class FlatCAMExcEditor(QtCore.QObject):
if flag_del:
for tool_to_be_deleted in flag_del:
# delete the tool
self.tool2tooldia.pop(tool_to_be_deleted, None)
self.exc_obj.tool_offset.pop(tool_to_be_deleted, None)
# delete also the drills from points_edit dict just in case we add the tool again, we don't want to show the
# number of drills from before was deleter
@ -4027,6 +4030,11 @@ class FlatCAMExcEditor(QtCore.QObject):
self.olddia_newdia[dia_changed] = current_table_dia_edited
# update the dict that holds tool_no as key and tool_dia as value
self.tool2tooldia[key_in_tool2tooldia] = current_table_dia_edited
# update the tool offset
modified_offset = self.exc_obj.tool_offset.pop(dia_changed)
self.exc_obj.tool_offset[current_table_dia_edited] = modified_offset
self.replot()
else:
# tool diameter is already in use so we move the drills from the prior tool to the new tool
@ -4040,6 +4048,9 @@ class FlatCAMExcEditor(QtCore.QObject):
self.on_tool_delete(dia=dia_changed)
# delete the tool offset
self.exc_obj.tool_offset.pop(dia_changed, None)
# we reactivate the signals after the after the tool editing
self.tools_table_exc.itemChanged.connect(self.on_tool_edit)
# self.tools_table_exc.selectionModel().currentChanged.connect(self.on_row_selected)
@ -4226,8 +4237,9 @@ class FlatCAMExcEditor(QtCore.QObject):
self.replot()
# add a first tool in the Tool Table
self.on_tool_add(tooldia=1.00)
# add a first tool in the Tool Table but only if the Excellon Object is empty
if not self.tool2tooldia:
self.on_tool_add(tooldia=1.00)
def update_fcexcellon(self, exc_obj):
"""

View File

@ -1328,8 +1328,6 @@ class FlatCAMExcellon(FlatCAMObj, Excellon):
self.tool_offset[dia] = current_table_offset_edited
print(self.tool_offset)
# we reactivate the signals after the after the tool editing
self.ui.tools_table.itemChanged.connect(self.on_tool_offset_edit)
@ -1763,6 +1761,7 @@ class FlatCAMExcellon(FlatCAMObj, Excellon):
app_obj.progress.emit(20)
job_obj.z_cut = float(self.options["drillz"])
job_obj.tool_offset = self.tool_offset
job_obj.z_move = float(self.options["travelz"])
job_obj.feedrate = float(self.options["feedrate"])
job_obj.feedrate_rapid = float(self.options["feedrate_rapid"])

View File

@ -14,6 +14,8 @@ CAD program, and create G-Code for Isolation routing.
- whenever a FlatCAM tool is activated, if the notebook side is hidden it will be unhidden
- reactivated the Voronoi classed
- added a new parameter named Offset in the Excellon tool table - work in progress
- finished work on Offset parameter in Excellon Object (Excellon Editor, camlib, FlatCAMObj updated to take this param in consideration)
- fixed a bug where in Excellon editor when editing a file, a tool was automatically added. That is supposed to happen only for empty newly created Excellon Objects.
10.02.2019
@ -38,7 +40,7 @@ CAD program, and create G-Code for Isolation routing.
8.02.2019
- when shortcut keys 1, 2, 3 (tab selection) are activated, if the splitter left side (the notebook) is hidden it will be mae visible
- when shortcut keys 1, 2, 3 (tab selection) are activated, if the splitter left side (the notebook) is hidden it will be made visible
- changed the menu entry Toggle Grid name to Toggle Grid Snap
- fixed errors in Toggle Axis
- fixed error with shortcut key triggering twice the keyPressEvent when in the Project List View

View File

@ -4399,6 +4399,8 @@ class CNCjob(Geometry):
self.units = units
self.z_cut = z_cut
self.tool_offset = {}
self.z_move = z_move
self.feedrate = feedrate
@ -4746,6 +4748,13 @@ class CNCjob(Geometry):
if self.dwell is True:
gcode += self.doformat(p.dwell_code) # Dwell time
if self.units == 'MM':
current_tooldia = float('%.2f' % float(exobj.tools[tool]["C"]))
else:
current_tooldia = float('%.3f' % float(exobj.tools[tool]["C"]))
z_offset = float(self.tool_offset[current_tooldia]) * (-1)
self.z_cut += z_offset
# Drillling!
for k in node_list:
locx = locations[k][0]
@ -4827,6 +4836,14 @@ class CNCjob(Geometry):
if self.dwell is True:
gcode += self.doformat(p.dwell_code) # Dwell time
if self.units == 'MM':
current_tooldia = float('%.2f' % float(exobj.tools[tool]["C"]))
else:
current_tooldia = float('%.3f' % float(exobj.tools[tool]["C"]))
z_offset = float(self.tool_offset[current_tooldia]) * (-1)
self.z_cut += z_offset
# Drillling!
for k in node_list:
locx = locations[k][0]
@ -4868,6 +4885,12 @@ class CNCjob(Geometry):
if self.dwell is True:
gcode += self.doformat(p.dwell_code) # Dwell time
if self.units == 'MM':
current_tooldia = float('%.2f' % float(exobj.tools[tool]["C"]))
else:
current_tooldia = float('%.3f' % float(exobj.tools[tool]["C"]))
z_offset = float(self.tool_offset[current_tooldia]) * (-1)
self.z_cut += z_offset
# Drillling!
altPoints = []
for point in points[tool]:

View File

@ -79,12 +79,12 @@ else:
print("INCLUDE_FILES", include_files)
#execfile('clean.py')
# execfile('clean.py')
setup(
name="FlatCAM",
author="Juan Pablo Caram",
version="3000",
version="Beta",
description="FlatCAM: 2D Computer Aided PCB Manufacturing",
options=dict(build_exe=buildOptions),
executables=[Executable("FlatCAM.py", icon='share/flatcam_icon48.ico', base=base)]