diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index 1e85633..f5e60b3 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -912,11 +912,6 @@ function BeamExec.ProcessFeatures() BL.AddPhaseWithRawParts( nRawId, BD.OriTR, 0) -- altrimenti else - ---- se l'ultima fase è senza lavorazioni, la elimino - --local nLastOpeType = EgtGetOperationType( EgtGetLastOperation() or GDB_ID.NULL) - --if nLastOpeType == MCH_OY.DISP then - -- EgtRemoveLastPhase() - --end -- aggiungo nuova fase con le travi in posizione standard BL.AddPhaseWithRawParts( nRawId, BD.OriTR, BD.RAW_OFFSET) -- se grezzo successivo senza pezzi e finale, va tolto @@ -946,6 +941,7 @@ function BeamExec.ProcessFeatures() end EgtSetInfo( nDispId, 'ROT', -1) -- inserisco le lavorazioni da lavorare ruotate + local nSideMchOk = 0 for i = 1, #vProc do -- creo la lavorazione local Proc = vProc[i] @@ -959,6 +955,7 @@ function BeamExec.ProcessFeatures() else table.insert( Stats, {Err=0, Msg='', Rot=-2, CutId=Proc.CutId, TaskId=Proc.TaskId}) end + if bOk then nSideMchOk = nSideMchOk + 1 end -- se era taglio di separazione, aggiungo nuova fase if bNewPhase then BL.AddPhaseWithRawParts( nRawId, BD.OriTR, BD.RAW_OFFSET) @@ -977,6 +974,10 @@ function BeamExec.ProcessFeatures() end end end + -- se non sono state inserite lavorazioni di fianco, elimino la fase perchè inutile e dannosa + if nSideMchOk == 0 then + EgtRemoveLastPhase() + end -- se separazione non ancora effettuata, aggiungo nuova fase con le travi in posizione standard if not bSplitRot then BL.AddPhaseWithRawParts( nRawId, BD.OriTR, 0)