diff --git a/LuaLibs/ProcessLongDoubleCut.lua b/LuaLibs/ProcessLongDoubleCut.lua index 14bcb2b..08fbdd2 100644 --- a/LuaLibs/ProcessLongDoubleCut.lua +++ b/LuaLibs/ProcessLongDoubleCut.lua @@ -1277,26 +1277,28 @@ function ProcessLong2Cut.Make( Proc, nPhase, nRawId, nPartId, bForcedBladeMaster local dLimitAngle = -0.5 - 20 * GEO.EPS_SMALL -- se facce ortogonali (concave), mantengo la lavorazione di testa sulla faccia più grande purchè non superi di 30 gradi il sottosquadra if bOrtho then - if vtN[vOrd[1]]:getZ() > 0.001 and vtN[vOrd[2]]:getZ() > 0.001 then - if vtN[vOrd[1]]:getZ() >= vtN[vOrd[2]]:getZ() then + local vtN1 = vtN[vOrd[1]] + local vtN2 = vtN[vOrd[2]] + if vtN1:getZ() > 0.001 and vtN2:getZ() > 0.001 then + if vtN1:getZ() >= vtN2:getZ() then nFin = 1 else nIni = 2 end else - if vtN[vOrd[1]]:getZ() < dLimitAngle then + if vtN1:getZ() < dLimitAngle then nIni = 2 - elseif vtN[vOrd[2]]:getZ() < dLimitAngle then + elseif vtN2:getZ() < dLimitAngle then nFin = 1 else - if vtN[vOrd[1]]:getZ() >= vtN[vOrd[2]]:getZ() then - if vtN[vOrd[1]]:getZ() < dLimitAngle then + if vtN1:getZ() >= vtN2:getZ() then + if vtN1:getZ() < dLimitAngle then nIni = 2 else nFin = 1 end else - if vtN[vOrd[1]]:getZ() < dLimitAngle then + if vtN1:getZ() < dLimitAngle then nIni = 2 else nFin = 1 @@ -1390,18 +1392,19 @@ function ProcessLong2Cut.Make( Proc, nPhase, nRawId, nPartId, bForcedBladeMaster EgtOutLog( sErr) return false, sErr end + local dMySal, dMyEal = dSal, dEal if bFacesSwapped then - dSal, dEal = dEal, dSal + dMySal, dMyEal = dMyEal, dMySal end -- aggiungo geometria EgtSetMachiningGeometry( {{ Proc.Id, tFaceLong[vOrd[i]]}}) -- limito opportunamente la lavorazione if ( nSide == -1 and BD.DOWN_HEAD) then - EgtSetMachiningParam( MCH_MP.STARTADDLEN, dEal) - EgtSetMachiningParam( MCH_MP.ENDADDLEN, dSal) + EgtSetMachiningParam( MCH_MP.STARTADDLEN, dMyEal) + EgtSetMachiningParam( MCH_MP.ENDADDLEN, dMySal) else - EgtSetMachiningParam( MCH_MP.STARTADDLEN, dSal) - EgtSetMachiningParam( MCH_MP.ENDADDLEN, dEal) + EgtSetMachiningParam( MCH_MP.STARTADDLEN, dMySal) + EgtSetMachiningParam( MCH_MP.ENDADDLEN, dMyEal) end -- imposto posizione braccio porta testa per non ingombrare agli estremi EgtSetMachiningParam( MCH_MP.SCC, nSCC)