- make sure to copy the options attribute to the final object in the case of: FlatCAMGeometry.merge(), FlatCAMGerber.merge() and for the Panelize Tool

This commit is contained in:
Marius Stanciu 2019-01-25 15:27:46 +02:00 committed by Marius
parent f553f2b35a
commit d88d334867
3 changed files with 25 additions and 2 deletions

View File

@ -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

View File

@ -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

View File

@ -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