- aggiunta nuova modalità di pre calcolo collisioni, al momento lama e solo asse Z

- aggiunta libreria TimeLib per calcolare i tempi di esecuzione (sostituite chiamate a EgtStartCounter e Stop)
- rimosse chiamate a EgtOutLog deprecate
This commit is contained in:
luca.mazzoleni
2025-11-24 17:30:57 +01:00
parent e6a2ce3702
commit 06a73a069f
10 changed files with 238 additions and 55 deletions
+5 -30
View File
@@ -19,6 +19,7 @@ local FeatureLib = require( 'FeatureLib')
local FaceData = require( 'FaceData')
local MachiningLib = require( 'MachiningLib')
local Logs = require( 'Logs')
local TimeLib = require( 'TimeLib')
EgtOutLog( ' BeamExec started', 1)
@@ -28,6 +29,7 @@ EgtMdbSave()
-------------------------------------------------------------------------------------------------------------
-- *** variabili globali ***
-------------------------------------------------------------------------------------------------------------
-- TODO spostare in file separato
TOOLS = {} -- tabella contenente tutti gli utensili
STRATEGIES = {} -- tabella contenente le strategie disponibili per ogni feature
STRATEGIES_CONFIG = {} -- tabella contenente i parametri di default delle strategie disponibili
@@ -37,6 +39,7 @@ PROCESSINGS = {} -- tabella contenente tutte le informazioni di ogni feat
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 già letti e importati
GENERAL_PARAMETERS_JSON = {} -- tabella contenente i parametri generali di default
TIMER = TimeLib.new() -- tabella contenente l'oggetto timer che tiene traccia del tempo di esecuzione
-------------------------------------------------------------------------------------------------------------
-- *** COSTANTI *** TODO -> DA SPOSTARE IN BEAMDATA???
@@ -115,6 +118,7 @@ function BeamExec.GetToolsFromDB()
Tool.dMaxMaterial = EgtTdbGetCurrToolParam( MCH_TP.MAXMAT)
Tool.dDiameter = EgtTdbGetCurrToolParam( MCH_TP.DIAM)
Tool.dLength = EgtTdbGetCurrToolParam( MCH_TP.LEN)
Tool.dTotalLength = EgtTdbGetCurrToolParam( MCH_TP.TOTLEN)
Tool.dSpeed = EgtTdbGetCurrToolParam( MCH_TP.SPEED)
Tool.bIsCCW = Tool.dSpeed < 0
Tool.Feeds = {}
@@ -1195,10 +1199,6 @@ end
-------------------------------------------------------------------------------------------------------------
function BeamExec.GetProcessings( PARTS, bCalcBestPieceUnloadPosition)
-- recupero tutti i processing di tutti i pezzi in tutte le rotazioni
-- TODO calcolo tempi da rimuovere o lasciare solo per debug
-- if EgtGetDebugLevel() >= 3 then
-- EgtStartCounter()
-- end
-- si aprono i limiti tavola per permettere rotazioni di pezzi più larghi della tavola
EgtSetTableAreaOffset( 2000, 2000, 2000, 2000)
@@ -1246,13 +1246,7 @@ function BeamExec.GetProcessings( PARTS, bCalcBestPieceUnloadPosition)
-- recupero le feature di lavorazione della trave
table.insert( PROCESSINGS, Part)
end
-- TODO calcolo tempi da rimuovere o lasciare solo per debug
-- if EgtGetDebugLevel() >= 3 then
-- local timeGetProcessings = EgtStopCounter()
-- timeGetProcessings = timeGetProcessings + 0
-- EgtOutBox( timeGetProcessings, 'GetProcessings calculation time')
-- EgtStartCounter()
-- end
return PROCESSINGS
end
@@ -1567,25 +1561,6 @@ function BeamExec.ProcessMachinings( PARTS)
local Stats = {}
local nOrd = 1
-- TODO da rimuovere o lasciare solo per debug
--if EgtGetDebugLevel() >= 3 then
-- EgtStartCounter()
--end
-- TODO da rimuovere o lasciare solo per debug
--if EgtGetDebugLevel() >= 3 then
-- local timeCollect = EgtStopCounter()
-- timeCollect = timeCollect + 0
-- EgtOutBox( timeCollect, 'Collect calculation time')
-- EgtStartCounter()
--end
-- TODO da rimuovere o lasciare solo per debug
--if EgtGetDebugLevel() >= 3 then
-- local timeMachining = EgtStopCounter()
-- timeMachining = timeMachining + 0
-- EgtOutBox( timeMachining, 'Machining calculation time')
--end
-- ricerca strategia di lavorazione per ogni pezzo e applicazione lavorazioni
for nPart = 1, #PARTS do