- funzioni di precollisione lama spostate in libreria apposita PreCollisionLib

- calcolo tempo esecuzione migliorato (TimeLib e riferimenti)
- idTempGroup ora è scritto nel Part per evitare di ricercarlo ogni volta
This commit is contained in:
luca.mazzoleni
2025-11-25 15:19:09 +01:00
parent 06a73a069f
commit 74a12a4a42
12 changed files with 368 additions and 287 deletions
+12 -9
View File
@@ -182,10 +182,8 @@ end
-------------------------------------------------------------------------------------------------------------
-- calcolo tempo esecuzione
if EgtGetDebugLevel() >= 3 then
TIMER:start()
EgtOutLog( ' Execution timer started')
end
TIMER:start()
EgtOutLog( ' Execution timer started')
-- script principale
@@ -436,6 +434,9 @@ if bToProcess then
-- recupero parametri generali da progetto
BeamExec.GetGeneralParameters()
-- creo un gruppo temporaneo dove finiranno tutte le entità che non bisogna salvare, alla fine lo si cancella
local idTempGroup = BeamLib.CreateTempGroup()
-- Se devo creare la barra
if bCreateBar then
if #PARTS == 0 then
@@ -595,6 +596,7 @@ if bToProcess then
PARTS[i].SplittingPoints = BeamLib.GetPartSplittingPoints( PARTS[i])
PARTS[i].NotClampableLength = { STD = { dHead = 0, dTail = 0}, SIDE = { dHead = 0, dTail = 0}, DOWN = { dHead = 0, dTail = 0}}
PARTS[i].sBTLInfo = EgtGetInfo( PARTS[i].id, 'PROJ', 's') or nil
PARTS[i].idTempGroup = idTempGroup
PARTS[i].sAISetupConfig = EgtGetInfo( PARTS[i].id, 'AISETUP', 's') or
( GENERAL_PARAMETERS.BTL[PARTS[i].sBTLInfo] and GENERAL_PARAMETERS.BTL[PARTS[i].sBTLInfo].sAISetupConfig) or -- i parametri BTL potrebbero non esistere
@@ -652,16 +654,12 @@ if bToProcess then
-- Lavoro le features
if not GetDataConfig() then return end
-- creo un gruppo temporaneo dove finiranno tutte le entità che non bisogna salvare, alla fine lo si cancella
BeamLib.CreateTempGroup()
BeamExec.GetProcessings( PARTS, bCalcBestPieceUnloadPosition)
BeamExec.GetCombinationMatrix( PARTS, bCalcBestPieceUnloadPosition)
BeamExec.ProcessMachinings( PARTS)
-- si cancella gruppo temporaneo contenente entità da cancellare
local idTempGroup = BeamLib.GetTempGroup()
--EgtErase( idTempGroup)
EgtErase( idTempGroup)
local sOutput = ''
@@ -764,6 +762,11 @@ else
end
end
-- log tempi di esecuzione
if EgtGetDebugLevel() >= 3 then
TIMER:logAllElapsed()
end
-- *** Eseguo simulazione con verifica collisione in cieco ***
if ( BEAM.FLAG == 0 and ( bToProcess or bToRecalc)) or BEAM.FLAG == 3 or BEAM.FLAG == 4 then
EgtOutLog( ' +++ Simulating with collision check >>>')