- PreCollisionLib rinominata PreSimulationLib

This commit is contained in:
luca.mazzoleni
2025-12-05 10:01:33 +01:00
parent 56ca5a74b9
commit 69c31e4c2b
4 changed files with 16 additions and 17 deletions
+1 -1
View File
@@ -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
+7 -7
View File
@@ -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
+7 -8
View File
@@ -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
return PreSimulationLib
+1 -1
View File
@@ -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