diff --git a/LuaLibs/ProcessLongCut.lua b/LuaLibs/ProcessLongCut.lua index 4ba3997..fff611c 100644 --- a/LuaLibs/ProcessLongCut.lua +++ b/LuaLibs/ProcessLongCut.lua @@ -414,8 +414,7 @@ function ProcessLongCut.Make( Proc, nPhase, nRawId, nPartId, bCustUseBlade, nCus bCanUseBlade = true end end - - -- se lama abilitata per lavorare i fianche e da sotto e c'è testa da sotto + -- se lama abilitata per lavorare i fianchi e da sotto e c'è testa da sotto if nUseBlade == 2 and BD.DOWN_HEAD then -- se faccia da sotto o di lato ma con versore Z negativo che supera i 30° da Z- if ( nSide == -1 or abs(nSide) == 2) and vtN:getZ() <= -0.5 then @@ -425,8 +424,8 @@ function ProcessLongCut.Make( Proc, nPhase, nRawId, nPartId, bCustUseBlade, nCus if ( nSide == -1 or abs(nSide) == 2) and vtN:getZ() <= -0.0175 then bCanUseUnderBlade = true end - -- se faccia di lato ma con versore Z negativo verifico che abbia un angolo compatibile per non avere extracorsa - if ( nSide == 1 or abs(nSide) == 2) and vtN:getZ() >= -0.5 then + -- se faccia da sopra o di lato ma con versore Z negativo verifico che abbia un angolo compatibile (28deg) per non avere extracorsa + if ( nSide == 1 or abs(nSide) == 2) and vtN:getZ() >= -0.4695 then bCanUseBlade = true end end @@ -449,15 +448,15 @@ function ProcessLongCut.Make( Proc, nPhase, nRawId, nPartId, bCustUseBlade, nCus -- Se non limitato o forzato uso lama e da sopra e richiesto con doppio taglio di lama e superiore al limite minimo if ( ( not bLimXmin and not bLimXmax) or bForceUseBladeOnNotThruFace) and ( bCanUseUnderBlade or bCanUseBlade) and nUseBlade > 0 and Proc.Box:getDimX() > dLimMinPiece - 1 then - -- recupero la lavorazione local sCutting local dToolDiam = 0 - local dMaxDepth = 0 local dThick = 0 + local dMaxDepth = 0 local sCuttingDn local dToolDiamDn = 0 - local dMaxDepthDn = 0 local dThickDn = 0 + local dMaxDepthDn = 0 + -- recupero la lavorazione if bCanUseUnderBlade then sCuttingDn = ML.FindCutting( 'HeadSide_H2') if not sCuttingDn then @@ -493,17 +492,7 @@ function ProcessLongCut.Make( Proc, nPhase, nRawId, nPartId, bCustUseBlade, nCus end end -- se la fine (a sinistra) non è limitata e ho un pezzo successivo meno distante di metà raggio. setto la fine come limitata - if bCanUseBlade and dDistToNextPiece < dToolDiam/2 and not bLimXmin then - if bForceUseBladeOnNotThruFace then - bForcedLim = true - bLimXmin = true - else - sWarn = 'Warning on saw cut : Cut machining can damage next piece' - EgtOutLog( sWarn .. ' (process ' .. tostring( Proc.Id) .. ')') - end - end - -- se la fine (a sinistra) non è limitata e ho un pezzo successivo meno distante di metà raggio. setto la fine come limitata - if bCanUseUnderBlade and dDistToNextPiece < dToolDiamDn/2 and not bLimXmin then + if ( bCanUseBlade or bCanUseUnderBlade) and ( dDistToNextPiece < dToolDiam/2 or dDistToNextPiece < dToolDiamDn/2) and not bLimXmin then if bForceUseBladeOnNotThruFace then bForcedLim = true bLimXmin = true @@ -513,7 +502,6 @@ function ProcessLongCut.Make( Proc, nPhase, nRawId, nPartId, bCustUseBlade, nCus end end -- disabilitato la selezione del codolo, prende sempre quello più piccolo. Non cancellare quello disabiliato in caso di ripristino --- local dDimStrip = EgtIf( abs(nSide) == 1, BD.DIM_STRIP_SMALL, BD.DIM_STRIP) * EgtIf( nSide == -1, -1, 1) local dDimStrip = BD.DIM_STRIP_SMALL * EgtIf( nSide == -1, -1, 1) -- determino gli estremi local bStartFixed @@ -840,7 +828,9 @@ function ProcessLongCut.Make( Proc, nPhase, nRawId, nPartId, bCustUseBlade, nCus -- imposto uso della faccia EgtSetMachiningParam( MCH_MP.FACEUSE, EgtIf( k == 1, nFaceUse2, nFaceUse)) elseif bCanUseUnderBlade then - EgtSetMachiningParam( MCH_MP.WORKSIDE, MCH_MILL_WS.LEFT) + if abs(nSide) ~= 2 then + EgtSetMachiningParam( MCH_MP.WORKSIDE, MCH_MILL_WS.LEFT) + end -- imposto uso della faccia EgtSetMachiningParam( MCH_MP.FACEUSE, EgtIf( k == 1, nFaceUse, nFaceUse2)) else