diff --git a/LuaLibs/MachiningLib.lua b/LuaLibs/MachiningLib.lua index 8c1991f..25124bf 100644 --- a/LuaLibs/MachiningLib.lua +++ b/LuaLibs/MachiningLib.lua @@ -320,13 +320,7 @@ local function TestEngagement( sBladeEngagement, Parameters, OptionalParameters) local CheckCollisionOptionalParameters = BeamLib.TableCopyDeep( OptionalParameters or {}) - local CheckOutOfStrokeParameters = { - Edge = Edge, - vtNFace = Face.vtN, - vtHead = vtHead, - Tool = Tool, - nSCC = Tool.SetupInfo.GetSCC( Edge.vtN, Edge.vtEdge, Face.vtN) - } + local nSCC = Tool.SetupInfo.GetSCC( Edge.vtN, Edge.vtEdge, Face.vtN) -- check punti lavorazione -- lavorazione oltre le corse: non fattibile @@ -334,7 +328,7 @@ local function TestEngagement( sBladeEngagement, Parameters, OptionalParameters) PreSimulationLib.GetPointOnToolTipCenter( Edge.ptStart + Edge.vtN * ( Edge.dElevation - dDepthToMachine), vtHead, Face.vtN, Edge.vtN, Tool), PreSimulationLib.GetPointOnToolTipCenter( Edge.ptEnd + Edge.vtN * ( Edge.dElevation - dDepthToMachine), vtHead, Face.vtN, Edge.vtN, Tool) } - local bOutOfStroke = PreSimulationLib.CheckOutOfStroke( PointsOnToolTipCenter, CheckOutOfStrokeParameters) + local bOutOfStroke = PreSimulationLib.CheckOutOfStroke( PointsOnToolTipCenter, vtHead, nSCC, Tool) if bOutOfStroke then return false end @@ -355,7 +349,7 @@ local function TestEngagement( sBladeEngagement, Parameters, OptionalParameters) PreSimulationLib.GetPointOnToolTipCenter( PerpendicularLeadInOut.LeadIn.ptPoint, vtHead, Face.vtN, Edge.vtN, Tool), PreSimulationLib.GetPointOnToolTipCenter( PerpendicularLeadInOut.LeadOut.ptPoint, vtHead, Face.vtN, Edge.vtN, Tool) } - local bOutOfStrokePerpendicular = PreSimulationLib.CheckOutOfStroke( PointsOnToolTipCenter, CheckOutOfStrokeParameters) + local bOutOfStrokePerpendicular = PreSimulationLib.CheckOutOfStroke( PointsOnToolTipCenter, vtHead, nSCC, Tool) -- se non è in extracorsa si aggiunge come attacco possibile if not bOutOfStrokePerpendicular then LeadInOut.Perpendicular = PerpendicularLeadInOut @@ -378,7 +372,7 @@ local function TestEngagement( sBladeEngagement, Parameters, OptionalParameters) PreSimulationLib.GetPointOnToolTipCenter( TangentLeadInOut.LeadIn.ptPoint, vtHead, Face.vtN, Edge.vtN, Tool), PreSimulationLib.GetPointOnToolTipCenter( TangentLeadInOut.LeadOut.ptPoint, vtHead, Face.vtN, Edge.vtN, Tool) } - local bOutOfStrokeTangent = PreSimulationLib.CheckOutOfStroke( PointsOnToolTipCenter, CheckOutOfStrokeParameters) + local bOutOfStrokeTangent = PreSimulationLib.CheckOutOfStroke( PointsOnToolTipCenter, vtHead, nSCC, Tool) -- attacco tangenziale non in extracorsa: si verifica se è in collisione if not bOutOfStrokeTangent then local bCollisionFoundTangent, bMoveAfterSplitTangent = PreSimulationLib.CheckCollision( sBladeEngagement, CheckCollisionParameters, CheckCollisionOptionalParameters) -- TODO passare punti custom attacco tangenziale diff --git a/LuaLibs/PreSimulationLib.lua b/LuaLibs/PreSimulationLib.lua index 9cdeac8..3711407 100644 --- a/LuaLibs/PreSimulationLib.lua +++ b/LuaLibs/PreSimulationLib.lua @@ -217,12 +217,7 @@ end ------------------------------------------------------------------------------------------------------------- -- check extracorsa -function PreSimulationLib.CheckOutOfStroke( PointsOnToolTipCenter, Parameters) - - -- parametri obbligatori - local vtHead = Parameters.vtHead - local Tool = Parameters.Tool - local nSCC = Parameters.nSCC +function PreSimulationLib.CheckOutOfStroke( PointsOnToolTipCenter, vtHead, nSCC, Tool) -- check collisione sui punti in centro lama su naso mandrino o aggregato. In base a direzione e punto for i = 1, #PointsOnToolTipCenter do