From 3a1c98b8ebe1b38ccf2a40ce58871d026a4a500a Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Fri, 3 Jul 2026 10:16:03 +0200 Subject: [PATCH] - in BeamExec si pulisce il tempgroup dopo ogni chiamata della Make di una strategia (evita problemi di memoria) --- LuaLibs/BeamExec.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index c7ca8fd..8de2651 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -1174,6 +1174,9 @@ local function CalculateStrategies( vProcSingleRot, Part) -- eseguo la strategia solo come calcolo fattibilità e voto. Non si applicano le lavorazioni. Si passa la Proc e i parametri personalizzati _, Proc.AvailableStrategies[nIndexCurrentStrategy].Result = CurrentStrategy.Script.Make( false, Proc, Part, Proc.AvailableStrategies[nIndexCurrentStrategy]) + -- pulizia eventuali geometrie aggiutive create dalla strategia + EgtEmptyGroup( Part.idTempGroup) + -- se taglio di testa o coda sostitutivo non applicabile si ripristina l'originale if Proc.AvailableStrategies[nIndexCurrentStrategy].Result.sStatus ~= 'Completed' then if ID.IsHeadCut( Proc) and not Proc.bIsOriginalHeadcut then @@ -1431,6 +1434,8 @@ local function CalculateMachinings( vProc, Part, nInitialRotation) local StrategyScript = require( StrategyScriptName) -- eseguo la strategia e si applicano le lavorazioni. Si passa la Proc e i parametri personalizzati local _, Result = StrategyScript.Make( true, Proc, Part, Proc.ChosenStrategy) + -- pulizia eventuali geometrie aggiutive create dalla strategia + EgtEmptyGroup( Part.idTempGroup) -- per i tagli di testa e coda, che non hanno girato nel CalculateStrategies, si devono settare i risultati if ( ID.IsHeadCut( Proc) or ID.IsTailCut( Proc)) and not Proc.ChosenStrategy.Result then Proc.ChosenStrategy.Result = Result