diff --git a/LuaLibs/ProcessMark.lua b/LuaLibs/ProcessMark.lua index a88acfe..328279e 100644 --- a/LuaLibs/ProcessMark.lua +++ b/LuaLibs/ProcessMark.lua @@ -1,7 +1,8 @@ --- ProcessMark.lua by Egaltech s.r.l. 2022/06/07 +-- ProcessMark.lua by Egaltech s.r.l. 2022/12/05 -- Gestione calcolo marcatura per Travi -- 2020/05/28 Tipo di lavorazione passato da Mark a Text. -- 2021/05/03 Aggiunta gestione testa da sotto. +-- 2022/12/05 Aggiunta gestione tipo di lavorazione Text_AT. -- Tabella per definizione modulo local ProcessMark = {} @@ -37,6 +38,12 @@ function ProcessMark.Classify( Proc) end -- verifico se la marcatura è lavorabile solo da sotto local bDown = (( vtN:getZ() < -0.1)) + -- se da sotto e presente rinvio angolare verifico se c'è opportuna lavorazione + if bDown and BD.ANG_TRASM then + if ML.FindMilling( 'Text_AT') then + bDown = false + end + end return true, bDown end @@ -55,25 +62,25 @@ function ProcessMark.Make( Proc, nPhase, nRawId, nPartId) end -- verifico sia una curva/testo if not vtExtr then - local sErr = 'Error on process ' .. tostring( Proc.Id) .. ' Mark with geometry type not accepted' + local sErr = 'Error : Mark with geometry type not accepted' EgtOutLog( sErr) return false, sErr end -- verifico che la marcatura non sia orientata verso il basso (-5 deg) - if vtExtr:getZ() < - 0.1 and not BD.DOWN_HEAD and not BD.TURN then - local sErr = 'Error on process ' .. tostring( Proc.Id) .. ' Mark from bottom impossible' + if vtExtr:getZ() < - 0.1 and not BD.DOWN_HEAD and not BD.ANG_TRASM and not BD.TURN then + local sErr = 'Error : Mark from bottom impossible' EgtOutLog( sErr) return false, sErr end -- abilitazione lavorazione da sotto local bMillUp = ( BD.DOWN_HEAD and vtExtr:getZ() > -0.259) local bMillDown = ( BD.DOWN_HEAD and vtExtr:getZ() < 0.174) + local bMillAngTrasm = ( BD.ANG_TRASM and vtExtr:getZ() < -0.1) -- recupero la lavorazione - local sMillType = 'Text' - --local sMchExt = EgtIf( bMillDown, '_H2', '') + local sMillType = EgtIf( not bMillAngTrasm, 'Text', 'Text_AT') local sMilling = ML.FindMilling( sMillType, nil, nil, nil, nil, bMillUp, bMillDown) if not sMilling then - local sErr = 'Error on process ' .. tostring( Proc.Id) .. ' milling not found in library' + local sErr = 'Error : milling not found in library' EgtOutLog( sErr) return false, sErr end @@ -88,11 +95,13 @@ function ProcessMark.Make( Proc, nPhase, nRawId, nPartId) -- aggiungo geometria EgtSetMachiningGeometry( {{ Proc.Id, -1}}) -- imposto posizione braccio porta testa - if vtExtr:getY() <= 0 then - EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.ADIR_YM) + local nSCC = MCH_SCC.NONE + if bMillAngTrasm then + nSCC = MCH_SCC.ADIR_NEAR else - EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.ADIR_YP) + nSCC = EgtIf( vtExtr:getY() <= 0, MCH_SCC.ADIR_YM, MCH_SCC.ADIR_YP) end + EgtSetMachiningParam( MCH_MP.SCC, nSCC) -- eseguo if not ML.ApplyMachining( true, false) then local _, sErr = EgtGetLastMachMgrError() @@ -112,11 +121,7 @@ function ProcessMark.Make( Proc, nPhase, nRawId, nPartId) -- aggiungo geometria EgtSetMachiningGeometry( {{ AuxId, -1}}) -- imposto posizione braccio porta testa - if vtExtr:getY() <= 0 then - EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.ADIR_YM) - else - EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.ADIR_YP) - end + EgtSetMachiningParam( MCH_MP.SCC, nSCC) -- eseguo if not ML.ApplyMachining( true, false) then local _, sErr = EgtGetLastMachMgrError() diff --git a/LuaLibs/ProcessText.lua b/LuaLibs/ProcessText.lua index 53609aa..c405865 100644 --- a/LuaLibs/ProcessText.lua +++ b/LuaLibs/ProcessText.lua @@ -1,6 +1,7 @@ --- ProcessText.lua by Egaltech s.r.l. 2021/05/03 +-- ProcessText.lua by Egaltech s.r.l. 2022/12/05 -- Gestione calcolo testi per Travi -- 2021/05/03 Aggiunta gestione testa da sotto. +-- 2022/12/05 Aggiunta gestione tipo di lavorazione Text_AT. -- Tabella per definizione modulo local ProcessText = {} @@ -31,6 +32,12 @@ function ProcessText.Classify( Proc) end -- verifico se il testo è lavorabile solo da sotto local bDown = (( vtN:getZ() < -0.1)) + -- se da sotto e presente rinvio angolare verifico se c'è opportuna lavorazione + if bDown and BD.ANG_TRASM then + if ML.FindMilling( 'Text_AT') then + bDown = false + end + end return true, bDown end @@ -41,25 +48,25 @@ function ProcessText.Make( Proc, nPhase, nRawId, nPartId) local vtN = EgtTextNormVersor( Proc.Id, GDB_ID.ROOT) -- verifico sia un testo if not vtN then - local sErr = 'Error on process ' .. tostring( Proc.Id) .. ' Text with geometry type not accepted' + local sErr = 'Error : Text with geometry type not accepted' EgtOutLog( sErr) return false, sErr end -- verifico che il testo non sia orientato verso il basso (-5 deg) - if vtN:getZ() < - 0.1 and not BD.DOWN_HEAD and not BD.TURN then - local sErr = 'Error on process ' .. tostring( Proc.Id) .. ' Text from bottom impossible' + if vtN:getZ() < - 0.1 and not BD.DOWN_HEAD and not BD.ANG_TRASM and not BD.TURN then + local sErr = 'Error : Text from bottom impossible' EgtOutLog( sErr) return false, sErr end -- abilitazione lavorazione da sotto local bMillUp = ( BD.DOWN_HEAD and vtN:getZ() > -0.259) local bMillDown = ( BD.DOWN_HEAD and vtN:getZ() < 0.174) + local bMillAngTrasm = ( BD.ANG_TRASM and vtN:getZ() < -0.1) -- recupero la lavorazione - local sMillType = 'Text' - --local sMchExt = EgtIf( bMillDown, '_H2', '') + local sMillType = EgtIf( not bMillAngTrasm, 'Text', 'Text_AT') local sMilling = ML.FindMilling( sMillType, nil, nil, nil, nil, bMillUp, bMillDown) if not sMilling then - local sErr = 'Error on process ' .. tostring( Proc.Id) .. ' milling not found in library' + local sErr = 'Error : milling not found in library' EgtOutLog( sErr) return false, sErr end @@ -74,11 +81,13 @@ function ProcessText.Make( Proc, nPhase, nRawId, nPartId) -- aggiungo geometria EgtSetMachiningGeometry( {{ Proc.Id, -1}}) -- imposto posizione braccio porta testa - if vtN:getY() <= 0 then - EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.ADIR_YM) + local nSCC = MCH_SCC.NONE + if bMillAngTrasm then + nSCC = MCH_SCC.ADIR_NEAR else - EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.ADIR_YP) + nSCC = EgtIf( vtN:getY() <= 0, MCH_SCC.ADIR_YM, MCH_SCC.ADIR_YP) end + EgtSetMachiningParam( MCH_MP.SCC, nSCC) -- eseguo if not ML.ApplyMachining( true, false) then local _, sErr = EgtGetLastMachMgrError()