- Report TXT ora gestisce bene le prerotazioni
- Corretta info indice rotazione su Proc
This commit is contained in:
+2
-2
@@ -737,7 +737,7 @@ if bToProcess then
|
|||||||
sOutput = sOutput .. string.format( '[%d,%d] %s\n', RESULT[i].idCut, RESULT[i].idTask, sMsg)
|
sOutput = sOutput .. string.format( '[%d,%d] %s\n', RESULT[i].idCut, RESULT[i].idTask, sMsg)
|
||||||
BEAM.ERR = 19
|
BEAM.ERR = 19
|
||||||
BEAM.MSG = sMsg
|
BEAM.MSG = sMsg
|
||||||
BEAM.ROT = -( RESULT[i].nRotation or 1) + 1
|
BEAM.ROT = -( ( RESULT[i].nRotation - ( BEAM.PREROTATE90 or 0)) or 1) + 1
|
||||||
BEAM.CUTID = RESULT[i].idCut
|
BEAM.CUTID = RESULT[i].idCut
|
||||||
BEAM.TASKID = RESULT[i].idTask
|
BEAM.TASKID = RESULT[i].idTask
|
||||||
WriteErrToLogFile( BEAM.ERR, BEAM.MSG, BEAM.ROT, BEAM.CUTID, BEAM.TASKID)
|
WriteErrToLogFile( BEAM.ERR, BEAM.MSG, BEAM.ROT, BEAM.CUTID, BEAM.TASKID)
|
||||||
@@ -763,7 +763,7 @@ if bToProcess then
|
|||||||
sOutput = sOutput .. string.format( '[%d,%d] %s\n', RESULT[i].idCut, RESULT[i].idTask, sMsg)
|
sOutput = sOutput .. string.format( '[%d,%d] %s\n', RESULT[i].idCut, RESULT[i].idTask, sMsg)
|
||||||
BEAM.ERR = -19
|
BEAM.ERR = -19
|
||||||
BEAM.MSG = 'Incomplete : Completion index ' .. RESULT[i].ChosenStrategy.dCompletionIndex .. '/5\n' .. sMsg
|
BEAM.MSG = 'Incomplete : Completion index ' .. RESULT[i].ChosenStrategy.dCompletionIndex .. '/5\n' .. sMsg
|
||||||
BEAM.ROT = -( RESULT[i].nRotation or 1) + 1
|
BEAM.ROT = -( ( RESULT[i].nRotation - ( BEAM.PREROTATE90 or 0)) or 1) + 1
|
||||||
BEAM.CUTID = RESULT[i].idCut
|
BEAM.CUTID = RESULT[i].idCut
|
||||||
BEAM.TASKID = RESULT[i].idTask
|
BEAM.TASKID = RESULT[i].idTask
|
||||||
WriteErrToLogFile( BEAM.ERR, BEAM.MSG, BEAM.ROT, BEAM.CUTID, BEAM.TASKID)
|
WriteErrToLogFile( BEAM.ERR, BEAM.MSG, BEAM.ROT, BEAM.CUTID, BEAM.TASKID)
|
||||||
|
|||||||
+33
-37
@@ -1197,7 +1197,7 @@ local function CalculateMachinings( vProc, Part, nInitialRotation)
|
|||||||
else
|
else
|
||||||
local nOffsetIndex = EgtIf( Part.bPartInCombiIsInverted, 4, 0)
|
local nOffsetIndex = EgtIf( Part.bPartInCombiIsInverted, 4, 0)
|
||||||
-- se non esiste una strategia scelta (non dovrebbe mai succedere) cancello da lista generale
|
-- se non esiste una strategia scelta (non dovrebbe mai succedere) cancello da lista generale
|
||||||
PROCESSINGS[Proc.nIndexPartInParts].Rotation[Proc.nIndexRotation][Proc.nIndexInVProc].ChosenStrategy = nil
|
PROCESSINGS[Proc.nIndexPartInParts].Rotation[Proc.nIndexRotation+nOffsetIndex][Proc.nIndexInVProc].ChosenStrategy = nil
|
||||||
|
|
||||||
-- TODO dare messaggio che la feature non è stata eseguita nonostante la presenza di strategie disponibili
|
-- TODO dare messaggio che la feature non è stata eseguita nonostante la presenza di strategie disponibili
|
||||||
|
|
||||||
@@ -1718,36 +1718,34 @@ function BeamExec.ProcessMachinings( PARTS, bIsFlipRot)
|
|||||||
if nRotHeadCut > 4 then
|
if nRotHeadCut > 4 then
|
||||||
nRotHeadCut = nRotHeadCut - 4
|
nRotHeadCut = nRotHeadCut - 4
|
||||||
end
|
end
|
||||||
nRotHeadCut = nRotHeadCut + nOffsetIndex
|
|
||||||
local nRotSplitCut = MatrixResult.nInitialPosition + MACHININGS.Info.nSplitCutRotation - 1
|
local nRotSplitCut = MatrixResult.nInitialPosition + MACHININGS.Info.nSplitCutRotation - 1
|
||||||
if nRotSplitCut > 4 then
|
if nRotSplitCut > 4 then
|
||||||
nRotSplitCut = nRotSplitCut - 4
|
nRotSplitCut = nRotSplitCut - 4
|
||||||
end
|
end
|
||||||
nRotSplitCut = nRotSplitCut + nOffsetIndex
|
|
||||||
-- setto nella Proc l'indice rotazione nella quale deve essere lavorata
|
-- setto nella Proc l'indice rotazione nella quale deve essere lavorata
|
||||||
PROCESSINGS[nPart].Rotation[nRotHeadCut][MatrixResult.nIndexHeadCutInVProc].nIndexRotation = nRotHeadCut
|
PROCESSINGS[nPart].Rotation[nRotHeadCut+nOffsetIndex][MatrixResult.nIndexHeadCutInVProc].nIndexRotation = nRotHeadCut
|
||||||
PROCESSINGS[nPart].Rotation[nRotSplitCut][MatrixResult.nIndexTailCutInVProc].nIndexRotation = nRotSplitCut
|
PROCESSINGS[nPart].Rotation[nRotSplitCut+nOffsetIndex][MatrixResult.nIndexTailCutInVProc].nIndexRotation = nRotSplitCut
|
||||||
|
|
||||||
-- si imposta flag rotazione per taglio di testa
|
-- si imposta flag rotazione per taglio di testa
|
||||||
if MACHININGS.Info.nHeadCutRotation == 2 then
|
if MACHININGS.Info.nHeadCutRotation == 2 then
|
||||||
PROCESSINGS[nPart].Rotation[nRotHeadCut][MatrixResult.nIndexHeadCutInVProc].bSide = true
|
PROCESSINGS[nPart].Rotation[nRotHeadCut+nOffsetIndex][MatrixResult.nIndexHeadCutInVProc].bSide = true
|
||||||
elseif MACHININGS.Info.nHeadCutRotation == 3 then
|
elseif MACHININGS.Info.nHeadCutRotation == 3 then
|
||||||
PROCESSINGS[nPart].Rotation[nRotHeadCut][MatrixResult.nIndexHeadCutInVProc].bDown = true
|
PROCESSINGS[nPart].Rotation[nRotHeadCut+nOffsetIndex][MatrixResult.nIndexHeadCutInVProc].bDown = true
|
||||||
else
|
else
|
||||||
PROCESSINGS[nPart].Rotation[nRotHeadCut][MatrixResult.nIndexHeadCutInVProc].bStd = true
|
PROCESSINGS[nPart].Rotation[nRotHeadCut+nOffsetIndex][MatrixResult.nIndexHeadCutInVProc].bStd = true
|
||||||
end
|
end
|
||||||
-- si imposta flag rotazione per taglio di coda
|
-- si imposta flag rotazione per taglio di coda
|
||||||
if MACHININGS.Info.nSplitCutRotation == 2 then
|
if MACHININGS.Info.nSplitCutRotation == 2 then
|
||||||
PROCESSINGS[nPart].Rotation[nRotSplitCut][MatrixResult.nIndexTailCutInVProc].bSide = true
|
PROCESSINGS[nPart].Rotation[nRotSplitCut+nOffsetIndex][MatrixResult.nIndexTailCutInVProc].bSide = true
|
||||||
elseif MACHININGS.Info.nSplitCutRotation == 3 then
|
elseif MACHININGS.Info.nSplitCutRotation == 3 then
|
||||||
PROCESSINGS[nPart].Rotation[nRotSplitCut][MatrixResult.nIndexTailCutInVProc].bDown = true
|
PROCESSINGS[nPart].Rotation[nRotSplitCut+nOffsetIndex][MatrixResult.nIndexTailCutInVProc].bDown = true
|
||||||
else
|
else
|
||||||
PROCESSINGS[nPart].Rotation[nRotSplitCut][MatrixResult.nIndexTailCutInVProc].bStd = true
|
PROCESSINGS[nPart].Rotation[nRotSplitCut+nOffsetIndex][MatrixResult.nIndexTailCutInVProc].bStd = true
|
||||||
end
|
end
|
||||||
|
|
||||||
local vProcHeadTail = {}
|
local vProcHeadTail = {}
|
||||||
table.insert( vProcHeadTail, PROCESSINGS[nPart].Rotation[nRotHeadCut][MatrixResult.nIndexHeadCutInVProc])
|
table.insert( vProcHeadTail, PROCESSINGS[nPart].Rotation[nRotHeadCut+nOffsetIndex][MatrixResult.nIndexHeadCutInVProc])
|
||||||
table.insert( vProcHeadTail, PROCESSINGS[nPart].Rotation[nRotSplitCut][MatrixResult.nIndexTailCutInVProc])
|
table.insert( vProcHeadTail, PROCESSINGS[nPart].Rotation[nRotSplitCut+nOffsetIndex][MatrixResult.nIndexTailCutInVProc])
|
||||||
|
|
||||||
MACHININGS = CalculateMachinings( vProcHeadTail, PARTS[nPart], MatrixResult.nInitialPosition)
|
MACHININGS = CalculateMachinings( vProcHeadTail, PARTS[nPart], MatrixResult.nInitialPosition)
|
||||||
|
|
||||||
@@ -2127,48 +2125,46 @@ function BeamExec.ProcessAlternatives( PARTS)
|
|||||||
if nRotHeadCut > 4 then
|
if nRotHeadCut > 4 then
|
||||||
nRotHeadCut = nRotHeadCut - 4
|
nRotHeadCut = nRotHeadCut - 4
|
||||||
end
|
end
|
||||||
nRotHeadCut = nRotHeadCut + nOffsetIndex
|
|
||||||
local nRotSplitCut = MatrixResult.nInitialPosition + MACHININGS.Info.nSplitCutRotation - 1
|
local nRotSplitCut = MatrixResult.nInitialPosition + MACHININGS.Info.nSplitCutRotation - 1
|
||||||
if nRotSplitCut > 4 then
|
if nRotSplitCut > 4 then
|
||||||
nRotSplitCut = nRotSplitCut - 4
|
nRotSplitCut = nRotSplitCut - 4
|
||||||
end
|
end
|
||||||
nRotSplitCut = nRotSplitCut + nOffsetIndex
|
|
||||||
-- setto nella Proc l'indice rotazione nella quale deve essere lavorata
|
-- setto nella Proc l'indice rotazione nella quale deve essere lavorata
|
||||||
PROCESSINGS[nPart].Rotation[nRotHeadCut][MatrixResult.nIndexHeadCutInVProc].nIndexRotation = nRotHeadCut
|
PROCESSINGS[nPart].Rotation[nRotHeadCut+nOffsetIndex][MatrixResult.nIndexHeadCutInVProc].nIndexRotation = nRotHeadCut
|
||||||
PROCESSINGS[nPart].Rotation[nRotSplitCut][MatrixResult.nIndexTailCutInVProc].nIndexRotation = nRotSplitCut
|
PROCESSINGS[nPart].Rotation[nRotSplitCut+nOffsetIndex][MatrixResult.nIndexTailCutInVProc].nIndexRotation = nRotSplitCut
|
||||||
|
|
||||||
-- si imposta flag rotazione per taglio di testa
|
-- si imposta flag rotazione per taglio di testa
|
||||||
if MACHININGS.Info.nHeadCutRotation == 2 then
|
if MACHININGS.Info.nHeadCutRotation == 2 then
|
||||||
PROCESSINGS[nPart].Rotation[nRotHeadCut][MatrixResult.nIndexHeadCutInVProc].bDown = nil
|
PROCESSINGS[nPart].Rotation[nRotHeadCut+nOffsetIndex][MatrixResult.nIndexHeadCutInVProc].bDown = nil
|
||||||
PROCESSINGS[nPart].Rotation[nRotHeadCut][MatrixResult.nIndexHeadCutInVProc].bSide = true
|
PROCESSINGS[nPart].Rotation[nRotHeadCut+nOffsetIndex][MatrixResult.nIndexHeadCutInVProc].bSide = true
|
||||||
PROCESSINGS[nPart].Rotation[nRotHeadCut][MatrixResult.nIndexHeadCutInVProc].bStd = nil
|
PROCESSINGS[nPart].Rotation[nRotHeadCut+nOffsetIndex][MatrixResult.nIndexHeadCutInVProc].bStd = nil
|
||||||
elseif MACHININGS.Info.nHeadCutRotation == 3 then
|
elseif MACHININGS.Info.nHeadCutRotation == 3 then
|
||||||
PROCESSINGS[nPart].Rotation[nRotHeadCut][MatrixResult.nIndexHeadCutInVProc].bDown = true
|
PROCESSINGS[nPart].Rotation[nRotHeadCut+nOffsetIndex][MatrixResult.nIndexHeadCutInVProc].bDown = true
|
||||||
PROCESSINGS[nPart].Rotation[nRotHeadCut][MatrixResult.nIndexHeadCutInVProc].bSide = nil
|
PROCESSINGS[nPart].Rotation[nRotHeadCut+nOffsetIndex][MatrixResult.nIndexHeadCutInVProc].bSide = nil
|
||||||
PROCESSINGS[nPart].Rotation[nRotHeadCut][MatrixResult.nIndexHeadCutInVProc].bStd = nil
|
PROCESSINGS[nPart].Rotation[nRotHeadCut+nOffsetIndex][MatrixResult.nIndexHeadCutInVProc].bStd = nil
|
||||||
else
|
else
|
||||||
PROCESSINGS[nPart].Rotation[nRotHeadCut][MatrixResult.nIndexHeadCutInVProc].bDown = nil
|
PROCESSINGS[nPart].Rotation[nRotHeadCut+nOffsetIndex][MatrixResult.nIndexHeadCutInVProc].bDown = nil
|
||||||
PROCESSINGS[nPart].Rotation[nRotHeadCut][MatrixResult.nIndexHeadCutInVProc].bSide = nil
|
PROCESSINGS[nPart].Rotation[nRotHeadCut+nOffsetIndex][MatrixResult.nIndexHeadCutInVProc].bSide = nil
|
||||||
PROCESSINGS[nPart].Rotation[nRotHeadCut][MatrixResult.nIndexHeadCutInVProc].bStd = true
|
PROCESSINGS[nPart].Rotation[nRotHeadCut+nOffsetIndex][MatrixResult.nIndexHeadCutInVProc].bStd = true
|
||||||
end
|
end
|
||||||
-- si imposta flag rotazione per taglio di coda
|
-- si imposta flag rotazione per taglio di coda
|
||||||
if MACHININGS.Info.nSplitCutRotation == 2 then
|
if MACHININGS.Info.nSplitCutRotation == 2 then
|
||||||
PROCESSINGS[nPart].Rotation[nRotSplitCut][MatrixResult.nIndexTailCutInVProc].bDown = nil
|
PROCESSINGS[nPart].Rotation[nRotSplitCut+nOffsetIndex][MatrixResult.nIndexTailCutInVProc].bDown = nil
|
||||||
PROCESSINGS[nPart].Rotation[nRotSplitCut][MatrixResult.nIndexTailCutInVProc].bSide = true
|
PROCESSINGS[nPart].Rotation[nRotSplitCut+nOffsetIndex][MatrixResult.nIndexTailCutInVProc].bSide = true
|
||||||
PROCESSINGS[nPart].Rotation[nRotSplitCut][MatrixResult.nIndexTailCutInVProc].bStd = nil
|
PROCESSINGS[nPart].Rotation[nRotSplitCut+nOffsetIndex][MatrixResult.nIndexTailCutInVProc].bStd = nil
|
||||||
elseif MACHININGS.Info.nSplitCutRotation == 3 then
|
elseif MACHININGS.Info.nSplitCutRotation == 3 then
|
||||||
PROCESSINGS[nPart].Rotation[nRotSplitCut][MatrixResult.nIndexTailCutInVProc].bDown = true
|
PROCESSINGS[nPart].Rotation[nRotSplitCut+nOffsetIndex][MatrixResult.nIndexTailCutInVProc].bDown = true
|
||||||
PROCESSINGS[nPart].Rotation[nRotSplitCut][MatrixResult.nIndexTailCutInVProc].bSide = nil
|
PROCESSINGS[nPart].Rotation[nRotSplitCut+nOffsetIndex][MatrixResult.nIndexTailCutInVProc].bSide = nil
|
||||||
PROCESSINGS[nPart].Rotation[nRotSplitCut][MatrixResult.nIndexTailCutInVProc].bStd = nil
|
PROCESSINGS[nPart].Rotation[nRotSplitCut+nOffsetIndex][MatrixResult.nIndexTailCutInVProc].bStd = nil
|
||||||
else
|
else
|
||||||
PROCESSINGS[nPart].Rotation[nRotSplitCut][MatrixResult.nIndexTailCutInVProc].bDown = nil
|
PROCESSINGS[nPart].Rotation[nRotSplitCut+nOffsetIndex][MatrixResult.nIndexTailCutInVProc].bDown = nil
|
||||||
PROCESSINGS[nPart].Rotation[nRotSplitCut][MatrixResult.nIndexTailCutInVProc].bSide = nil
|
PROCESSINGS[nPart].Rotation[nRotSplitCut+nOffsetIndex][MatrixResult.nIndexTailCutInVProc].bSide = nil
|
||||||
PROCESSINGS[nPart].Rotation[nRotSplitCut][MatrixResult.nIndexTailCutInVProc].bStd = true
|
PROCESSINGS[nPart].Rotation[nRotSplitCut+nOffsetIndex][MatrixResult.nIndexTailCutInVProc].bStd = true
|
||||||
end
|
end
|
||||||
|
|
||||||
local vProcHeadTail = {}
|
local vProcHeadTail = {}
|
||||||
table.insert( vProcHeadTail, PROCESSINGS[nPart].Rotation[nRotHeadCut][MatrixResult.nIndexHeadCutInVProc])
|
table.insert( vProcHeadTail, PROCESSINGS[nPart].Rotation[nRotHeadCut+nOffsetIndex][MatrixResult.nIndexHeadCutInVProc])
|
||||||
table.insert( vProcHeadTail, PROCESSINGS[nPart].Rotation[nRotSplitCut][MatrixResult.nIndexTailCutInVProc])
|
table.insert( vProcHeadTail, PROCESSINGS[nPart].Rotation[nRotSplitCut+nOffsetIndex][MatrixResult.nIndexTailCutInVProc])
|
||||||
|
|
||||||
MACHININGS = CalculateMachinings( vProcHeadTail, PARTS[nPart], MatrixResult.nInitialPosition)
|
MACHININGS = CalculateMachinings( vProcHeadTail, PARTS[nPart], MatrixResult.nInitialPosition)
|
||||||
|
|
||||||
|
|||||||
@@ -1367,7 +1367,7 @@ function MachiningLib.AddOperations( MACHININGS, Part, sRotation)
|
|||||||
nErr, sErr = EgtGetLastMachMgrError()
|
nErr, sErr = EgtGetLastMachMgrError()
|
||||||
EgtSetOperationMode( nOperationId, false)
|
EgtSetOperationMode( nOperationId, false)
|
||||||
local nOffsetIndex = EgtIf( Part.bPartInCombiIsInverted, 4, 0)
|
local nOffsetIndex = EgtIf( Part.bPartInCombiIsInverted, 4, 0)
|
||||||
local CurrProc = PROCESSINGS[MACHININGS[i].Proc.nIndexPartInParts].Rotation[MACHININGS[i].Proc.nIndexRotation][MACHININGS[i].Proc.nIndexInVProc]
|
local CurrProc = PROCESSINGS[MACHININGS[i].Proc.nIndexPartInParts].Rotation[MACHININGS[i].Proc.nIndexRotation+nOffsetIndex][MACHININGS[i].Proc.nIndexInVProc]
|
||||||
-- si annulla la feature scelta, in modo che un successivo ricalcolo non la tenga in considerazione
|
-- si annulla la feature scelta, in modo che un successivo ricalcolo non la tenga in considerazione
|
||||||
CurrProc.AvailableStrategies[CurrProc.nIndexBestStrategy].Result.sStatus = 'Not-Applicable'
|
CurrProc.AvailableStrategies[CurrProc.nIndexBestStrategy].Result.sStatus = 'Not-Applicable'
|
||||||
CurrProc.AvailableStrategies[CurrProc.nIndexBestStrategy].Result.sInfo = 'REJECTED (' .. sErr .. ')'
|
CurrProc.AvailableStrategies[CurrProc.nIndexBestStrategy].Result.sInfo = 'REJECTED (' .. sErr .. ')'
|
||||||
|
|||||||
Reference in New Issue
Block a user