- MachiningLib.CheckCollision spostata in PreSimulationLib

This commit is contained in:
luca.mazzoleni
2025-12-05 12:03:36 +01:00
parent f426311b28
commit cd586673c7
2 changed files with 37 additions and 34 deletions
+35
View File
@@ -216,6 +216,41 @@ function PreSimulationLib.CheckCollisionWithAxis( sAxis, MachiningParameters, Op
return false, bMoveAfterSplit
end
-------------------------------------------------------------------------------------------------------------
function PreSimulationLib.CheckCollision( sBladeEngagement, Parameters, OptionalParameters)
local bCollisionFound
local bMoveAfterSplitZ, bMoveAfterSplitC, bMoveAfterSplitAB
-- parametri opzionali, in parte da far transitare
OptionalParameters = OptionalParameters or {}
local OptionalParametersCheckCollisionWithAxis = {}
OptionalParametersCheckCollisionWithAxis.bCheckOnlyRestlength = false
if OptionalParameters.MachiningPoints then
OptionalParametersCheckCollisionWithAxis.MachiningPoints = BeamLib.TableCopyDeep( OptionalParameters.MachiningPoints)
end
-- asse Z si controlla sempre
bCollisionFound, bMoveAfterSplitZ = PreSimulationLib.CheckCollisionWithAxis( 'Z', Parameters, OptionalParametersCheckCollisionWithAxis)
-- se cubetti in modalità standard (no DownUp), gli assi AB e C si controllano solo con grezzo (ci sarebbe collisione con il materiale già rimosso controllando AB e C con pezzo)
if sBladeEngagement == 'Standard' then
OptionalParametersCheckCollisionWithAxis.bCheckOnlyRestlength = OptionalParameters.bIsDicing or false
end
if not bCollisionFound then
bCollisionFound, bMoveAfterSplitAB = PreSimulationLib.CheckCollisionWithAxis( 'AB', Parameters, OptionalParametersCheckCollisionWithAxis)
end
if not bCollisionFound then
bCollisionFound, bMoveAfterSplitC = PreSimulationLib.CheckCollisionWithAxis( 'C', Parameters, OptionalParametersCheckCollisionWithAxis)
end
local bMoveAfterSplit = bMoveAfterSplitZ or bMoveAfterSplitC or bMoveAfterSplitAB
return bCollisionFound, bMoveAfterSplit
end
-------------------------------------------------------------------------------------------------------------
-- nel piano perpendicolare alla direzione di taglio, se c'è intersezione tra motore e trave c'è collisione
-- ATTENZIONE NON PIU' USATA, verificare ed eliminare