diff --git a/FlatCAMObj.py b/FlatCAMObj.py index 381f1a8e..6590e54d 100644 --- a/FlatCAMObj.py +++ b/FlatCAMObj.py @@ -370,6 +370,12 @@ class FlatCAMGerber(FlatCAMObj, Gerber): grb_final.solid_geometry = [grb_final.solid_geometry] for grb in grb_list: + for option in grb.options: + if option is not 'name': + try: + grb_final.options[option] = grb.options[option] + except: + log.warning("Failed to copy option.", option) # Expand lists if type(grb) is list: @@ -1716,11 +1722,19 @@ class FlatCAMGeometry(FlatCAMObj, Geometry): if type(geo_final.solid_geometry) is not list: geo_final.solid_geometry = [geo_final.solid_geometry] + + for geo in geo_list: + for option in geo.options: + if option is not 'name': + try: + geo_final.options[option] = geo.options[option] + except: + log.warning("Failed to copy option.", option) + # Expand lists if type(geo) is list: FlatCAMGeometry.merge(geo, geo_final) - # If not list, just append else: # merge solid_geometry, useful for singletool geometry, for multitool each is empty diff --git a/README.md b/README.md index a9223bd9..be6ffde1 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ CAD program, and create G-Code for Isolation routing. - deleted junk folders - remade the Panelize Tool: now it is much faster, it is multi-threaded, it works with multitool geometries and it works with multigeo geometries too. - +- make sure to copy the options attribute to the final object in the case of: FlatCAMGeometry.merge(), FlatCAMGerber.merge() and for the Panelize Tool 24.01.2019 diff --git a/flatcamTools/ToolPanelize.py b/flatcamTools/ToolPanelize.py index a53fe6d9..244456d7 100644 --- a/flatcamTools/ToolPanelize.py +++ b/flatcamTools/ToolPanelize.py @@ -359,6 +359,13 @@ class Panelize(FlatCAMTool): obj_fin.slots = [] obj_fin.solid_geometry = [] + for option in panel_obj.options: + if option is not 'name': + try: + obj_fin.options[option] = panel_obj.options[option] + except: + log.warning("Failed to copy option.", option) + for row in range(rows): currentx = 0.0 for col in range(columns): @@ -386,6 +393,8 @@ class Panelize(FlatCAMTool): currenty += lenghty obj_fin.create_geometry() + obj_fin.zeros = panel_obj.zeros + obj_fin.units = panel_obj.units def job_init_geometry(obj_fin, app_obj): currentx = 0.0