Improvement/LongCutBetterFeedDirection:
- in LongCut e LongDoubleCut nuova gestione del verso di avanzamento ottimale che contempla tutti i casi
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
-- 2023/01/27 In MakeSideFace il prolungamento di uscita è ora fissato a 10 mm.
|
||||
-- 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.
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local ProcessLong2Cut = {}
|
||||
@@ -689,36 +690,88 @@ function ProcessLong2Cut.Make( Proc, nPhase, nRawId, nPartId, bForcedBladeMaster
|
||||
if ( not bFront and k == 1) or ( bFront and k == 2) then
|
||||
dSal, dEal = dEal, dSal
|
||||
end
|
||||
if bCanUseBlade and bCanUseUnderBlade then
|
||||
if bCanUseBlade and nSide == -1 then
|
||||
EgtSetMachiningParam( MCH_MP.WORKSIDE, MCH_MILL_WS.LEFT)
|
||||
-- imposto uso della faccia
|
||||
EgtSetMachiningParam( MCH_MP.FACEUSE, EgtIf( k == 1, nFaceUse2, nFaceUse))
|
||||
|
||||
|
||||
-- verifico lama in uso e imposto uso faccia
|
||||
local bIsTopBladeCurrent
|
||||
local nFaceUseCurrent
|
||||
if bCanUseBlade and bCanUseUnderBlade then
|
||||
if nSide == -1 then
|
||||
if k == 1 then
|
||||
bIsTopBladeCurrent = true
|
||||
nFaceUseCurrent = nFaceUse2
|
||||
else
|
||||
EgtSetMachiningParam( MCH_MP.INVERT, true)
|
||||
EgtSetMachiningParam( MCH_MP.WORKSIDE, MCH_MILL_WS.RIGHT)
|
||||
-- imposto uso della faccia
|
||||
EgtSetMachiningParam( MCH_MP.FACEUSE, EgtIf( k == 1, nFaceUse, nFaceUse2))
|
||||
bIsTopBladeCurrent = false
|
||||
nFaceUseCurrent = nFaceUse
|
||||
end
|
||||
-- imposto uso della faccia
|
||||
EgtSetMachiningParam( MCH_MP.FACEUSE, EgtIf( k == 1, nFaceUse, nFaceUse2))
|
||||
elseif bCanUseUnderBlade then
|
||||
if nSide ~= 0 then
|
||||
EgtSetMachiningParam( MCH_MP.WORKSIDE, MCH_MILL_WS.LEFT)
|
||||
end
|
||||
-- imposto uso della faccia
|
||||
EgtSetMachiningParam( MCH_MP.FACEUSE, EgtIf( k == 1, nFaceUse, nFaceUse2))
|
||||
else
|
||||
if bCanUseBlade and nSide == -1 then
|
||||
EgtSetMachiningParam( MCH_MP.WORKSIDE, MCH_MILL_WS.LEFT)
|
||||
if k == 1 then
|
||||
bIsTopBladeCurrent = false
|
||||
nFaceUseCurrent = nFaceUse
|
||||
else
|
||||
EgtSetMachiningParam( MCH_MP.INVERT, false)
|
||||
EgtSetMachiningParam( MCH_MP.WORKSIDE, MCH_MILL_WS.LEFT)
|
||||
dSal, dEal = dEal, dSal
|
||||
bIsTopBladeCurrent = true
|
||||
nFaceUseCurrent = nFaceUse2
|
||||
end
|
||||
-- imposto uso della faccia
|
||||
EgtSetMachiningParam( MCH_MP.FACEUSE, EgtIf( k == 1, nFaceUse, nFaceUse2))
|
||||
end
|
||||
elseif bCanUseUnderBlade then
|
||||
if k == 1 then
|
||||
bIsTopBladeCurrent = false
|
||||
nFaceUseCurrent = nFaceUse
|
||||
else
|
||||
bIsTopBladeCurrent = false
|
||||
nFaceUseCurrent = nFaceUse2
|
||||
end
|
||||
else
|
||||
if k == 1 then
|
||||
bIsTopBladeCurrent = true
|
||||
nFaceUseCurrent = nFaceUse
|
||||
else
|
||||
bIsTopBladeCurrent = true
|
||||
nFaceUseCurrent = nFaceUse2
|
||||
end
|
||||
end
|
||||
|
||||
-- recupero alcune informazioni utili dalla lavorazione attuale
|
||||
local bIsCurrentBladeCW
|
||||
local bIsCurrentMachiningInverted
|
||||
if bIsTopBladeCurrent then
|
||||
EgtMdbSetCurrMachining( sCutting)
|
||||
else
|
||||
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
|
||||
if ( not bIsTopBladeCurrent and abs( nSide) ~= 0) or ( bCanUseBlade and bCanUseUnderBlade and nSide == -1) then
|
||||
if bIsCurrentBladeCW then
|
||||
nWorkSide = MCH_MILL_WS.LEFT
|
||||
bInvert = true
|
||||
else
|
||||
nWorkSide = MCH_MILL_WS.RIGHT
|
||||
bInvert = false
|
||||
end
|
||||
else
|
||||
if bIsCurrentBladeCW then
|
||||
nWorkSide = MCH_MILL_WS.LEFT
|
||||
bInvert = false
|
||||
else
|
||||
nWorkSide = MCH_MILL_WS.RIGHT
|
||||
bInvert = true
|
||||
end
|
||||
end
|
||||
|
||||
-- imposto eventuale inversione di estensioni e accorciamenti
|
||||
if bIsCurrentMachiningInverted ~= bInvert then
|
||||
dSal, dEal = dEal, dSal
|
||||
end
|
||||
|
||||
-- setto la lavorazione con i valori calcolati
|
||||
EgtSetMachiningParam( MCH_MP.INVERT, bInvert)
|
||||
EgtSetMachiningParam( MCH_MP.WORKSIDE, nWorkSide)
|
||||
EgtSetMachiningParam( MCH_MP.FACEUSE, nFaceUseCurrent)
|
||||
|
||||
|
||||
EgtSetMachiningParam( MCH_MP.STARTADDLEN, dSal)
|
||||
EgtSetMachiningParam( MCH_MP.ENDADDLEN, dEal)
|
||||
|
||||
Reference in New Issue
Block a user