Placement: fix 7 excepts genéricos -> específicos (KeyError, Exception, Part.OCCError)

This commit is contained in:
Javier Braña
2026-05-03 13:23:48 +02:00
parent 7d1127c6b5
commit 6c2db07493
+6 -6
View File
@@ -156,7 +156,7 @@ class _PVPlantPlacementTaskPanel_old:
newrack.Placement = placements[idx] newrack.Placement = placements[idx]
group.addObject(newrack) group.addObject(newrack)
frames.append(newrack) frames.append(newrack)
except: except (KeyError, TypeError, AttributeError):
placements = dataframe[0] placements = dataframe[0]
frames = [] frames = []
for idx in placements: for idx in placements:
@@ -696,7 +696,7 @@ class _PVPlantPlacementTaskPanel_new1:
newrack.Placement = placements[idx] newrack.Placement = placements[idx]
group.addObject(newrack) group.addObject(newrack)
frames.append(newrack) frames.append(newrack)
except: except (KeyError, TypeError, AttributeError):
placements = dataframe[0] placements = dataframe[0]
frames = [] frames = []
for idx in placements: for idx in placements:
@@ -1310,7 +1310,7 @@ class _PVPlantPlacementTaskPanel:
self._terrain_interpolator = LinearNDInterpolator( self._terrain_interpolator = LinearNDInterpolator(
filtered_points[:, :2], filtered_points[:, 2] filtered_points[:, :2], filtered_points[:, 2]
) )
except: except Exception:
self._terrain_interpolator = None self._terrain_interpolator = None
return self._terrain_interpolator return self._terrain_interpolator
@@ -1357,7 +1357,7 @@ class _PVPlantPlacementTaskPanel:
z_bot = slope * bot_point.y + intercept z_bot = slope * bot_point.y + intercept
else: else:
z_top = z_bot = 0 z_top = z_bot = 0
except: except Exception:
z_top = z_bot = 0 z_top = z_bot = 0
else: else:
# Fallback to direct projection (slower) # Fallback to direct projection (slower)
@@ -1373,7 +1373,7 @@ class _PVPlantPlacementTaskPanel:
z_bot = slope * bot_point.y + intercept z_bot = slope * bot_point.y + intercept
else: else:
z_top = z_bot = 0 z_top = z_bot = 0
except: except Exception:
z_top = z_bot = 0 z_top = z_bot = 0
new_top = FreeCAD.Vector(top_point.x, top_point.y, z_top) new_top = FreeCAD.Vector(top_point.x, top_point.y, z_top)
@@ -1436,7 +1436,7 @@ class _PVPlantPlacementTaskPanel:
try: try:
cut = frame_footprint.cut([self.Area]) cut = frame_footprint.cut([self.Area])
return len(cut.Vertexes) == 0 return len(cut.Vertexes) == 0
except: except Part.OCCError:
return False return False
def getAligments(self): def getAligments(self):