From 9cb0a58005253c64f8984e80d37e05e3070d9b2c Mon Sep 17 00:00:00 2001 From: Emmanuele Sassi Date: Thu, 25 Jun 2026 15:40:32 +0200 Subject: [PATCH] - verifica uso etichette --- NestProcessNew.lua | 47 +++++++++++++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 15 deletions(-) diff --git a/NestProcessNew.lua b/NestProcessNew.lua index d465a48..bfee200 100644 --- a/NestProcessNew.lua +++ b/NestProcessNew.lua @@ -191,6 +191,19 @@ local Parts = {} -- ciclo su pezzi per aggiungerli al nesting local dTotLen = 0 for nPartId, nCount in pairs( PARTLIST) do + -- verifico se usa etichette + local sTagList = EgtGetInfo( nPartId, 'LuxTagList') + if sTagList and #sTagList then + local TagTypeList = EgtSplitString( sTagList, ';') + local UnusedTagList = EgtSplitString( TagTypeList[1], ',') + if #UnusedTagList < nCount then + NEST.ERR = 12 + NEST.MSG = 'Errore! Tentativo di nestare piu\' pezzi delle etichette disponibili!' + WriteErrToLogFile( NEST.ERR, NEST.MSG) + PostErrView( NEST.ERR, NEST.MSG) + end + end + -- recupero lunghezza pezzo local Len = EgtGetInfo( nPartId, "L", 'd') local DispLen = EgtIf( Len <= 1000, 2000, 0) --EgtIf( Len <= 2000, max( 2000, 6000 - Len), 0) @@ -500,22 +513,26 @@ for nMachineIndex = 1, #NEST.MACHINELIST do end end local nAssignedTagIndex = #UnusedTagList - local sAssignedTag = UnusedTagList[nAssignedTagIndex] - -- creo stringa per info etichette aggiornata - local sNewTagList = '' - for nUnusedTagIndex = 1, nAssignedTagIndex - 1 do - sNewTagList = sNewTagList .. UnusedTagList[nUnusedTagIndex] .. EgtIf( nUnusedTagIndex < nAssignedTagIndex - 1, ',', '') - end - sNewTagList = sNewTagList .. ';' .. UnusedTagList[nAssignedTagIndex] .. EgtIf( #UsedTagList > 0, ',', '') - for nUsedTagIndex = 1, #UsedTagList do - sNewTagList = sNewTagList .. UsedTagList[nUsedTagIndex] .. EgtIf( nUsedTagIndex < #UsedTagList, ',', '') - end - -- assegno etichetta a nuovo duplo - EgtSetInfo( nPartDuploId, 'LuxTag', sAssignedTag) - if #NEST.MACHINELIST == 1 then - EgtSetInfo( CurrPart.PartId, 'LuxTagList', sNewTagList) + if nAssignedTagIndex == 0 then + EgtOutLog( 'Errore! Etichetta per pezzo non trovata dopo nesting!') else - EgtSetInfo( CurrPart.PartId, 'LuxTagList' .. nMachineIndex, sNewTagList) + local sAssignedTag = UnusedTagList[nAssignedTagIndex] + -- creo stringa per info etichette aggiornata + local sNewTagList = '' + for nUnusedTagIndex = 1, nAssignedTagIndex - 1 do + sNewTagList = sNewTagList .. UnusedTagList[nUnusedTagIndex] .. EgtIf( nUnusedTagIndex < nAssignedTagIndex - 1, ',', '') + end + sNewTagList = sNewTagList .. ';' .. UnusedTagList[nAssignedTagIndex] .. EgtIf( #UsedTagList > 0, ',', '') + for nUsedTagIndex = 1, #UsedTagList do + sNewTagList = sNewTagList .. UsedTagList[nUsedTagIndex] .. EgtIf( nUsedTagIndex < #UsedTagList, ',', '') + end + -- assegno etichetta a nuovo duplo + EgtSetInfo( nPartDuploId, 'LuxTag', sAssignedTag) + if #NEST.MACHINELIST == 1 then + EgtSetInfo( CurrPart.PartId, 'LuxTagList', sNewTagList) + else + EgtSetInfo( CurrPart.PartId, 'LuxTagList' .. nMachineIndex, sNewTagList) + end end end end