diff --git a/LuaLibs/BasicCustomerStrategies.lua b/LuaLibs/BasicCustomerStrategies.lua index af583d6..ae8b6c8 100644 --- a/LuaLibs/BasicCustomerStrategies.lua +++ b/LuaLibs/BasicCustomerStrategies.lua @@ -403,7 +403,7 @@ local function GetParameters_Essetre( Proc, sStrategyIdToGet) if sStrategyIdToGet == 'HEADCUT' then -- eventuali informazioni da recuperare sulla feature sostituita if Proc.SlaveProcIndexes then - local idSlaveProc = PROCESSINGS[Proc.idPart].Rotation[Proc.nCurrentRotation][Proc.SlaveProcIndexes[1]].id + local idSlaveProc = PROCESSINGS[Proc.nIndexPartInParts].Rotation[Proc.nCurrentRotation][Proc.SlaveProcIndexes[1]].id local dDepthChamfer = EgtGetInfo( idSlaveProc or GDB_ID.NULL, 'Q06', 'd') or 0 table.insert( Parameters, { sName = 'dDepthChamfer', sValue = dDepthChamfer, sType = 'd'}) diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index 3e20c79..3683516 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -535,20 +535,6 @@ local function GetStrategies( Proc) -- 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) - -- se ci sono strategie disponibili, si recuperano eventuali parametri custom - if AvailableStrategiesForProc then - for i = 1, #AvailableStrategiesForProc do - -- se le strategie disponibili sono le basic, non si possono customizzare valori di default da interfaccia, si leggono allora eventuali parametri di default decisi con cliente - if AvailableStrategiesForProc.bIsBasicStrategy then - -- essendo una strategia basic, la lista dei parametri custom dovrebbe essere sempre vuota. Si leggono ora - if not AvailableStrategiesForProc[i].ParameterList then - AvailableStrategiesForProc[i].ParameterList = BCS.GetParametersFromBasicCustomerStrategies( Proc, AvailableStrategiesForProc[i].sStrategyId) - end - end - end - -- si riprocessano le strategie dopo che sono stati letti i parametri - AvailableStrategiesForProc = BCS.UpdateStrategies( AvailableStrategiesForProc) - end end return AvailableStrategiesForProc end @@ -930,6 +916,20 @@ local function CalculateStrategies( vProcSingleRot, Part) if Proc.nFlg ~= 0 then -- controllo se ci sono strategie disponibili if Proc.AvailableStrategies and #Proc.AvailableStrategies > 0 then + -- se le strategie disponibili sono le basic, non si possono customizzare valori di default da interfaccia + -- si leggono allora eventuali parametri di default scritti come info sulla feature + if Proc.AvailableStrategies.bIsBasicStrategy then + -- si recuperano eventuali parametri custom + for i = 1, #Proc.AvailableStrategies do + -- essendo una strategia basic, la lista dei parametri custom dovrebbe essere sempre vuota. Si leggono ora + if not Proc.AvailableStrategies[i].ParameterList then + Proc.AvailableStrategies[i].ParameterList = BCS.GetParametersFromBasicCustomerStrategies( Proc, Proc.AvailableStrategies[i].sStrategyId) + end + end + -- si riprocessano le strategie dopo che sono stati letti i parametri + Proc.AvailableStrategies = BCS.UpdateStrategies( Proc.AvailableStrategies) + end + -- ciclo tutte le strategie della feature for nIndexCurrentStrategy = 1, #Proc.AvailableStrategies do -- eseguo file config con i parametri di default @@ -1049,7 +1049,7 @@ local function AddFeatureResultToGlobalList( Proc, OptionalParameters) end local nRotation = OptionalParameters.nRotation or 1 - if Proc.nIndexMasterProc then + if Proc.nIndexMasterProc and Proc.ChosenStrategy then sStrategyId = PROCESSINGS[Proc.nIndexPartInParts].Rotation[Proc.nIndexRotation][Proc.nIndexMasterProc].ChosenStrategy.sStrategyId sStatus = PROCESSINGS[Proc.nIndexPartInParts].Rotation[Proc.nIndexRotation][Proc.nIndexMasterProc].ChosenStrategy.Result.sStatus nCompletionIndex = PROCESSINGS[Proc.nIndexPartInParts].Rotation[Proc.nIndexRotation][Proc.nIndexMasterProc].ChosenStrategy.Result.nCompletionIndex diff --git a/LuaLibs/BeamLib.lua b/LuaLibs/BeamLib.lua index c399d71..604bdd0 100644 --- a/LuaLibs/BeamLib.lua +++ b/LuaLibs/BeamLib.lua @@ -473,7 +473,7 @@ function BeamLib.LoadCustomParametersInStrategy( Proc, CustomParameters, Default end -- se non arriva forzato da strategia, oppure se non รจ stato configurato da cliente, si prende default - if not xParameterValue then + if xParameterValue == nil then xParameterValue = DefaultStrategyParamList.ParameterList[i].sValue end