From 69c31e4c2bfb13e45241e928d4e0f30f84b609ea Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Fri, 5 Dec 2025 10:01:33 +0100 Subject: [PATCH] - PreCollisionLib rinominata PreSimulationLib --- BatchProcessNew.lua | 2 +- LuaLibs/MachiningLib.lua | 14 +++++++------- LuaLibs/PreCollisionLib.lua | 15 +++++++-------- Process.lua | 2 +- 4 files changed, 16 insertions(+), 17 deletions(-) diff --git a/BatchProcessNew.lua b/BatchProcessNew.lua index 8ed784b..40af068 100644 --- a/BatchProcessNew.lua +++ b/BatchProcessNew.lua @@ -58,7 +58,7 @@ _G.package.loaded.FeatureLib = nil _G.package.loaded.Identity = nil _G.package.loaded.Logs = nil _G.package.loaded.MachiningLib = nil -_G.package.loaded.PreCollisionLib = nil +_G.package.loaded.PreSimulationLib = nil -- strategie di base sempre presenti _G.package.loaded['HEADCUT\\HEADCUT'] = nil _G.package.loaded['TAILCUT\\TAILCUT'] = nil diff --git a/LuaLibs/MachiningLib.lua b/LuaLibs/MachiningLib.lua index f2aea27..614afb3 100644 --- a/LuaLibs/MachiningLib.lua +++ b/LuaLibs/MachiningLib.lua @@ -13,7 +13,7 @@ local BeamData = require( 'BeamDataNew') local BeamLib = require( 'BeamLib') local FeatureLib = require( 'FeatureLib') local BCS = require( 'BasicCustomerStrategies') -local PreCollisionLib = require( 'PreCollisionLib') +local PreSimulationLib = require( 'PreSimulationLib') local FaceData = require ( 'FaceData') EgtOutLog( ' MachiningLib started', 1) @@ -317,14 +317,14 @@ function MachiningLib.GetBladeEngagement( Parameters, OptionalParameters) dDepthToMachine = dDepthToMachine } - bCollisionFound, bMoveAfterSplitZ = PreCollisionLib.CheckCollisionWithAxis( 'Z', CheckCollisionParameters) + bCollisionFound, bMoveAfterSplitZ = PreSimulationLib.CheckCollisionWithAxis( 'Z', CheckCollisionParameters) if not bCollisionFound then - bCollisionFound, bMoveAfterSplitC = PreCollisionLib.CheckCollisionWithAxis( 'C', CheckCollisionParameters, { bCheckOnlyRestlength = bIsDicing}) + bCollisionFound, bMoveAfterSplitC = PreSimulationLib.CheckCollisionWithAxis( 'C', CheckCollisionParameters, { bCheckOnlyRestlength = bIsDicing}) end if not bCollisionFound then - bCollisionFound, bMoveAfterSplitAB = PreCollisionLib.CheckCollisionWithAxis( 'AB', CheckCollisionParameters, { bCheckOnlyRestlength = bIsDicing}) + bCollisionFound, bMoveAfterSplitAB = PreSimulationLib.CheckCollisionWithAxis( 'AB', CheckCollisionParameters, { bCheckOnlyRestlength = bIsDicing}) end -- se nessuna collisione trovata si ritorna lavorazione fattibile, altrimenti si proseguirà al DownUp @@ -356,14 +356,14 @@ function MachiningLib.GetBladeEngagement( Parameters, OptionalParameters) dDepthToMachine = dDepthToMachine } - bCollisionFound, bMoveAfterSplitZ = PreCollisionLib.CheckCollisionWithAxis( 'Z', CheckCollisionParameters) + bCollisionFound, bMoveAfterSplitZ = PreSimulationLib.CheckCollisionWithAxis( 'Z', CheckCollisionParameters) if not bCollisionFound then - bCollisionFound, bMoveAfterSplitC = PreCollisionLib.CheckCollisionWithAxis( 'C', CheckCollisionParameters) + bCollisionFound, bMoveAfterSplitC = PreSimulationLib.CheckCollisionWithAxis( 'C', CheckCollisionParameters) end if not bCollisionFound then - bCollisionFound, bMoveAfterSplitAB = PreCollisionLib.CheckCollisionWithAxis( 'AB', CheckCollisionParameters) + bCollisionFound, bMoveAfterSplitAB = PreSimulationLib.CheckCollisionWithAxis( 'AB', CheckCollisionParameters) end -- se si è arrivati qui senza collisioni il DownUp è fattibile diff --git a/LuaLibs/PreCollisionLib.lua b/LuaLibs/PreCollisionLib.lua index 998d0b2..45af99b 100644 --- a/LuaLibs/PreCollisionLib.lua +++ b/LuaLibs/PreCollisionLib.lua @@ -1,8 +1,8 @@ --- PreCollisionLib.lua by Egalware s.r.l. 2025/11/24 +-- PreSimulationLib.lua by Egalware s.r.l. 2025/11/24 -- Libreria stima collisioni per travi -- Tabella per definizione modulo -local PreCollisionLib = {} +local PreSimulationLib = {} -- Include require( 'EgtBase') @@ -12,7 +12,7 @@ local BeamData = require( 'BeamDataNew') -- Carico i dati globali -EgtOutLog( ' PreCollisionLib started', 1) +EgtOutLog( ' PreSimulationLib started', 1) ------------------------------------------------------------------------------------------------------------- @@ -138,8 +138,7 @@ end ------------------------------------------------------------------------------------------------------------- -- controllo collisione con verifica intersezione trimesh e geometrie da macchina --- TODO refactoring parametri in tabelle -function PreCollisionLib.CheckCollisionWithAxis( sAxis, MachiningParameters, OptionalParameters) +function PreSimulationLib.CheckCollisionWithAxis( sAxis, MachiningParameters, OptionalParameters) -- parametri obbligatori local Edge = MachiningParameters.Edge @@ -168,7 +167,7 @@ function PreCollisionLib.CheckCollisionWithAxis( sAxis, MachiningParameters, Opt -- end -- punti notevoli della lavorazione in cui fare il check - local MachiningPoints = GetMachiningPoints( Edge, dDepthToMachine) + local MachiningPoints = OptionalParameters.MachiningPoints or GetMachiningPoints( Edge, dDepthToMachine) -- punti in centro lama su naso mandrino o aggregato. In base a direzione e punto local bIsDownUp = AreOppositeVectorApprox( vtNFace, vtHead) @@ -220,7 +219,7 @@ end ------------------------------------------------------------------------------------------------------------- -- nel piano perpendicolare alla direzione di taglio, se c'è intersezione tra motore e trave c'è collisione -- ATTENZIONE NON PIU' USATA, verificare ed eliminare -function PreCollisionLib.CheckCollisionAxisAB( Edge, vtNFace, vtHead, Part, Tool, dDepthToMachine) +function PreSimulationLib.CheckCollisionAxisAB( Edge, vtNFace, vtHead, Part, Tool, dDepthToMachine) -- se direzione utensile parallela ad uno degli assi principali non serve alcuna verifica if AreSameOrOppositeVectorApprox( Edge.vtN, X_AX()) @@ -284,4 +283,4 @@ end -return PreCollisionLib \ No newline at end of file +return PreSimulationLib \ No newline at end of file diff --git a/Process.lua b/Process.lua index fc47804..448d9fc 100644 --- a/Process.lua +++ b/Process.lua @@ -46,7 +46,7 @@ _G.package.loaded.FeatureLib = nil _G.package.loaded.Identity = nil _G.package.loaded.Logs = nil _G.package.loaded.MachiningLib = nil -_G.package.loaded.PreCollisionLib = nil +_G.package.loaded.PreSimulationLib = nil -- strategie di base sempre presenti _G.package.loaded['HEADCUT\\HEADCUT'] = nil _G.package.loaded['TAILCUT\\TAILCUT'] = nil