From e936f900868392e9a66f2f816dd8aaef9fb90e53 Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Fri, 10 May 2024 14:22:28 +0200 Subject: [PATCH] Cut : in MakeFromTop ricalcolo direzione di lavorazione su facce a cubetti --- LuaLibs/ProcessCut.lua | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/LuaLibs/ProcessCut.lua b/LuaLibs/ProcessCut.lua index 04883f4..d74d6b7 100644 --- a/LuaLibs/ProcessCut.lua +++ b/LuaLibs/ProcessCut.lua @@ -25,6 +25,7 @@ -- 2023/10/27 In MakeFromTop corretto massimo materiale in caso di lavorazione da sotto. -- 2023/12/07 Correzione in Classify in scelta ribaltamento trave quando si è in condizioni downUp. -- 2024/01/18 Gestita superficie limitante opzionale da passare a diceCut. +-- 2024/05/10 In MakeFromTop ricalcolo direzione di lavorazione su facce a cubetti -- Tabella per definizione modulo local ProcessCut = {} @@ -479,7 +480,15 @@ local function MakeFromTop( sCutting, Proc, nPhase, nRawId, nPartId, dOvmHead, b if vtO then vtOrthoO = Vector3d( vtO) * EgtIf( bOrthInv, -1, 1) else - if bHorizCut then + -- ricalcolo tipo taglio perché "bHorizCut" è calcolato sulla feature, mentre il cubetto potrebbe essere lavorato in un altro modo + local _, dLen, dWidth = BL.GetFaceHvRefDim( vCuts[i][1], 0, b3Raw) + local bCutDirection = bHorizCut + -- se bisogna tagliare di fianco ma la lunghezza faccia è più del massimo materiale, forzo lavorazione da sopra + if not bHorizCut and dLen > dMaxDepth then + bCutDirection = true + end + + if bCutDirection then vtOrthoO = Z_AX() else if vtN:getZ() < dNzLimDwnUp then