- MachiningLib, PreSimulationLib e FACEBYBLADE modificate per introduzione check finecorsa (da completare) e check attacchi

This commit is contained in:
luca.mazzoleni
2025-12-05 18:31:35 +01:00
parent ae30cb5736
commit c18e80a70d
3 changed files with 111 additions and 54 deletions
+10 -4
View File
@@ -74,6 +74,12 @@ local function GetMachiningPoints( Edge, dDepthToMachine)
return MachiningPoints
end
-------------------------------------------------------------------------------------------------------------
function PreSimulationLib.CheckOutOfStroke()
return false
end
-------------------------------------------------------------------------------------------------------------
local function CheckCollisionPoint( ptPointToCheck, vtC, vtHead, PreCollisionData, Part, bCheckOnlyRestlength)
@@ -138,7 +144,7 @@ end
-------------------------------------------------------------------------------------------------------------
-- controllo collisione con verifica intersezione trimesh e geometrie da macchina
function PreSimulationLib.CheckCollisionWithAxis( sAxis, MachiningParameters, OptionalParameters)
local function CheckCollisionWithAxis( sAxis, MachiningParameters, OptionalParameters)
-- parametri obbligatori
local Edge = MachiningParameters.Edge
@@ -230,7 +236,7 @@ function PreSimulationLib.CheckCollision( sBladeEngagement, Parameters, Optional
OptionalParametersCheckCollisionWithAxis.MachiningPoints = OptionalParameters.MachiningPoints or nil
-- asse Z si controlla sempre
bCollisionFound, bMoveAfterSplitZ = PreSimulationLib.CheckCollisionWithAxis( 'Z', Parameters, OptionalParametersCheckCollisionWithAxis)
bCollisionFound, bMoveAfterSplitZ = 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
@@ -238,11 +244,11 @@ function PreSimulationLib.CheckCollision( sBladeEngagement, Parameters, Optional
end
if not bCollisionFound then
bCollisionFound, bMoveAfterSplitAB = PreSimulationLib.CheckCollisionWithAxis( 'AB', Parameters, OptionalParametersCheckCollisionWithAxis)
bCollisionFound, bMoveAfterSplitAB = CheckCollisionWithAxis( 'AB', Parameters, OptionalParametersCheckCollisionWithAxis)
end
if not bCollisionFound then
bCollisionFound, bMoveAfterSplitC = PreSimulationLib.CheckCollisionWithAxis( 'C', Parameters, OptionalParametersCheckCollisionWithAxis)
bCollisionFound, bMoveAfterSplitC = CheckCollisionWithAxis( 'C', Parameters, OptionalParametersCheckCollisionWithAxis)
end
local bMoveAfterSplit = bMoveAfterSplitZ or bMoveAfterSplitC or bMoveAfterSplitAB