diff --git a/FlatCAMApp.py b/FlatCAMApp.py index e07a1b34..69e2a5ed 100644 --- a/FlatCAMApp.py +++ b/FlatCAMApp.py @@ -7350,7 +7350,14 @@ class App(QtCore.QObject): except Exception as e: log.debug("App.on_copy_object() --> %s" % str(e)) + try: + obj_init.source_file = deepcopy(obj.source_file) + except (AttributeError, TypeError): + pass + def initialize_excellon(obj_init, app): + obj_init.source_file = deepcopy(obj.source_file) + obj_init.tools = deepcopy(obj.tools) # drills are offset, so they need to be deep copied diff --git a/README.md b/README.md index 88b91b0b..b7da5eea 100644 --- a/README.md +++ b/README.md @@ -14,12 +14,14 @@ CAD program, and create G-Code for Isolation routing. - made sure that if an older preferences file is detected then there are no errors and only the parameters that are currently active are loaded; the factory defaults file is deleted and recreated in the new format - in Preferences added a new button: 'Close' to close the Preferences window without saving - fixed bug in FCSpinner and FCDoubleSpinner GUI elements, that are now the main GUI element in FlatCAM, that made partial selection difficult -- updated the Paint Tool in Geometry Editor to use the FCDoublepinbox +- updated the Paint Tool in Geometry Editor to use the FCDoublespinbox - added the possibility for suffix presence on the FCSpinner and FCDoubleSpinner GUI Elements - added the '%' symbol for overlap fields; I still need to divide the content by 100 to get the original (0 ... 1) value - fixed the overlap parameter all over the app to reflect the change to percentage - in Copper Thieving Tool added the display of the patterned plated area (approximative area) - Copper Thieving Tool - updated the way plated area is calculated making it a bit more precise but still it is a bit bigger than the actual area +- fixed the Copy Object function to copy also the source_file content +- Copper Thieving Tool - when the clearance value for the pattern plating mask is negative it will be applied to the origin soldermask too 3.12.2019 diff --git a/flatcamTools/ToolCopperThieving.py b/flatcamTools/ToolCopperThieving.py index b8e402c3..700bba6a 100644 --- a/flatcamTools/ToolCopperThieving.py +++ b/flatcamTools/ToolCopperThieving.py @@ -1298,6 +1298,13 @@ class ToolCopperThieving(FlatCAMTool): if isinstance(app_obj.sm_object.solid_geometry, MultiPolygon): geo_list = list(app_obj.sm_object.solid_geometry.geoms) + # if the clearance is negative apply it to the original soldermask too + if ppm_clearance < 0: + temp_geo_list = list() + for geo in geo_list: + temp_geo_list.append(geo.buffer(ppm_clearance)) + geo_list = temp_geo_list + plated_area = 0.0 for geo in geo_list: plated_area += geo.area