- solved some Shapely 2.0 deprecation warnings in the Panelize Plugin

This commit is contained in:
Marius Stanciu
2021-11-19 20:25:17 +02:00
committed by Marius
parent 370e8f8ec1
commit 1ed9714d92
2 changed files with 21 additions and 6 deletions

View File

@@ -7,6 +7,10 @@ CHANGELOG for FlatCAM beta
================================================= =================================================
19.11.2021
- solved some Shapely 2.0 deprecation warnings in the Panelize Plugin
17.11.2021 17.11.2021
- fixed an issue when using Python 3.10, in GUI elements - fixed an issue when using Python 3.10, in GUI elements

View File

@@ -17,7 +17,7 @@ import numpy as np
import shapely.affinity as affinity import shapely.affinity as affinity
from shapely.ops import unary_union, linemerge, snap from shapely.ops import unary_union, linemerge, snap
from shapely.geometry import LineString, MultiLineString, Polygon from shapely.geometry import LineString, MultiLineString, Polygon, MultiPolygon
import gettext import gettext
import appTranslation as fcTranslate import appTranslation as fcTranslate
@@ -544,19 +544,25 @@ class Panelize(AppTool):
if panel_source_obj.multigeo is True: if panel_source_obj.multigeo is True:
for tool in panel_source_obj.tools: for tool in panel_source_obj.tools:
try: try:
geo_len += len(panel_source_obj.tools[tool]['solid_geometry']) source_geo = panel_source_obj.tools[tool]['solid_geometry']
work_geo = source_geo.geoms if isinstance(source_geo, MultiPolygon) else source_geo
geo_len += len(work_geo)
except TypeError: except TypeError:
geo_len += 1 geo_len += 1
else: else:
try: try:
geo_len = len(panel_source_obj.solid_geometry) source_geo = panel_source_obj.solid_geometry
work_geo = source_geo.geoms if isinstance(source_geo, MultiPolygon) else source_geo
geo_len = len(work_geo)
except TypeError: except TypeError:
geo_len = 1 geo_len = 1
elif panel_source_obj.kind == 'gerber': elif panel_source_obj.kind == 'gerber':
for ap in panel_source_obj.tools: for ap in panel_source_obj.tools:
if 'geometry' in panel_source_obj.tools[ap]: if 'geometry' in panel_source_obj.tools[ap]:
try: try:
geo_len += len(panel_source_obj.tools[ap]['geometry']) source_geo = panel_source_obj.tools[ap]['geometry']
work_geo = source_geo.geoms if isinstance(source_geo, MultiPolygon) else source_geo
geo_len += len(work_geo)
except TypeError: except TypeError:
geo_len += 1 geo_len += 1
@@ -578,7 +584,10 @@ class Panelize(AppTool):
# calculate the number of polygons # calculate the number of polygons
try: try:
geo_len = len(panel_source_obj.tools[tool]['solid_geometry']) source_geo = panel_source_obj.tools[tool]['geometry']
work_geo = source_geo.geoms if isinstance(source_geo,
MultiPolygon) else source_geo
geo_len = len(work_geo)
except TypeError: except TypeError:
geo_len = 1 geo_len = 1
@@ -619,7 +628,9 @@ class Panelize(AppTool):
# calculate the number of polygons # calculate the number of polygons
try: try:
geo_len = len(panel_source_obj.solid_geometry) source_geo = panel_source_obj.solid_geometry
work_geo = source_geo.geoms if isinstance(source_geo, MultiPolygon) else source_geo
geo_len = len(work_geo)
except TypeError: except TypeError:
geo_len = 1 geo_len = 1