From aab91e274623769df53c4fc3d6ac04ec86ffcd25 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Thu, 28 Jan 2021 08:14:08 +0000 Subject: [PATCH] DataBeam : - corretto errore introdotto in versione precedente per ingombro doppio taglio in testa o coda - in LapJpoint migliorato riconoscimento se in coda nel caso di tunnel - in LapJoint migliorato calcolo antischeggia con lama. --- LuaLibs/ProcessDoubleCut.lua | 6 +++--- LuaLibs/ProcessLapJoint.lua | 12 +++++++----- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/LuaLibs/ProcessDoubleCut.lua b/LuaLibs/ProcessDoubleCut.lua index cc2ffb6..906890f 100644 --- a/LuaLibs/ProcessDoubleCut.lua +++ b/LuaLibs/ProcessDoubleCut.lua @@ -1,4 +1,4 @@ --- ProcessDoubleCut.lua by Egaltech s.r.l. 2020/10/14 +-- ProcessDoubleCut.lua by Egaltech s.r.l. 2021/12/25 -- Gestione calcolo doppi tagli di lama per Travi -- Tabella per definizione modulo @@ -218,7 +218,7 @@ function ProcessDoubleCut.Make( Proc, nPhase, nRawId, nPartId, dOvmHead) EgtSetInfo( AddId, 'TASKID', Proc.TaskId) local b3Add = EgtGetBBoxGlob( AddId, GDB_BB.STANDARD) -- applico lavorazione - local CutProc = { Id = AddId, Grp = Proc.Grp, Prc = Proc.Prc, Box = b3Add, Fct = 1, Flg = Proc.Flg, + local CutProc = { Id = AddId, Grp = Proc.Grp, Prc = 10, Box = b3Add, Fct = 1, Flg = Proc.Flg, Head = Proc.Head, Tail = Proc.Tail, CutId = Proc.CutId, TaskId = Proc.TaskId} local bOk, sErr = Cut.Make( CutProc, nPhase, nRawId, nPartId, dOvmHead) if not bOk then return bOk, sErr end @@ -230,7 +230,7 @@ function ProcessDoubleCut.Make( Proc, nPhase, nRawId, nPartId, dOvmHead) EgtSetInfo( AddId, 'TASKID', Proc.TaskId) local b3Add = EgtGetBBoxGlob( AddId, GDB_BB.STANDARD) -- applico lavorazione - local CutProc = { Id = AddId, Grp = Proc.Grp, Prc = Proc.Prc, Box = b3Add, Fct = 1, Flg = Proc.Flg, + local CutProc = { Id = AddId, Grp = Proc.Grp, Prc = 10, Box = b3Add, Fct = 1, Flg = Proc.Flg, Head = Proc.Head, Tail = Proc.Tail, CutId = Proc.CutId, TaskId = Proc.TaskId} local bOk, sErr = Cut.Make( CutProc, nPhase, nRawId, nPartId, dOvmHead) if not bOk then return bOk, sErr end diff --git a/LuaLibs/ProcessLapJoint.lua b/LuaLibs/ProcessLapJoint.lua index ff09f91..23540d6 100644 --- a/LuaLibs/ProcessLapJoint.lua +++ b/LuaLibs/ProcessLapJoint.lua @@ -1,4 +1,4 @@ --- ProcessLapJoint.lua by Egaltech s.r.l. 2021/01/24 +-- ProcessLapJoint.lua by Egaltech s.r.l. 2021/01/26 -- Gestione calcolo mezzo-legno per Travi -- 2019/10/08 Agg. gestione OpenPocket. -- 2021/01/24 Con sega a catena ora sempre impostato asse A. @@ -453,14 +453,14 @@ function ProcessLapJoint.IsTailFeature( Proc, b3Raw) return true end end - -- deve avere la normale principale diretta verso la coda + -- deve avere la normale principale diretta verso la coda (oppure tunnel) local nFacInd, dElev, nFacInd2, dElev2 = BL.GetFaceWithMostAdj( Proc.Id, nPartId) local ptC, vtN = EgtSurfTmFacetCenter( Proc.Id, nFacInd, GDB_ID.ROOT) if vtN and vtN:getZ() < BD.NZ_MINA and nFacInd2 then ptC, vtN = EgtSurfTmFacetCenter( Proc.Id, nFacInd2, GDB_ID.ROOT) nFacInd, nFacInd2 = nFacInd2, nFacInd end - if vtN and vtN:getX() > -0.499 then + if not vtN or vtN:getX() > -0.499 then return false else return true @@ -3571,7 +3571,8 @@ local function MakeMoreFaces( Proc, nPhase, nRawId, nPartId, dOvmHead, bSinglePa if bIsU then if abs( vtN:getY()) > 0.996 then nPrefSide = 0 - elseif abs( vtN:getZ()) > 0.7 or abs( vtN:getY()) > 0.7 then + elseif abs( vtN:getZ()) > 0.63 or abs( vtN:getY()) > 0.63 then +-- elseif abs( vtN:getZ()) > 0.7 or abs( vtN:getY()) > 0.7 then -- se X รจ negativa allora devo tenere il motore a destra if vtN:getX() < -(10 * GEO.EPS_SMALL) then nPrefSide = 2 @@ -3589,7 +3590,8 @@ local function MakeMoreFaces( Proc, nPhase, nRawId, nPartId, dOvmHead, bSinglePa -- verifico se da invertire local bInvertMach = false if bIsU then - if abs(vtN:getZ()) > 0.7 or abs(vtN:getY()) > 0.7 then + if abs(vtN:getZ()) > 0.63 or abs(vtN:getY()) > 0.63 then +-- if abs(vtN:getZ()) > 0.7 or abs(vtN:getY()) > 0.7 then -- prendo il vettore normale alla faccia local _, vtNFc = EgtSurfTmFacetCenter( Proc.Id, nFacet, GDB_ID.ROOT) -- valuto l'angolo tra le due facce