From 6f215f98496aa8a47d03b496600a714c41043638 Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Wed, 19 Mar 2025 07:56:36 +0100 Subject: [PATCH] Corretta gestione indice rotazione iniziale in caso di pezzo senza lavorazioni (solo taglio testa e coda) --- LuaLibs/BeamExec.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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