From e58cf7e3982c6e9b53ddb733175d92b53f76f93a Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Fri, 19 Apr 2024 11:38:19 +0200 Subject: [PATCH] - BasicStrategies se JSON non presente o in JSON nessuna strategia --- LuaLibs/BasicCustomerStrategies.lua | 38 +++++++++++++++++++++++++---- LuaLibs/BeamExec.lua | 7 +++--- 2 files changed, 37 insertions(+), 8 deletions(-) diff --git a/LuaLibs/BasicCustomerStrategies.lua b/LuaLibs/BasicCustomerStrategies.lua index b9dd076..b47b5b3 100644 --- a/LuaLibs/BasicCustomerStrategies.lua +++ b/LuaLibs/BasicCustomerStrategies.lua @@ -22,8 +22,15 @@ local function GetStrategies_Egalware( Proc) -- TODO tabella da compleatare man mano che si inseriscono le varie strategie + --------------------------------------------------------------------- -- Feature : Cut - if ID.IsCut( Proc) then + if ID.IsHeadCut( Proc) then + --------------------------------------------------------------------- + -- Feature : Cut + elseif ID.IsSplitCut( Proc) then + --------------------------------------------------------------------- + -- Feature : Cut + elseif ID.IsCut( Proc) then --------------------------------------------------------------------- -- Feature : Longitudinal Cut elseif ID.IsLongitudinalCut( Proc) then @@ -184,7 +191,27 @@ local function GetStrategies_Essetre( Proc) --------------------------------------------------------------------- -- Feature : Cut - if ID.IsCut( Proc) then + if ID.IsHeadCut( Proc) then + --------------------------------------------------------------------- + -- Feature : Cut + elseif ID.IsSplitCut( Proc) then + if Proc.TopologyName == 'FEATURE' then + Strategy_Essetre = { + StrategyID = 'STR0010', + Parameters = { + { + { Value = '15', Name = 'Step', Description = 'Questo è lo step di lavorazione', Type = 'd'}, + { Value = '2', Name = 'Depth', Description = 'Affondamento lavorazione', Type = 'd'}, + { Value = 'false', Name = 'AntiSplint', Description = 'Antischeggia', Type = 'b'} + } + } + } + table.insert( Strategies_Essetre, Strategy_Essetre) + Strategy_Essetre = {} + end + --------------------------------------------------------------------- + -- Feature : Cut + elseif ID.IsCut( Proc) then if Proc.TopologyName == 'FEATURE' then Strategy_Essetre = { StrategyID = 'STR0001', @@ -353,12 +380,13 @@ end -- *** Esecuzione *** ---------------------------------------------------------------------------------- --- si legge lo script delle strategie di base definito con cliente (statico e non modificabile) +-- script delle strategie di base standard definito con cliente (statico e non modificabile) +-- se non esiste JSON configurazione, o se non ha trovato nessuna strategia, prova a cercare in questi script function BasicCustomerStrategies.GetStrategiesFromBasicCustomerStrategies( Proc) local StrategiesFromScript = {} - -- se non esiste JSON e nessuan info in BeamData, si carica standard di default EGALWARE - if not STRATEGIES and not BD.STRATEGIES_SCRIPT then + -- se nessuno script specifico in BeamData, si carica standard di default EGALWARE + if not BD.STRATEGIES_SCRIPT or BD.STRATEGIES_SCRIPT == 'Egalware' then StrategiesFromScript = GetStrategies_Egalware( Proc) -- CLIENTE : ESSETRE elseif BD.STRATEGIES_SCRIPT == 'Essetre' then diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index fb9ef13..845d024 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -400,12 +400,13 @@ end ------------------------------------------------------------------------------------------------------------- local function GetStrategies( Proc) - local AvailableStrategiesForProc = {} + local AvailableStrategiesForProc = nil -- se la lista STRATEGIES è stata letta da JSON (quindi non è vuota), ritorno le strategie possibili if STRATEGIES and #STRATEGIES.Features > 0 then AvailableStrategiesForProc = GetStrategiesFromGlobalList( Proc) - -- altrimenti lancio script che setta le strategie in modo statico, come definito con cliente - else + end + -- se non ho trovato strategie disponibili nel JSON, o se JSON non presente, lancio script che setta le strategie in modo statico, come definito con cliente + if not AvailableStrategiesForProc then AvailableStrategiesForProc = BCS.GetStrategiesFromBasicCustomerStrategies( Proc) end -- TODO se ci sono strategie, posso caricare qui le varie librerie delle strategie. Oppure farlo quando si lanciano