diff --git a/LuaLibs/ProcessCut.lua b/LuaLibs/ProcessCut.lua index 331e050..429f6f7 100644 --- a/LuaLibs/ProcessCut.lua +++ b/LuaLibs/ProcessCut.lua @@ -67,10 +67,22 @@ function ProcessCut.Classify( Proc, b3Raw) local dNzLimDwnUp = BL.GetNzLimDownUp( b3Raw) local bDownCut = ( vtN:getZ() <= dNzLimDwnUp) if bDownCut then + -- recupero i dati della lama + local sCutType = EgtIf( Proc.Head, 'HeadSide', 'TailSide') + local sCutting = ML.FindCutting( sCutType, true, false) + local dMaxDepth = 0 + local dMaxMat = 0 + if EgtMdbSetCurrMachining( sCutting) then + local sTuuid = EgtMdbGetCurrMachiningParam( MCH_MP.TUUID) + if EgtTdbSetCurrTool( EgtTdbGetToolFromUUID( sTuuid) or '') then + dMaxDepth = EgtTdbGetCurrToolMaxDepth() or dMaxDepth + dMaxMat = EgtTdbGetCurrToolParam( MCH_TP.MAXMAT) or dMaxMat + end + end -- calcolo l'ingombro orizzontale della faccia local _, DimH, DimV = BL.GetFaceHvRefDim( Proc.Id, 0) -- confronto questo ingombro con il doppio della massima dimensione del DiceCut (impossibile lavorare sotto da sopra se più di 2 tagli) - if DimH > 2 * BD.MAX_DIM_DICE then + if DimH > 2 * BD.MAX_DIM_DICE or ( abs( vtN:getY()) > 0.1 and dMaxMat < DimH) then return true, true end end diff --git a/LuaLibs/ProcessDoubleCut.lua b/LuaLibs/ProcessDoubleCut.lua index 246e356..e8d4591 100644 --- a/LuaLibs/ProcessDoubleCut.lua +++ b/LuaLibs/ProcessDoubleCut.lua @@ -57,7 +57,6 @@ function ProcessDoubleCut.Classify( Proc, b3Raw) -- recupero i dati della lama local sCutType = EgtIf( Proc.Head, 'HeadSide', 'TailSide') local sCutting = ML.FindCutting( sCutType, true, false) - -- recupero i dati dell'utensile local dMaxDepth = 0 local dMaxMat = 0 if EgtMdbSetCurrMachining( sCutting) then