diff --git a/core/nodeslicer/nodes/system.py b/core/nodeslicer/nodes/system.py index 69dc48b..236533a 100644 --- a/core/nodeslicer/nodes/system.py +++ b/core/nodeslicer/nodes/system.py @@ -99,14 +99,10 @@ class SLICENODE_PrusaslicerSlice(SliceNode): return super().evaluate_output(socket_name, **kwargs) def evaluate_for_index(self, index: int, operator=None) -> str: - mesh_groups: list[SlicingCollection | SlicingGroup] = self.resolve_multi_input("Slicing Group") - if index >= len(mesh_groups): - return "" - - mesh_data = mesh_groups[index] - if not mesh_data: - return "" - + # Optimization: Only resolve the specific mesh input for this index + target_id = f"Slicing Group_ms_in_{index}" + mesh_data: SlicingCollection | SlicingGroup = self.resolve(target_id) + conf_data = self.resolve("Config") overrides = self.resolve("Settings")