From 14e940341cd0f39d1f6731f86ad76647e5986696 Mon Sep 17 00:00:00 2001 From: DarioS Date: Wed, 9 Feb 2022 11:54:22 +0100 Subject: [PATCH] =?UTF-8?q?DataBeam=20:=20-=20in=20ProcessCut=20si=20torna?= =?UTF-8?q?=20alla=20vecchia=20versione=20per=20scegliere=20se=20fare=20i?= =?UTF-8?q?=20cubetti=20(=C3=A8=20pi=C3=B9=20sicura).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LuaLibs/ProcessCut.lua | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/LuaLibs/ProcessCut.lua b/LuaLibs/ProcessCut.lua index 2e96d37..882a550 100644 --- a/LuaLibs/ProcessCut.lua +++ b/LuaLibs/ProcessCut.lua @@ -320,9 +320,7 @@ local function MakeFromTop( sCutting, Proc, nPhase, nRawId, nPartId, dOvmHead, b -- verifico se necessari tagli supplementari EgtOutLog( string.format( 'MaxDepth=%.1f MaxVertDepth=%.1f CutH=%.1f CutV=%.1f', dMaxDepth, dMaxVertDepth, dCutH, dCutV), 3) local vCuts = {} - if not Proc.AdvTail and - ( ( dCutH > dMaxDepth - BD.CUT_EXTRA - 3 * BD.COLL_SIC or dCutV > BD.MAX_LEN_DICE) and - ( dCutV > dMaxVertDepth - BD.CUT_EXTRA - 3 * BD.COLL_SIC or bDownCut or dCutH > BD.MAX_LEN_DICE)) then + if not Proc.AdvTail and ( dCutH > dMaxDepth - BD.CUT_EXTRA - 3 * BD.COLL_SIC or dCutV > dMaxVertDepth - BD.CUT_EXTRA - 3 * BD.COLL_SIC) then local ptExtra, vtExtra local bAutoCalcSurf = true if bFillAreaPiece or bFillTail then @@ -456,6 +454,13 @@ local function MakeFromTop( sCutting, Proc, nPhase, nRawId, nPartId, dOvmHead, b end -- altrimenti tagli diretti della faccia else + -- impostazioni + local dVzLimDwnUp = dNzLimDwnUp + local dCutExtra = BD.CUT_EXTRA + if Proc.AdvTail then + if bHorizCut then dVzLimDwnUp = 0 end + dCutExtra = -BD.ADVANCE_TAIL_OFFS + end -- lavoro la faccia local vtOrthoO if bFromBottom and dCutV < dMaxVertDepth - BD.CUT_EXTRA and vtN:getZ() > 0 then @@ -469,7 +474,7 @@ local function MakeFromTop( sCutting, Proc, nPhase, nRawId, nPartId, dOvmHead, b else vtOrthoO = -X_AX() end - elseif vtN:getZ() < dNzLimDwnUp and abs( vtN:getY()) > 0.259 and abs( vtN:getY()) > abs( vtN:getZ()) and dCutH < dMaxDepth + 10 * GEO.EPS_SMALL then + elseif vtN:getZ() < dVzLimDwnUp and abs( vtN:getY()) > 0.259 and abs( vtN:getY()) > abs( vtN:getZ()) and dCutH < dMaxDepth + 10 * GEO.EPS_SMALL then if Proc.Head then vtOrthoO = X_AX() else @@ -481,12 +486,6 @@ local function MakeFromTop( sCutting, Proc, nPhase, nRawId, nPartId, dOvmHead, b vtOrthoO = EgtIf( vtN:getY() > 0.02, Y_AX(), -Y_AX()) end -- taglio - local dVzLimDwnUp = dNzLimDwnUp - local dCutExtra = BD.CUT_EXTRA - if Proc.AdvTail then - 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) if not bOk then return bOk, sErr