- fixed multiple issues in the App objects related to wrong usage of self.obj_options attribute instead of self.app.options attribute
- remade the Film Plugin such that the `skew` feature is now done in length units as opposed with the previous usage of angles - refactored some big methods from the Film Plugin
This commit is contained in:
@@ -12,6 +12,9 @@ CHANGELOG for FlatCAM beta
|
||||
- fixed an issue where using the 'G' shortcut key in Editors will not toggle the grid snap
|
||||
- fixed an issue in the Excellon Editor where selecting the drills did not highlight them but instead made them invisible (although the selection still worked)
|
||||
- fixed an issue in the Gerber Editor where selecting one shape will auto-select all the shapes made with the same aperture
|
||||
- fixed multiple issues in the App objects related to wrong usage of self.obj_options attribute instead of self.app.options attribute
|
||||
- remade the Film Plugin such that the `skew` feature is now done in length units as opposed with the previous usage of angles
|
||||
- refactored some big methods from the Film Plugin
|
||||
|
||||
9.03.2022
|
||||
|
||||
@@ -3454,7 +3457,7 @@ RELEASE 8.993
|
||||
|
||||
- working on a new tool: Extract Drills Tool who will create a Excellon object out of the apertures of a Gerber object
|
||||
- finished the GUI in the Extract Drills Tool
|
||||
- fixed issue in Film Tool where some parameters names in calls of method export_positive() were not matching the actual parameters name
|
||||
- fixed issue in Film Tool where some parameters names in calls of method export_positive_handler() were not matching the actual parameters name
|
||||
- finished the Extract Drills Tool
|
||||
- fixed a small issue in the DoubleSided Tool
|
||||
|
||||
|
||||
@@ -111,7 +111,7 @@ class ToolsFilmPrefGroupUI(OptionsGroupUI):
|
||||
grid_skew = FCGridLayout(v_spacing=5, h_spacing=3)
|
||||
skew_frame.setLayout(grid_skew)
|
||||
|
||||
self.film_skewx_label = FCLabel('%s:' % _("X angle"))
|
||||
self.film_skewx_label = FCLabel('%s:' % _("X val"))
|
||||
self.film_skewx_entry = FCDoubleSpinner()
|
||||
self.film_skewx_entry.set_range(-999.9999, 999.9999)
|
||||
self.film_skewx_entry.set_precision(self.decimals)
|
||||
@@ -120,7 +120,7 @@ class ToolsFilmPrefGroupUI(OptionsGroupUI):
|
||||
grid_skew.addWidget(self.film_skewx_label, 0, 0)
|
||||
grid_skew.addWidget(self.film_skewx_entry, 0, 1)
|
||||
|
||||
self.film_skewy_label = FCLabel('%s:' % _("Y angle"))
|
||||
self.film_skewy_label = FCLabel('%s:' % _("Y val"))
|
||||
self.film_skewy_entry = FCDoubleSpinner()
|
||||
self.film_skewy_entry.set_range(-999.9999, 999.9999)
|
||||
self.film_skewy_entry.set_precision(self.decimals)
|
||||
@@ -137,7 +137,7 @@ class ToolsFilmPrefGroupUI(OptionsGroupUI):
|
||||
|
||||
self.film_skew_ref_combo = FCComboBox2()
|
||||
self.film_skew_ref_combo.addItems(
|
||||
[_('Center'), _('Bottom Left'), _('Top Left'), _('Bottom Right'), _('Top right')])
|
||||
[_('Center'), _('Bottom Left')])
|
||||
|
||||
grid_skew.addWidget(self.skew_ref_label, 4, 0)
|
||||
grid_skew.addWidget(self.film_skew_ref_combo, 4, 1)
|
||||
|
||||
@@ -446,13 +446,13 @@ class AppObject(QtCore.QObject):
|
||||
for opt_key, opt_val in app.options.items():
|
||||
if opt_key.find('geometry' + "_") == 0:
|
||||
oname = opt_key[len('geometry') + 1:]
|
||||
default_data[oname] = self.app.options[opt_key]
|
||||
default_data[oname] = app.options[opt_key]
|
||||
if opt_key.find('tools_') == 0:
|
||||
default_data[opt_key] = self.app.options[opt_key]
|
||||
default_data[opt_key] = app.options[opt_key]
|
||||
|
||||
new_obj.tools = {
|
||||
1: {
|
||||
'tooldia': float(app.defaults["tools_mill_tooldia"]),
|
||||
'tooldia': float(app.options["tools_mill_tooldia"]),
|
||||
'offset': 'Path',
|
||||
'offset_value': 0.0,
|
||||
'type': 'Rough',
|
||||
|
||||
@@ -1020,7 +1020,7 @@ class ExcellonObject(FlatCAMObj, Excellon):
|
||||
|
||||
geo_obj.obj_options['type'] = 'Excellon Geometry'
|
||||
geo_obj.obj_options["tools_mill_tooldia"] = str(tooldia)
|
||||
geo_obj.obj_options["multidepth"] = app_obj.defaults["tools_mill_multidepth"]
|
||||
geo_obj.obj_options["multidepth"] = app_obj.options["tools_mill_multidepth"]
|
||||
geo_obj.solid_geometry = []
|
||||
|
||||
# in case that the tool used has the same diameter with the hole, and since the maximum resolution
|
||||
@@ -1117,7 +1117,7 @@ class ExcellonObject(FlatCAMObj, Excellon):
|
||||
|
||||
geo_obj.obj_options['type'] = 'Excellon Geometry'
|
||||
geo_obj.obj_options["tools_mill_tooldia"] = str(tooldia)
|
||||
geo_obj.obj_options["tools_mill_multidepth"] = app_obj.defaults["tools_mill_multidepth"]
|
||||
geo_obj.obj_options["tools_mill_multidepth"] = app_obj.options["tools_mill_multidepth"]
|
||||
geo_obj.solid_geometry = []
|
||||
|
||||
# in case that the tool used has the same diameter with the hole, and since the maximum resolution
|
||||
|
||||
@@ -585,12 +585,12 @@ class GerberObject(FlatCAMObj, Gerber):
|
||||
|
||||
# store here the default data for Geometry Data
|
||||
default_data = {}
|
||||
for opt_key, opt_val in app_obj.obj_options.items():
|
||||
for opt_key, opt_val in app_obj.options.items():
|
||||
if opt_key.find('geometry' + "_") == 0:
|
||||
oname = opt_key[len('geometry') + 1:]
|
||||
default_data[oname] = self.app.options[opt_key]
|
||||
default_data[oname] = app_obj.options[opt_key]
|
||||
if opt_key.find('tools_mill' + "_") == 0:
|
||||
default_data[opt_key] = self.app.options[opt_key]
|
||||
default_data[opt_key] = app_obj.options[opt_key]
|
||||
|
||||
geo_obj.tools = {
|
||||
1: {
|
||||
@@ -676,7 +676,7 @@ class GerberObject(FlatCAMObj, Gerber):
|
||||
def iso_init(geo_obj, app_obj):
|
||||
# Propagate options
|
||||
geo_obj.obj_options["tools_mill_tooldia"] = str(dia)
|
||||
geo_obj.tool_type = self.app.options["tools_iso_tool_shape"]
|
||||
geo_obj.tool_type = app_obj.options["tools_iso_tool_shape"]
|
||||
geo_obj.multigeo = True
|
||||
|
||||
# if milling type is climb then the move is counter-clockwise around features
|
||||
@@ -692,12 +692,12 @@ class GerberObject(FlatCAMObj, Gerber):
|
||||
|
||||
# store here the default data for Geometry Data
|
||||
default_data = {}
|
||||
for opt_key, opt_val in app_obj.obj_options.items():
|
||||
for opt_key, opt_val in app_obj.options.items():
|
||||
if opt_key.find('geometry' + "_") == 0:
|
||||
oname = opt_key[len('geometry') + 1:]
|
||||
default_data[oname] = self.app.options[opt_key]
|
||||
default_data[oname] = app_obj.options[opt_key]
|
||||
if opt_key.find('tools_mill' + "_") == 0:
|
||||
default_data[opt_key] = self.app.options[opt_key]
|
||||
default_data[opt_key] = app_obj.options[opt_key]
|
||||
|
||||
geo_obj.tools = {
|
||||
1: {
|
||||
@@ -786,7 +786,7 @@ class GerberObject(FlatCAMObj, Gerber):
|
||||
"""
|
||||
|
||||
if outname is None:
|
||||
follow_name = self.obj_options["name"] + "_follow"
|
||||
follow_name = self.options["name"] + "_follow"
|
||||
else:
|
||||
follow_name = outname
|
||||
|
||||
@@ -808,16 +808,16 @@ class GerberObject(FlatCAMObj, Gerber):
|
||||
# new_obj.obj_options["tools_mill_tooldia"] = str(self.app.options["tools_iso_tooldia"])
|
||||
new_obj.solid_geometry = deepcopy(self.follow_geometry)
|
||||
|
||||
new_obj.obj_options["tools_mill_tooldia"] = app_obj.defaults["tools_mill_tooldia"]
|
||||
new_obj.obj_options["tools_mill_tooldia"] = app_obj.options["tools_mill_tooldia"]
|
||||
|
||||
# store here the default data for Geometry Data
|
||||
default_data = {}
|
||||
for opt_key, opt_val in app_obj.obj_options.items():
|
||||
for opt_key, opt_val in app_obj.options.items():
|
||||
if opt_key.find('geometry' + "_") == 0:
|
||||
oname = opt_key[len('geometry') + 1:]
|
||||
default_data[oname] = self.app.options[opt_key]
|
||||
default_data[oname] = app_obj.options[opt_key]
|
||||
if opt_key.find('tools_mill' + "_") == 0:
|
||||
default_data[opt_key] = self.app.options[opt_key]
|
||||
default_data[opt_key] = app_obj.options[opt_key]
|
||||
|
||||
new_obj.tools = {
|
||||
1: {
|
||||
@@ -1021,10 +1021,7 @@ class GerberObject(FlatCAMObj, Gerber):
|
||||
# return
|
||||
|
||||
# for marking apertures, line color and fill color are the same
|
||||
if 'color' in kwargs:
|
||||
color = kwargs['color']
|
||||
else:
|
||||
color = self.app.options['gerber_plot_fill']
|
||||
color = kwargs['color'] if 'color' in kwargs else self.app.options['gerber_plot_fill']
|
||||
|
||||
if 'marked_aperture' in kwargs:
|
||||
aperture_to_plot_mark = kwargs['marked_aperture']
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user