- Lettura parametri globali PROJECT e BTL

- Possibilità di leggere più file BTLInfo
- Creata funzione GetPieceGeneralParameters (DA FARE) per aggiornamento parametri su pezzo
This commit is contained in:
andrea.villa
2025-10-03 17:14:10 +02:00
parent a508b4bb94
commit ddbbc894fd
5 changed files with 68 additions and 79 deletions
+12 -7
View File
@@ -35,7 +35,8 @@ MACHININGS = {} -- tabella contenente le lavorazioni da applicare
MACHININGS.Info = {}
PROCESSINGS = {} -- tabella contenente tutte le informazioni di ogni feature, processate per ogni rotazione
RESULT = {} -- tabella contenente il risultato, feature per feature, dell'applicazione della strategia scelta e il resoconto dell'analisi fatta
GENERAL_PARAMETERS = {} -- tabella contenente i parametri generali
GENERAL_PARAMETERS = {} -- tabella contenente i parametri generali già letti e importati
GENERAL_PARAMETERS_JSON = {} -- tabella contenente i parametri generali di default
-------------------------------------------------------------------------------------------------------------
-- *** COSTANTI *** TODO -> DA SPOSTARE IN BEAMDATA???
@@ -215,9 +216,10 @@ function BeamExec.GetGeneralParameters()
return
end
CompleteList = BeamLib.ImportFileJSON( sFile)
GENERAL_PARAMETERS_JSON = BeamLib.ImportFileJSON( sFile)
GENERAL_PARAMETERS = BeamLib.LoadGeneralParametersInList( CompleteList)
-- all'inizio si legge solo PROJECT e BTL. I parametri PIECE vengono letti direttamente dalle strategie
GENERAL_PARAMETERS = BeamLib.LoadGeneralParametersInList( GENERAL_PARAMETERS_JSON)
end
-------------------------------------------------------------------------------------------------------------
@@ -237,7 +239,10 @@ function BeamExec.GetStrategiesFromJSONinBD( sAISetupConfigName)
-- metto la tabella letta nella lista globale STRATEGIES
STRATEGIES[sAISetupConfigName] = {}
STRATEGIES[sAISetupConfigName].FeatureList = FeatureList.FEATURE
STRATEGIES[sAISetupConfigName].PROJECT = FeatureList.PROJECT
STRATEGIES[sAISetupConfigName].BTL = FeatureList.BTL
STRATEGIES[sAISetupConfigName].PIECE = FeatureList.PIECE
STRATEGIES[sAISetupConfigName].FEATURE = FeatureList.FEATURE
STRATEGIES[sAISetupConfigName].sAISetupConfigName = sAISetupConfigName
end
end
@@ -480,10 +485,10 @@ function BeamExec.ProcessBeams( dRawW, dRawH, dRawL, dOvmHead, dOvmMid, PARTS, b
PARTS[i].NotClampableLength = { STD = { dHead = 0, dTail = 0}, SIDE = { dHead = 0, dTail = 0}, DOWN = { dHead = 0, dTail = 0}}
PARTS[i].dHeadOverMaterial = dDeltaS
PARTS[i].sAISetupConfig = EgtGetInfo( PARTS[i].id, 'AISETUP', 's') or nil
PARTS[i].GeneralParameters = {}
PARTS[i].sBTLInfo = EgtGetInfo( PARTS[i].id, 'PROJ', 's') or nil
-- si carica configurazione lavorazioni
BeamExec.GetStrategiesFromJSONinBD( PARTS[i].sAISetupConfig)
-- TODO leggere qui i parametri generali pezzo?
PARTS[i].GeneralParameters = BeamLib.GetPieceGeneralParameters( PARTS[i].id, PARTS[i].sBTLInfo, STRATEGIES[PARTS[i].sAISetupConfig], GENERAL_PARAMETERS_JSON)
else
local sOut = 'Error: part L(' .. EgtNumToString( dPartLen, 1) .. ') too big for raw part L(' .. EgtNumToString( dLen - 0.1, 1) .. ')'
return false, sOut
@@ -546,7 +551,7 @@ end
local function GetStrategies( Proc, sAISetupConfigName)
local AvailableStrategiesForProc = nil
-- se la lista STRATEGIES è stata letta da JSON (quindi non è vuota), ritorno le strategie possibili
if STRATEGIES and sAISetupConfigName and STRATEGIES[sAISetupConfigName] and #STRATEGIES[sAISetupConfigName].FeatureList > 0 then
if STRATEGIES and sAISetupConfigName and STRATEGIES[sAISetupConfigName] and #STRATEGIES[sAISetupConfigName].FEATURE > 0 then
AvailableStrategiesForProc = BeamLib.GetStrategiesFromList( Proc, STRATEGIES[sAISetupConfigName])
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