diff --git a/LuaLibs/WProcessLapJoint.lua b/LuaLibs/WProcessLapJoint.lua index 16d1e63..7f55d70 100644 --- a/LuaLibs/WProcessLapJoint.lua +++ b/LuaLibs/WProcessLapJoint.lua @@ -1443,6 +1443,8 @@ local function MakeSideGrooveByMill( Proc, nFacet, nRawId, b3Raw, sCustomMach, d EgtOutLog( sErr) return false, sErr end + local dGrooveMinZ = max( b3Raw:getMin():getZ(), Proc.Box:getMin():getZ()) + local dRawMaxZ = b3Raw:getMax():getZ() -- recupero i dati dell'utensile local dMillDiam = 20 local dMillLen = 10 @@ -1472,8 +1474,6 @@ local function MakeSideGrooveByMill( Proc, nFacet, nRawId, b3Raw, sCustomMach, d dMaxDepthOnSide = EgtTdbGetCurrToolValInNotes( MCH_TP.USERNOTES, 'SIDEDEPTH', 'd') end end - local dGrooveMinZ = max( b3Raw:getMin():getZ(), Proc.Box:getMin():getZ()) - local dRawMaxZ = b3Raw:getMax():getZ() -- se riesco a lavorare il sottosquadro senza arrivare alla parte larga del portautensile uso la sidedepth o il diametro stretto del portautensile come diametro del gambo if ( dMillTotLen - dMillLenTh) > ( abs( dRawMaxZ - dGrooveMinZ) + 1) then if dMaxDepthOnSide and dMaxDepthOnSide > 0 then @@ -1497,7 +1497,13 @@ local function MakeSideGrooveByMill( Proc, nFacet, nRawId, b3Raw, sCustomMach, d return false, sErr end if Proc.Fct == 2 and Proc.Box:getMin():getZ() < b3Raw:getMin():getZ() + 100 * GEO.EPS_SMALL and dMaxMat > dThick + 10 * GEO.EPS_SMALL then - local sErr = 'Error : Tool thickness is too big' + local sErr = 'Error : Tool thickness is too big' + EgtOutLog( sErr) + return false, sErr + end + -- se la testa scende sotto al limite superiore del grezzo + if dMillTotLen < ( abs( dRawMaxZ - dGrooveMinZ) + 1) then + local sErr = 'Error : Tool too short, head will collide with rawpart' EgtOutLog( sErr) return false, sErr end