From e496feff2cc9ceaeb5cf23c740b6a92cc58dbcab Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Wed, 25 Oct 2023 10:15:59 +0200 Subject: [PATCH] - In LongDoubleCut limito lavorazione a massimo materiale lama prima di applicare. Da completare --- LuaLibs/ProcessLongDoubleCut.lua | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/LuaLibs/ProcessLongDoubleCut.lua b/LuaLibs/ProcessLongDoubleCut.lua index 35748c2..f7ccbe1 100644 --- a/LuaLibs/ProcessLongDoubleCut.lua +++ b/LuaLibs/ProcessLongDoubleCut.lua @@ -858,15 +858,25 @@ function ProcessLong2Cut.Make( Proc, nPhase, nRawId, nPartId, bForcedBladeMaster local dOffset local dLioPerp if j == 1 then -- il primo taglio lo faccio completo se angolo interno maggiore di 90 + local dMinOffsBigFace = max( vWidth[vOrd[j]] - dMaxDepth, 0) + -- se la faccia è più grande del massimo materiale lama, allora limito lavorazione + if dMinOffsBigFace > 0 then + dOffset = dMinOffsBigFace -- se angolo interno inferiore di 90° calcolo l'arretramento della lama + un piccolo delta di 0.3 - if dAng < - ( 90 + 10 * GEO.EPS_SMALL) then + elseif dAng < - ( 90 + 10 * GEO.EPS_SMALL) then dOffset = 0.3 + ((dToolThick* vtN[vOrd[1]]) * vtN[vOrd[2]] * vtN[vOrd[2]]):len() else dOffset = 0 end dLioPerp = vWidth[vOrd[j]] + BD.CUT_SIC else -- il secondo ridotto della distanza minima e della componente spessore della lama - dOffset = dDimStrip + ((dToolThick* vtN[vOrd[1]]) - (dToolThick* vtN[vOrd[1]]) * vtN[vOrd[2]] * vtN[vOrd[2]]):len() + local dMinOffsBigFace = max( vWidth[vOrd[j]] - dMaxDepth, 0) + -- se la faccia è più grande del massimo materiale lama, allora limito lavorazione + if dMinOffsBigFace > 0 then + dOffset = dMinOffsBigFace + else + dOffset = dDimStrip + ((dToolThick* vtN[vOrd[1]]) - (dToolThick* vtN[vOrd[1]]) * vtN[vOrd[2]] * vtN[vOrd[2]]):len() + end dLioPerp = vWidth[vOrd[j]] - dOffset + BD.CUT_SIC end local dLioTang = 0