From 91dce236c6e3e2f545e25d07030df7d6dba0d528 Mon Sep 17 00:00:00 2001 From: DarioS Date: Sun, 6 Feb 2022 18:21:04 +0100 Subject: [PATCH] DataBeam : - correzione su tagli di coda spostati prima della separazione. --- LuaLibs/ProcessCut.lua | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/LuaLibs/ProcessCut.lua b/LuaLibs/ProcessCut.lua index 2a03fb9..05d1457 100644 --- a/LuaLibs/ProcessCut.lua +++ b/LuaLibs/ProcessCut.lua @@ -1,4 +1,4 @@ --- ProcessCut.lua by Egaltech s.r.l. 2022/02/02 +-- ProcessCut.lua by Egaltech s.r.l. 2022/02/06 -- Gestione calcolo singoli tagli di lama per Travi -- 2021/05/18 I due tagli con testa da sotto di un cubetto sono fatti di seguito. -- 2021/06/06 Correzioni per tagli con testa da sotto. @@ -6,7 +6,8 @@ -- 2021/09/19 Tagli da sotto non sbiechi favorita posizione da sopra di testa. -- 2021/10/06 Piccola correzione a tagli di cubetti con testa da sotto. -- 2022/01/26 Taglio da sotto orizzontale deve avere direzione di riferimento ortogonale -Z. --- 2022/02/02 Modifiche per tagli di coda spostati avanti come lavorazione su pezzi a caduta. +-- 2022/02/02 Modifiche per tagli di coda spostati prima come lavorazione su pezzi a caduta. +-- 2022/02/06 Correzioni per tagli di coda spostati prima. -- Tabella per definizione modulo local ProcessCut = {} @@ -312,7 +313,8 @@ local function MakeFromTop( sCutting, Proc, nPhase, nRawId, nPartId, dOvmHead, b end local dMaxVertDepth = dMaxDepth - ( BD.DECR_VERT_CUT or 0) -- determino la direzione di taglio preferenziale - local _, dCutH, dCutV = BL.GetFaceHvRefDim( Proc.Id, 0) + local frFac, dCutH, dCutV = BL.GetFaceHvRefDim( Proc.Id, 0) + dCutH = min( dCutH, b3Raw:getDimY() / abs( frFac:getVersX():getY())) local bHorizCut = ( dCutV < dMaxVertDepth - BD.CUT_EXTRA and not bDownCut) local bVertCutOk = ( dCutH < dMaxDepth - BD.CUT_EXTRA) -- verifico se necessari tagli supplementari @@ -480,7 +482,7 @@ local function MakeFromTop( sCutting, Proc, nPhase, nRawId, nPartId, dOvmHead, b local dVzLimDwnUp = dNzLimDwnUp local dCutExtra = BD.CUT_EXTRA if Proc.AdvTail then - dVzLimDwnUp = 0 + if bHorizCut then dVzLimDwnUp = 0 end dCutExtra = -BD.ADVANCE_TAIL_OFFS end local bOk, sErr = Fbs.MakeOne( Proc.Id, 0, sCutting, dSawDiam, vtOrthoO, dVzLimDwnUp, dCutExtra, BD.CUT_SIC, 0, 0, 0, nil, b3Raw) @@ -527,7 +529,8 @@ local function MakeFromDown( sCutting, Proc, nPhase, nRawId, nPartId, dOvmHead) end local dMaxVertDepth = dMaxDepth -- determino la direzione di taglio preferenziale - local _, dCutH, dCutV = BL.GetFaceHvRefDim( Proc.Id, 0) + local frFac, dCutH, dCutV = BL.GetFaceHvRefDim( Proc.Id, 0) + dCutH = min( dCutH, b3Raw:getDimY() / abs( frFac:getVersX():getY())) local bHorizCut = ( dCutV < dMaxVertDepth - BD.CUT_EXTRA) or Proc.AdvTail -- verifico se necessari tagli supplementari EgtOutLog( string.format( 'MaxDepth=%.1f MaxVertDepth=%.1f CutH=%.1f CutV=%.1f', dMaxDepth, dMaxVertDepth, dCutH, dCutV), 3)