From abd4e6da6918ef5239685c25a19c8882f9401258 Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Thu, 23 Jun 2022 16:13:38 +0200 Subject: [PATCH] DataBeam: - piccola correzione nel riconoscimento forature di testa --- LuaLibs/BeamExec.lua | 12 ++++++------ LuaLibs/ProcessDrill.lua | 8 ++++++-- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index b3f5624..831c16d 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -157,7 +157,7 @@ local function IsHeadFeature( Proc, b3Raw, dCurrOvmH) end ------------------------------------------------------------------------------------------------------------- -local function IsTailFeature( Proc, b3Raw, dCurrOvmH) +local function IsTailFeature( Proc, b3Raw, dCurrOvmH, dCurrOvmT) -- lunghezza di riferimento per spostare le feature di coda appena prima local dAdvTailLen = BD.LEN_VERY_SHORT_PART or BD.LEN_SHORT_PART -- feature sempre di testa o coda per il gruppo (se non troppo lunga) @@ -206,7 +206,7 @@ local function IsTailFeature( Proc, b3Raw, dCurrOvmH) return LapJoint.IsTailFeature( Proc, b3Raw) end if Drill.Identify( Proc) then - return Drill.IsTailFeature( Proc, b3Raw) + return Drill.IsTailFeature( Proc, b3Raw, dCurrOvmT) end if DtMortise.Identify( Proc) then return DtMortise.IsTailFeature( Proc, b3Raw) @@ -225,7 +225,7 @@ local function IsTailFeature( Proc, b3Raw, dCurrOvmH) end ------------------------------------------------------------------------------------------------------------- -local function CollectFeatures( PartId, b3Raw, dCurrOvmH) +local function CollectFeatures( PartId, b3Raw, dCurrOvmH, dCurrOvmT) -- recupero le feature local vProc = {} local LayerId = {} @@ -257,7 +257,7 @@ local function CollectFeatures( PartId, b3Raw, dCurrOvmH) Proc.Box = EgtGetBBoxGlob( ProcId, GDB_BB.STANDARD) if Proc.Box and not Proc.Box:isEmpty() then Proc.Head = IsHeadFeature( Proc, b3Raw, dCurrOvmH) - Proc.Tail, Proc.AdvTail = IsTailFeature( Proc, b3Raw, dCurrOvmH) + Proc.Tail, Proc.AdvTail = IsTailFeature( Proc, b3Raw, dCurrOvmH, dCurrOvmT) table.insert( vProc, Proc) -- se foro if Drill.Identify( Proc) then @@ -268,7 +268,7 @@ local function CollectFeatures( PartId, b3Raw, dCurrOvmH) -- aggiorno flags prima parte foro (dati tabelle sempre per riferimento) Proc.Flg = 2 Proc.Head = Drill.IsHeadFeature( Proc, b3Raw, dCurrOvmH) - Proc.Tail = Drill.IsTailFeature( Proc, b3Raw, dCurrOvmH) + Proc.Tail = Drill.IsTailFeature( Proc, b3Raw, dCurrOvmH, dCurrOvmT) -- definisco dati seconda parte local Proc2 = {} Proc2.Id = ProcId @@ -1304,7 +1304,7 @@ function BeamExec.ProcessFeatures() local dCurrOvmH = EgtGetInfo( nRawId, 'HOVM', 'd') or 0 local dCurrOvmT = EgtGetInfo( nRawId, 'TOVM', 'd') or 0 -- recupero le feature di lavorazione della trave - local vProc = CollectFeatures( nPartId, b3Raw, dCurrOvmH) + local vProc = CollectFeatures( nPartId, b3Raw, dCurrOvmH, dCurrOvmT) -- le ordino lungo X OrderFeatures( vProc, b3Raw) -- le classifico diff --git a/LuaLibs/ProcessDrill.lua b/LuaLibs/ProcessDrill.lua index f65917d..1427943 100644 --- a/LuaLibs/ProcessDrill.lua +++ b/LuaLibs/ProcessDrill.lua @@ -7,6 +7,7 @@ -- 2022/03/26 DS Correzioni per fori testa-fianco nel piano. -- 2022/03/29 DS Corretta assegnazione fori molto inclinati fianco/coda a coda. -- 2022/04/21 DS Corretto riconoscimento fori di coda. +-- 2022/06/22 Nel riconoscimento fori di coda si utilizza ora il reale sovramateriale di coda (dOvmTail) invece di BD.OVM_MID. -- Tabella per definizione modulo local ProcessDrill = {} @@ -55,9 +56,12 @@ end --------------------------------------------------------------------- -- Verifica se feature di coda -function ProcessDrill.IsTailFeature( Proc, b3Raw) +function ProcessDrill.IsTailFeature( Proc, b3Raw, dOvmTail) + if not dOvmTail then + dOvmTail = BD.OVM_MID + end -- verifico se è in coda - if Proc.Box:getMin():getX() > b3Raw:getMin():getX() + BD.OVM_MID + BD.MAX_DIST_HTFEA then + if Proc.Box:getMin():getX() > b3Raw:getMin():getX() + dOvmTail + BD.MAX_DIST_HTFEA then return false end -- recupero e verifico l'entità foro