From 8a9faf298d3743bb4c21944a63a791f913f7c572 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Wed, 7 Oct 2020 10:02:53 +0000 Subject: [PATCH] DataBeam : - modifiche per distanza libera dietro al pezzo (per uscite tagli longitudinali). --- BatchProcess.lua | 2 +- LuaLibs/BeamExec.lua | 15 +++++++++++++-- LuaLibs/ProcessLongCut.lua | 5 ++--- LuaLibs/ProcessLongDoubleCut.lua | 7 +++---- 4 files changed, 19 insertions(+), 10 deletions(-) diff --git a/BatchProcess.lua b/BatchProcess.lua index 8584598..ac98499 100644 --- a/BatchProcess.lua +++ b/BatchProcess.lua @@ -24,7 +24,7 @@ EgtEnableDebug( false) -- Per test --BEAM = {} ---BEAM.FILE = 'c:\\EgtData\\Varie\\TestEssetreFast\\TestFabio\\BTL_TS37\\Bar_25_2.btl' +--BEAM.FILE = 'c:\\EgtData\\Varie\\TestEssetreFast\\TestFilippo\\BTL\\Bar_20_1.btl' --BEAM.MACHINE = 'FAST' --BEAM.FLAG = 3 diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index 4f56717..dec0f9a 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -1,4 +1,4 @@ --- BeamExec.lua by Egaltech s.r.l. 2020/09/24 +-- BeamExec.lua by Egaltech s.r.l. 2020/10/07 -- Libreria esecuzione lavorazioni per Travi -- 2019/07/11 Aggiunta gestione stato rotazione di feature per TS3. -- 2019/09/04 Corretto controllo feature di testa e coda con sovramateriale di testa elevato. @@ -15,7 +15,8 @@ -- 2020/05/25 Correzione rotazione di 90deg dopo scarico su carico. -- 2020/06/02 Per dati foro si chiama funzione GetData di ProcessDrill (per gestire variazioni di diametro da UserParams). -- 2020/07/25 Ricalcolati flag head e tail della prima parte del foro dopo lo split. --- 2002/07/27 Modifica a ordinamento fori. +-- 2020/07/27 Modifica a ordinamento fori. +-- 2020/10/07 Aggiunta distanza libera dietro il pezzo (BDST) scritta nel suo grezzo. -- Tabella per definizione modulo local BeamExec = {} @@ -142,6 +143,7 @@ function BeamExec.ProcessBeams( dRawW, dRawH, dRawL, dOvmHead, vBeam) -- Inserimento dei pezzi con il loro grezzo local Cnt = 0 local Len = dRawL + local nPrevRaw, dPrevDelta local DeltaS = dOvmHead local DeltaE = BD.OVM_MID for i = 1, #vBeam do @@ -184,6 +186,9 @@ function BeamExec.ProcessBeams( dRawW, dRawH, dRawL, dOvmHead, vBeam) -- se sovramateriale di testa, lo notifico if DeltaS > 0.09 then EgtSetInfo( nRaw, 'HOVM', DeltaS) + if nPrevRaw then + EgtSetInfo( nPrevRaw, 'BDST', DeltaS + dPrevDelta) + end end -- aggiungo faccia per taglio finale al pezzo BL.AddPartEndFace( Pz, b3Solid) @@ -202,11 +207,17 @@ function BeamExec.ProcessBeams( dRawW, dRawH, dRawL, dOvmHead, vBeam) end -- aggiorno la lunghezza residua della barra Len = Len - CrawLen + -- aggiorno grezzo precedente + nPrevRaw = nRaw + dPrevDelta = Delta end -- se rimasto troppo poco grezzo, esco --if Len < BD.MinRaw then break end DeltaS = 0 end + if nPrevRaw then + EgtSetInfo( nPrevRaw, 'BDST', 10000) + end -- Se rimasto materiale aggiungo grezzo dell'avanzo if Len > 10 then diff --git a/LuaLibs/ProcessLongCut.lua b/LuaLibs/ProcessLongCut.lua index 46ae203..fde4b20 100644 --- a/LuaLibs/ProcessLongCut.lua +++ b/LuaLibs/ProcessLongCut.lua @@ -1,4 +1,4 @@ --- ProcessLongCut.lua by Egaltech s.r.l. 2020/09/17 +-- ProcessLongCut.lua by Egaltech s.r.l. 2020/10/07 -- Gestione calcolo taglio longitudinale per Travi -- Tabella per definizione modulo @@ -175,9 +175,8 @@ function ProcessLongCut.Make( Proc, nPhase, nRawId, nPartId) end -- determino se lavorazione da davanti o da dietro local bFront = ( vtN:getY() < 0) - -- per Dario: -- ottengo la distanza tra la fine del pezzo e il pezzo successivo - local dDistToNextPiece = 5 or 100000 -- qua deve ricevere la distanza dal pezzo successivo, nil in caso non c'è il pezzo + local dDistToNextPiece = EgtGetInfo( nRawId, 'BDST', 'd') or 5 local bForcedLim local sWarn ---------------------------------------------------------------------------------------------------------------------------------------- diff --git a/LuaLibs/ProcessLongDoubleCut.lua b/LuaLibs/ProcessLongDoubleCut.lua index c515cee..5838ba3 100644 --- a/LuaLibs/ProcessLongDoubleCut.lua +++ b/LuaLibs/ProcessLongDoubleCut.lua @@ -1,4 +1,4 @@ --- ProcessLongDoubleCut.lua by Egaltech s.r.l. 2020/10/06 +-- ProcessLongDoubleCut.lua by Egaltech s.r.l. 2020/10/07 -- Gestione calcolo doppio taglio longitudinale per Travi -- Tabella per definizione modulo @@ -252,9 +252,8 @@ function ProcessLong2Cut.Make( Proc, nPhase, nRawId, nPartId) _, _, vWidth[1] = BL.GetFaceHvRefDim( Proc.Id, tFaceLong[1]) _, _, vWidth[2] = BL.GetFaceHvRefDim( Proc.Id, tFaceLong[2]) - -- per Dario: - -- ottengo la distanza tra la fine del pezzo e il pezzo successivo - local dDistToNextPiece = 5 or 100000 -- qua deve ricevere la distanza dal pezzo successivo, nil in caso non c'è il pezzo + -- ottengo la distanza tra la fine del pezzo e il pezzo successivo + local dDistToNextPiece = EgtGetInfo( nRawId, 'BDST', 'd') or 5 local bForcedLim local sWarn ----------------------------------------------------------------------------------------------------------------------------------------