diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index 2f2af28..967d443 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -1394,6 +1394,7 @@ function BeamExec.ProcessMachinings( PARTS) local bIsCombinationMachinable = false local vProc, MatrixResult while not bIsCombinationMachinable do + bIsCombinationMachinable = true local bAllStrategiesApplied = false -- si calcola la combinazione di lavorazione migliore vProc, MatrixResult = GetBestResultFromCombinationsMatrix( PROCESSINGS[nPart], PARTS[nPart]) @@ -1411,17 +1412,16 @@ function BeamExec.ProcessMachinings( PARTS) MACHININGS.Info.nSplitCutRotation = 1 -- sltrimenti si fanno tutti i calcoli else - -- salvo sul PART la posizione di partenza che è stata scelta - PARTS[nPart].nInitialPosition = MatrixResult.nInitialPosition - -- ordinamento di base delle feature vProc = OrderFeatures( vProc) -- esegue le strategie migliori che ha precedentemente scelto e salva le lavorazioni nella lista globale bAllStrategiesApplied = false - MACHININGS, bAllStrategiesApplied = CalculateMachinings( vProc, PARTS[nPart], PARTS[nPart].nInitialPosition) + MACHININGS, bAllStrategiesApplied = CalculateMachinings( vProc, PARTS[nPart], MatrixResult.nInitialPosition) bIsCombinationMachinable = bAllStrategiesApplied end + -- salvo sul PART la posizione di partenza che è stata scelta + PARTS[nPart].nInitialPosition = MatrixResult.nInitialPosition -- aggiunge tagli testa e coda in fasi opportune local nRotHeadCut = MatrixResult.nInitialPosition + MACHININGS.Info.nHeadCutRotation - 1 @@ -1451,7 +1451,7 @@ function BeamExec.ProcessMachinings( PARTS) table.insert( vProcHeadTail, PROCESSINGS[nPart].Rotation[nRotSplitCut][MatrixResult.nIndexTailCutInVProc]) bAllStrategiesApplied = false - MACHININGS, bAllStrategiesApplied = CalculateMachinings( vProcHeadTail, PARTS[nPart], PARTS[nPart].nInitialPosition) + MACHININGS, bAllStrategiesApplied = CalculateMachinings( vProcHeadTail, PARTS[nPart], MatrixResult.nInitialPosition) bIsCombinationMachinable = bIsCombinationMachinable and bAllStrategiesApplied end