- overwritten the Beta_8.995 branch with the Gerber_Editor_Upgrade branch

This commit is contained in:
Marius Stanciu
2023-05-24 18:07:05 +03:00
parent c23d0c4ed6
commit 63071a9bae
214 changed files with 22249 additions and 6251 deletions

View File

@@ -5,10 +5,26 @@
# MIT Licence #
# ##########################################################
from appTool import *
import shapely.geometry
from PyQt6 import QtWidgets, QtCore, QtGui
from appTool import AppTool
from appGUI.GUIElements import VerticalScrollArea, FCLabel, FCButton, FCFrame, GLay, FCComboBox, FCCheckBox, \
FCComboBox2, RadioSet, FCDoubleSpinner, EvalEntry, FCTable
from appCommon.Common import LoudDict
import logging
from copy import deepcopy
import math
from shapely import LineString, Polygon, MultiPolygon, box, Point
from shapely.geometry import base
from shapely.ops import unary_union
import gettext
import appTranslation as fcTranslate
import builtins
from camlib import flatten_shapely_geometry
fcTranslate.apply_language('strings')
if '_' not in builtins.__dict__:
_ = gettext.gettext
@@ -70,7 +86,7 @@ class ToolFiducials(AppTool):
self.handlers_connected = False
# storage for temporary shapes when adding manual markers
self.temp_shapes = self.app.move_tool.sel_shapes
self.temp_shapes = self.app.sel_shapes
def run(self, toggle=True):
self.app.defaults.report_usage("ToolFiducials()")
@@ -388,6 +404,8 @@ class ToolFiducials(AppTool):
"""
fid_size = self.ui.fid_size_entry.get_value() if fid_size is None else fid_size
fid_type = 0 if fid_type is None else fid_type # default is 'circular' <=> 0
if fid_type == "circular":
fid_type = 0
line_thickness = self.ui.line_thickness_entry.get_value() if line_size is None else line_size
radius = fid_size / 2.0
@@ -425,12 +443,10 @@ class ToolFiducials(AppTool):
new_apertures[new_apid]['geometry'].append(deepcopy(dict_el))
s_list = []
if g_obj.solid_geometry:
try:
for poly in g_obj.solid_geometry:
s_list.append(poly)
except TypeError:
s_list.append(g_obj.solid_geometry)
flat_geo = flatten_shapely_geometry(g_obj.solid_geometry)
if flat_geo:
for poly in flat_geo:
s_list.append(poly)
s_list += geo_list
elif fid_type == 1: # 'cross'
@@ -490,15 +506,14 @@ class ToolFiducials(AppTool):
new_apertures[new_apid]['geometry'].append(deepcopy(dict_el))
s_list = []
if g_obj.solid_geometry:
try:
for poly in g_obj.solid_geometry:
s_list.append(poly)
except TypeError:
s_list.append(g_obj.solid_geometry)
flat_geo = flatten_shapely_geometry(g_obj.solid_geometry)
if flat_geo:
for poly in flat_geo:
s_list.append(poly)
geo_buff_list = MultiPolygon(geo_buff_list)
geo_buff_list = geo_buff_list.buffer(0)
geo_buff_list = flatten_shapely_geometry(geo_buff_list)
for poly in geo_buff_list:
s_list.append(poly)
else:
@@ -541,7 +556,7 @@ class ToolFiducials(AppTool):
geo_buff_list = []
if aperture_found:
for geo in geo_list:
assert isinstance(geo, shapely.geometry.base.BaseGeometry)
assert isinstance(geo, base.BaseGeometry)
geo_buff_list.append(geo)
dict_el = {'follow': geo.centroid, 'solid': geo}
@@ -562,19 +577,17 @@ class ToolFiducials(AppTool):
}
for geo in geo_list:
assert isinstance(geo, shapely.geometry.base.BaseGeometry)
assert isinstance(geo, base.BaseGeometry)
geo_buff_list.append(geo)
dict_el = {'follow': geo.centroid, 'solid': geo}
new_apertures[new_apid]['geometry'].append(deepcopy(dict_el))
s_list = []
if g_obj.solid_geometry:
try:
for poly in g_obj.solid_geometry:
s_list.append(poly)
except TypeError:
s_list.append(g_obj.solid_geometry)
flat_geo = flatten_shapely_geometry(g_obj.solid_geometry)
if flat_geo:
for poly in flat_geo:
s_list.append(poly)
for poly in geo_buff_list:
s_list.append(poly)