From 6c2db0749355f336a94d18689448f6e4617dfbe8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Bra=C3=B1a?= Date: Sun, 3 May 2026 13:23:48 +0200 Subject: [PATCH] =?UTF-8?q?Placement:=20fix=207=20excepts=20gen=C3=A9ricos?= =?UTF-8?q?=20->=20espec=C3=ADficos=20(KeyError,=20Exception,=20Part.OCCEr?= =?UTF-8?q?ror)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PVPlantPlacement.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/PVPlantPlacement.py b/PVPlantPlacement.py index 1a03175..dc770b0 100644 --- a/PVPlantPlacement.py +++ b/PVPlantPlacement.py @@ -156,7 +156,7 @@ class _PVPlantPlacementTaskPanel_old: newrack.Placement = placements[idx] group.addObject(newrack) frames.append(newrack) - except: + except (KeyError, TypeError, AttributeError): placements = dataframe[0] frames = [] for idx in placements: @@ -696,7 +696,7 @@ class _PVPlantPlacementTaskPanel_new1: newrack.Placement = placements[idx] group.addObject(newrack) frames.append(newrack) - except: + except (KeyError, TypeError, AttributeError): placements = dataframe[0] frames = [] for idx in placements: @@ -1310,7 +1310,7 @@ class _PVPlantPlacementTaskPanel: self._terrain_interpolator = LinearNDInterpolator( filtered_points[:, :2], filtered_points[:, 2] ) - except: + except Exception: self._terrain_interpolator = None return self._terrain_interpolator @@ -1357,7 +1357,7 @@ class _PVPlantPlacementTaskPanel: z_bot = slope * bot_point.y + intercept else: z_top = z_bot = 0 - except: + except Exception: z_top = z_bot = 0 else: # Fallback to direct projection (slower) @@ -1373,7 +1373,7 @@ class _PVPlantPlacementTaskPanel: z_bot = slope * bot_point.y + intercept else: z_top = z_bot = 0 - except: + except Exception: z_top = z_bot = 0 new_top = FreeCAD.Vector(top_point.x, top_point.y, z_top) @@ -1436,7 +1436,7 @@ class _PVPlantPlacementTaskPanel: try: cut = frame_footprint.cut([self.Area]) return len(cut.Vertexes) == 0 - except: + except Part.OCCError: return False def getAligments(self):