From de6ffa3d7390d7af1227d4553fdbb99318bbbddc Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Mon, 6 Mar 2023 18:26:16 +0100 Subject: [PATCH] in LongCut, LongDoubleCut correzione accorciamenti e allungamenti --- LuaLibs/ProcessLongCut.lua | 14 +++++++++----- LuaLibs/ProcessLongDoubleCut.lua | 14 +++++++++----- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/LuaLibs/ProcessLongCut.lua b/LuaLibs/ProcessLongCut.lua index e9aec3d..fe1014f 100644 --- a/LuaLibs/ProcessLongCut.lua +++ b/LuaLibs/ProcessLongCut.lua @@ -22,6 +22,7 @@ -- 2023/02/15 Migliorato verso di avanzamento della lama. -- 2023/02/21 Verso di avanzamento della lama migliorato anche con lama LC. -- 2023/02/22 Nuova gestione del verso di avanzamento ottimale che contempla tutti i casi. +-- 2023/03/06 Correzione per i casi con lavorazione limitata. -- Tabella per definizione modulo local ProcessLongCut = {} @@ -916,18 +917,22 @@ function ProcessLongCut.Make( Proc, nPhase, nRawId, nPartId, bCustUseBlade, nCus end -- aggiungo geometria EgtSetMachiningGeometry( {{ Proc.Id, 0}}) + + -- settaggio di workside, uso faccia e eventuale inversione -- limito opportunamente la lavorazione - local dSal = EgtIf( i == nC, -dEndDist, - dEndAccDist - ( nC - i - 1) * dC) - local dEal = EgtIf( i == 1, -dStartDist, - dStartAccDist - ( i - 2) * dC) - if ( not bFront and k == 1) or ( bFront and k == 2) then + local dSalInner, dSalOuter = - dEndAccDist - ( i - 2) * dC, -dEndDist + local dEalInner, dEalOuter = - dStartAccDist - ( nC - i - 1) * dC, -dStartDist + local dSal = EgtIf( i == 1, dSalOuter, dSalInner) + local dEal = EgtIf( i == nC, dEalOuter, dEalInner) + if ( bFront and k == 1) or ( not bFront and k == 2) then dSal, dEal = dEal, dSal end - -- settaggio di workside, uso faccia e eventuale inversione -- verifico lama in uso e imposto uso faccia local bIsTopBladeCurrent local nFaceUseCurrent if bCanUseBlade and bCanUseUnderBlade then + dSal, dEal = dEal, dSal if k == 1 then bIsTopBladeCurrent = true nFaceUseCurrent = nFaceUse2 @@ -962,7 +967,6 @@ function ProcessLongCut.Make( Proc, nPhase, nRawId, nPartId, bCustUseBlade, nCus EgtMdbSetCurrMachining( sCuttingDn) end bIsCurrentBladeCW = EgtMdbGetCurrMachiningParam( MCH_MP.SPEED) < 0 - bIsCurrentMachiningInverted = EgtMdbGetCurrMachiningParam( MCH_MP.INVERT) -- imposto la direzione di lavoro per avere scarico del truciolo ottimale local nWorkSide, bInvert diff --git a/LuaLibs/ProcessLongDoubleCut.lua b/LuaLibs/ProcessLongDoubleCut.lua index b1d82a9..df5f958 100644 --- a/LuaLibs/ProcessLongDoubleCut.lua +++ b/LuaLibs/ProcessLongDoubleCut.lua @@ -15,6 +15,7 @@ -- 2023/02/15 Migliorato verso di avanzamento della lama. -- 2023/02/21 Verso di avanzamento della lama migliorato anche con lama LC. -- 2023/02/22 Nuova gestione del verso di avanzamento ottimale che contempla tutti i casi. +-- 2023/03/06 Correzione per i casi con lavorazione limitata. -- Tabella per definizione modulo local ProcessLong2Cut = {} @@ -684,19 +685,23 @@ function ProcessLong2Cut.Make( Proc, nPhase, nRawId, nPartId, bForcedBladeMaster end -- aggiungo geometria EgtSetMachiningGeometry( {{ Proc.Id, vOrd[j]-1}}) + + -- settaggio di workside, uso faccia e eventuale inversione -- limito opportunamente la lavorazione - local dSal = EgtIf( i == nC, 0, - dEndAccDist - ( nC - i - 1) * dC) - local dEal = EgtIf( i == 1, 0, - dStartAccDist - ( i - 2) * dC) - if ( not bFront and k == 1) or ( bFront and k == 2) then + local dSalInner, dSalOuter = - dEndAccDist - ( i - 2) * dC, 0 + local dEalInner, dEalOuter = - dStartAccDist - ( nC - i - 1) * dC, 0 + local dSal = EgtIf( i == 1, dSalOuter, dSalInner) + local dEal = EgtIf( i == nC, dEalOuter, dEalInner) + if ( bFront and k == 1) or ( not bFront and k == 2) then dSal, dEal = dEal, dSal end - -- settaggio di workside, uso faccia e eventuale inversione -- verifico lama in uso e imposto uso faccia local bIsTopBladeCurrent local nFaceUseCurrent if bCanUseBlade and bCanUseUnderBlade then if nSide == -1 then + dSal, dEal = dEal, dSal if k == 1 then bIsTopBladeCurrent = true nFaceUseCurrent = nFaceUse2 @@ -740,7 +745,6 @@ function ProcessLong2Cut.Make( Proc, nPhase, nRawId, nPartId, bForcedBladeMaster EgtMdbSetCurrMachining( sCuttingDn) end bIsCurrentBladeCW = EgtMdbGetCurrMachiningParam( MCH_MP.SPEED) < 0 - bIsCurrentMachiningInverted = EgtMdbGetCurrMachiningParam( MCH_MP.INVERT) -- imposto la direzione di lavoro per avere scarico del truciolo ottimale local nWorkSide, bInvert