- fixed some leftovers from Qt6 port

- some code optimizations in the Gerber Editor
- Corners Plugin now generate Gerber objects with the solid geometry flattened
- fixed issue where Gerber objects created from importing SVG geometries could not be edited
This commit is contained in:
Marius Stanciu
2021-09-21 23:41:56 +03:00
committed by Marius
parent 548b5c2e28
commit eaf9562854
6 changed files with 87 additions and 61 deletions

View File

@@ -11,6 +11,8 @@ from appTool import AppTool
from appCommon.Common import LoudDict
from appGUI.GUIElements import FCDoubleSpinner, FCCheckBox, FCComboBox, FCButton, RadioSet, FCLabel, \
VerticalScrollArea, FCGridLayout, FCFrame
from camlib import flatten_shapely_geometry
from shapely.geometry import MultiPolygon, LineString, Point
from shapely.ops import unary_union
@@ -469,6 +471,8 @@ class ToolCorners(AppTool):
geo_buff_list = MultiPolygon(geo_buff_list)
geo_buff_list = geo_buff_list.buffer(0)
geo_buff_list = flatten_shapely_geometry(geo_buff_list)
try:
for poly in geo_buff_list:
s_list.append(poly)
@@ -487,8 +491,8 @@ class ToolCorners(AppTool):
grb_obj.multigeo = False
grb_obj.follow = deepcopy(g_obj.follow)
grb_obj.tools = new_apertures
grb_obj.solid_geometry = unary_union(s_list)
grb_obj.follow_geometry = deepcopy(g_obj.follow_geometry) + geo_list
grb_obj.solid_geometry = flatten_shapely_geometry(unary_union(s_list))
grb_obj.follow_geometry = flatten_shapely_geometry(g_obj.follow_geometry + geo_list)
grb_obj.source_file = app_obj.f_handlers.export_gerber(obj_name=outname, filename=None, local_use=grb_obj,
use_thread=False)