- 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:
parent
d0641458e4
commit
9b61e4cc37
|
@ -3970,6 +3970,9 @@ class FlatCAMExcEditor(QtCore.QObject):
|
||||||
|
|
||||||
for deleted_tool_dia in deleted_tool_dia_list:
|
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
|
# delete the storage used for that tool
|
||||||
storage_elem = FlatCAMGeoEditor.make_storage()
|
storage_elem = FlatCAMGeoEditor.make_storage()
|
||||||
self.storage_dict[deleted_tool_dia] = storage_elem
|
self.storage_dict[deleted_tool_dia] = storage_elem
|
||||||
|
@ -3985,8 +3988,8 @@ class FlatCAMExcEditor(QtCore.QObject):
|
||||||
|
|
||||||
if flag_del:
|
if flag_del:
|
||||||
for tool_to_be_deleted in flag_del:
|
for tool_to_be_deleted in flag_del:
|
||||||
|
# delete the tool
|
||||||
self.tool2tooldia.pop(tool_to_be_deleted, None)
|
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
|
# 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
|
# number of drills from before was deleter
|
||||||
|
@ -4027,6 +4030,11 @@ class FlatCAMExcEditor(QtCore.QObject):
|
||||||
self.olddia_newdia[dia_changed] = current_table_dia_edited
|
self.olddia_newdia[dia_changed] = current_table_dia_edited
|
||||||
# update the dict that holds tool_no as key and tool_dia as value
|
# update the dict that holds tool_no as key and tool_dia as value
|
||||||
self.tool2tooldia[key_in_tool2tooldia] = current_table_dia_edited
|
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()
|
self.replot()
|
||||||
else:
|
else:
|
||||||
# tool diameter is already in use so we move the drills from the prior tool to the new tool
|
# 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)
|
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
|
# we reactivate the signals after the after the tool editing
|
||||||
self.tools_table_exc.itemChanged.connect(self.on_tool_edit)
|
self.tools_table_exc.itemChanged.connect(self.on_tool_edit)
|
||||||
# self.tools_table_exc.selectionModel().currentChanged.connect(self.on_row_selected)
|
# self.tools_table_exc.selectionModel().currentChanged.connect(self.on_row_selected)
|
||||||
|
@ -4226,8 +4237,9 @@ class FlatCAMExcEditor(QtCore.QObject):
|
||||||
|
|
||||||
self.replot()
|
self.replot()
|
||||||
|
|
||||||
# add a first tool in the Tool Table
|
# add a first tool in the Tool Table but only if the Excellon Object is empty
|
||||||
self.on_tool_add(tooldia=1.00)
|
if not self.tool2tooldia:
|
||||||
|
self.on_tool_add(tooldia=1.00)
|
||||||
|
|
||||||
def update_fcexcellon(self, exc_obj):
|
def update_fcexcellon(self, exc_obj):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -1328,8 +1328,6 @@ class FlatCAMExcellon(FlatCAMObj, Excellon):
|
||||||
|
|
||||||
self.tool_offset[dia] = current_table_offset_edited
|
self.tool_offset[dia] = current_table_offset_edited
|
||||||
|
|
||||||
print(self.tool_offset)
|
|
||||||
|
|
||||||
# we reactivate the signals after the after the tool editing
|
# we reactivate the signals after the after the tool editing
|
||||||
self.ui.tools_table.itemChanged.connect(self.on_tool_offset_edit)
|
self.ui.tools_table.itemChanged.connect(self.on_tool_offset_edit)
|
||||||
|
|
||||||
|
@ -1763,6 +1761,7 @@ class FlatCAMExcellon(FlatCAMObj, Excellon):
|
||||||
|
|
||||||
app_obj.progress.emit(20)
|
app_obj.progress.emit(20)
|
||||||
job_obj.z_cut = float(self.options["drillz"])
|
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.z_move = float(self.options["travelz"])
|
||||||
job_obj.feedrate = float(self.options["feedrate"])
|
job_obj.feedrate = float(self.options["feedrate"])
|
||||||
job_obj.feedrate_rapid = float(self.options["feedrate_rapid"])
|
job_obj.feedrate_rapid = float(self.options["feedrate_rapid"])
|
||||||
|
|
|
@ -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
|
- whenever a FlatCAM tool is activated, if the notebook side is hidden it will be unhidden
|
||||||
- reactivated the Voronoi classed
|
- reactivated the Voronoi classed
|
||||||
- added a new parameter named Offset in the Excellon tool table - work in progress
|
- 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
|
10.02.2019
|
||||||
|
|
||||||
|
@ -38,7 +40,7 @@ CAD program, and create G-Code for Isolation routing.
|
||||||
|
|
||||||
8.02.2019
|
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
|
- changed the menu entry Toggle Grid name to Toggle Grid Snap
|
||||||
- fixed errors in Toggle Axis
|
- fixed errors in Toggle Axis
|
||||||
- fixed error with shortcut key triggering twice the keyPressEvent when in the Project List View
|
- fixed error with shortcut key triggering twice the keyPressEvent when in the Project List View
|
||||||
|
|
23
camlib.py
23
camlib.py
|
@ -4399,6 +4399,8 @@ class CNCjob(Geometry):
|
||||||
self.units = units
|
self.units = units
|
||||||
|
|
||||||
self.z_cut = z_cut
|
self.z_cut = z_cut
|
||||||
|
self.tool_offset = {}
|
||||||
|
|
||||||
self.z_move = z_move
|
self.z_move = z_move
|
||||||
|
|
||||||
self.feedrate = feedrate
|
self.feedrate = feedrate
|
||||||
|
@ -4746,6 +4748,13 @@ class CNCjob(Geometry):
|
||||||
if self.dwell is True:
|
if self.dwell is True:
|
||||||
gcode += self.doformat(p.dwell_code) # Dwell time
|
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!
|
# Drillling!
|
||||||
for k in node_list:
|
for k in node_list:
|
||||||
locx = locations[k][0]
|
locx = locations[k][0]
|
||||||
|
@ -4827,6 +4836,14 @@ class CNCjob(Geometry):
|
||||||
if self.dwell is True:
|
if self.dwell is True:
|
||||||
gcode += self.doformat(p.dwell_code) # Dwell time
|
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!
|
# Drillling!
|
||||||
for k in node_list:
|
for k in node_list:
|
||||||
locx = locations[k][0]
|
locx = locations[k][0]
|
||||||
|
@ -4868,6 +4885,12 @@ class CNCjob(Geometry):
|
||||||
if self.dwell is True:
|
if self.dwell is True:
|
||||||
gcode += self.doformat(p.dwell_code) # Dwell time
|
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!
|
# Drillling!
|
||||||
altPoints = []
|
altPoints = []
|
||||||
for point in points[tool]:
|
for point in points[tool]:
|
||||||
|
|
|
@ -79,12 +79,12 @@ else:
|
||||||
|
|
||||||
print("INCLUDE_FILES", include_files)
|
print("INCLUDE_FILES", include_files)
|
||||||
|
|
||||||
#execfile('clean.py')
|
# execfile('clean.py')
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name="FlatCAM",
|
name="FlatCAM",
|
||||||
author="Juan Pablo Caram",
|
author="Juan Pablo Caram",
|
||||||
version="3000",
|
version="Beta",
|
||||||
description="FlatCAM: 2D Computer Aided PCB Manufacturing",
|
description="FlatCAM: 2D Computer Aided PCB Manufacturing",
|
||||||
options=dict(build_exe=buildOptions),
|
options=dict(build_exe=buildOptions),
|
||||||
executables=[Executable("FlatCAM.py", icon='share/flatcam_icon48.ico', base=base)]
|
executables=[Executable("FlatCAM.py", icon='share/flatcam_icon48.ico', base=base)]
|
||||||
|
|
Loading…
Reference in New Issue